Tengo un problema con este codigo ya que no me actualiza los valores del termopar en el caso 2
alguien podria ayudarme
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Encoder.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <max6675.h>
#define ONE_WIRE_BUS 10
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
int thermoDO1 = 5; // Pin SO del MAX6675 al pin digital
int thermoCS1 = 6; // Pin CS del MAX6675 al pin digital
int thermoCLK1 = 7; // Pin SCK del MAX6675 al pin digital
int thermoDO2 = 8; // Pin SO del MAX6675 al pin digital
int thermoCS2 = 9; // Pin CS del MAX6675 al pin digital
int thermoCLK2 = 10; // Pin SCK del MAX6675 al pin digital (puede compartir CLK)
int thermoDO3 = 34; // Pin SO del MAX6675 al pin digital
int thermoCS3 = 36; // Pin CS del MAX6675 al pin digital
int thermoCLK3 = 38; // Pin SCK del MAX6675 al pin digital (puede compartir CLK)
int thermoDO4 = 28; // Pin SO del MAX6675 al pin digital
int thermoCS4 = 30; // Pin CS del MAX6675 al pin digital
int thermoCLK4 = 32; // Pin SCK del MAX6675 al pin digital (puede compartir CLK)
// Instancias de termopares
MAX6675 thermocouple1(thermoCLK1, thermoCS1, thermoDO1);
MAX6675 thermocouple2(thermoCLK2, thermoCS2, thermoDO2);
MAX6675 thermocouple3(thermoCLK3, thermoCS3, thermoDO3);
MAX6675 thermocouple4(thermoCLK4, thermoCS4, thermoDO4);
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
Encoder encoder(2, 3); // CLK a pin 2, DT a pin 3
const unsigned char PROGMEM imagen[] = {
0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x81, 0xfe, 0xff, 0x81, 0xf8, 0xf1, 0xbf, 0xf0, 0x7f, 0xfe, 0x0c, 0xff, 0x87, 0xf8, 0xfe, 0x01,
0x81, 0xfe, 0xff, 0xc3, 0xfc, 0xf9, 0xbf, 0xf0, 0x7f, 0xef, 0x0d, 0xff, 0xc7, 0xf9, 0xff, 0x81,
0x81, 0xc0, 0xe0, 0xe7, 0x86, 0xf9, 0x87, 0x80, 0x07, 0x07, 0x99, 0xe1, 0xc7, 0x01, 0xe0, 0x01,
0x81, 0xfe, 0xff, 0xc7, 0x06, 0xfd, 0x87, 0x80, 0x07, 0x03, 0xf1, 0xff, 0xc7, 0xf9, 0xff, 0x01,
0x81, 0xfe, 0xff, 0x87, 0x06, 0xdf, 0x87, 0x80, 0x07, 0x01, 0xe1, 0xff, 0x87, 0xf8, 0xff, 0x81,
0x81, 0xc0, 0xfc, 0x17, 0x86, 0xcf, 0x87, 0x80, 0x07, 0x01, 0xe1, 0xfc, 0x37, 0x00, 0x07, 0x81,
0x81, 0xc0, 0xef, 0xf3, 0xfc, 0xcf, 0x87, 0x80, 0x07, 0x01, 0xe1, 0xef, 0xf7, 0xf9, 0xc3, 0x81,
0x81, 0xc0, 0xe3, 0xe1, 0xf8, 0xc7, 0x87, 0x80, 0x07, 0x01, 0xe1, 0xe7, 0xe7, 0xfc, 0xff, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x3f, 0xe1, 0xff, 0x0f, 0x0f, 0xf8, 0x03, 0xff, 0xf0, 0x6f, 0xfc, 0x3f, 0xc7, 0xf0, 0x01,
0x80, 0x3f, 0xf1, 0xff, 0x1f, 0x0f, 0xfe, 0x03, 0xff, 0x78, 0xef, 0xfe, 0x3f, 0xcf, 0xf8, 0x01,
0x80, 0x38, 0x79, 0xc0, 0x1f, 0x8e, 0x0e, 0x00, 0x38, 0x3c, 0xcf, 0x0e, 0x38, 0x0f, 0x00, 0x01,
0x80, 0x3f, 0xf1, 0xfe, 0x33, 0x8f, 0xfe, 0x00, 0x38, 0x1d, 0x8f, 0xfe, 0x3f, 0xcf, 0xf8, 0x01,
0x80, 0x3f, 0xe1, 0xfe, 0x33, 0xcf, 0xfc, 0x00, 0x38, 0x1f, 0x0f, 0xfc, 0x3f, 0xc7, 0xfc, 0x01,
0x80, 0x3f, 0x05, 0xc0, 0x7f, 0xcf, 0xe1, 0x00, 0x38, 0x0f, 0x0f, 0xe1, 0xb8, 0x00, 0x3c, 0x01,
0x80, 0x3b, 0xfd, 0xff, 0x61, 0xee, 0xff, 0x00, 0x38, 0x0e, 0x0f, 0x7f, 0xbf, 0xce, 0x1c, 0x01,
0x80, 0x39, 0xf9, 0xff, 0x61, 0xee, 0x3e, 0x00, 0x38, 0x0e, 0x0f, 0x3f, 0x3f, 0xc7, 0xf8, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc
// Aquí va la información de la imagen en formato byte
};
const unsigned char PROGMEM brake_temp[] = {
0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x83, 0x9c, 0x31, 0x13, 0x81, 0x0e, 0x73, 0x82, 0x4e, 0x70, 0xc4, 0x4e, 0x07, 0x11, 0xc9, 0x39,
0x82, 0x12, 0x49, 0x91, 0x01, 0x08, 0x41, 0x02, 0x48, 0x49, 0x26, 0x44, 0x04, 0x92, 0x09, 0x11,
0x83, 0x9c, 0x49, 0x51, 0x01, 0x0e, 0x71, 0x02, 0x4e, 0x71, 0x25, 0x44, 0x07, 0x12, 0xcf, 0x11,
0x82, 0x14, 0x49, 0x31, 0x01, 0x08, 0x41, 0x02, 0x48, 0x51, 0x24, 0xc4, 0x05, 0x12, 0x49, 0x11,
0x82, 0x12, 0x31, 0x11, 0x01, 0xce, 0x41, 0x02, 0x48, 0x48, 0xc4, 0x44, 0x04, 0x91, 0x89, 0x11,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x70, 0xc3, 0x12, 0x04, 0x39, 0xce, 0x02, 0x41, 0xc3, 0x0c, 0x48, 0x1c, 0x47, 0x24, 0xe1,
0x80, 0x49, 0x24, 0x94, 0x04, 0x21, 0x04, 0x02, 0x41, 0x24, 0x92, 0x50, 0x12, 0x48, 0x24, 0x41,
0x80, 0x79, 0xe4, 0x18, 0x04, 0x39, 0xc4, 0x02, 0x41, 0xe7, 0x90, 0x60, 0x1c, 0x4b, 0x3c, 0x41,
0x80, 0x49, 0x24, 0x94, 0x04, 0x21, 0x04, 0x02, 0x41, 0x24, 0x92, 0x50, 0x14, 0x49, 0x24, 0x41,
0x80, 0x71, 0x23, 0x12, 0x07, 0x39, 0x04, 0x02, 0x41, 0xc4, 0x8c, 0x48, 0x12, 0x46, 0x24, 0x41,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
// Aquí va la información de la imagen en formato byte
};
const unsigned char PROGMEM spoon[] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xc0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xe0, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xe0, 0x7f, 0xfe, 0x03, 0xfc, 0x0f, 0xe0,
0xff, 0xff, 0xc0, 0x00, 0x00, 0x03, 0x80, 0x07, 0xff, 0x80, 0x3f, 0xf8, 0x01, 0xfc, 0x0f, 0xc0,
0xff, 0xff, 0x80, 0x00, 0x00, 0x03, 0x00, 0x01, 0xfe, 0x00, 0x1f, 0xf0, 0x00, 0xfc, 0x07, 0xc0,
0xff, 0xff, 0x80, 0x00, 0x00, 0x03, 0x00, 0x01, 0xfc, 0x00, 0x1f, 0xe0, 0x00, 0xfc, 0x07, 0xc0,
0xff, 0xff, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xf8, 0x00, 0x0f, 0xc0, 0x00, 0x78, 0x07, 0xc0,
0xff, 0xfe, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xf0, 0x00, 0x0f, 0x80, 0x00, 0x78, 0x07, 0xc1,
0xff, 0xfe, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xf0, 0x00, 0x0f, 0x80, 0x00, 0x78, 0x07, 0x81,
0xff, 0xfc, 0x00, 0x06, 0x00, 0x02, 0x03, 0x80, 0xe0, 0x3c, 0x07, 0x01, 0xe0, 0x38, 0x03, 0x81,
0xff, 0xfc, 0x00, 0x3f, 0x80, 0x02, 0x07, 0xc0, 0xc0, 0x7c, 0x06, 0x03, 0xe0, 0x38, 0x03, 0x81,
0xff, 0xf8, 0x00, 0x7f, 0xc0, 0x02, 0x07, 0xc0, 0xc0, 0xfc, 0x06, 0x07, 0xe0, 0x30, 0x03, 0x83,
0xff, 0xf8, 0x00, 0x7f, 0xc0, 0x02, 0x07, 0xc0, 0xc0, 0xfe, 0x06, 0x07, 0xf0, 0x30, 0x03, 0x03,
0xff, 0xf8, 0x00, 0x7f, 0xc0, 0x00, 0x07, 0xc0, 0x81, 0xfe, 0x04, 0x0f, 0xf0, 0x30, 0x03, 0x03,
0xff, 0xf0, 0x00, 0x7f, 0xff, 0xfc, 0x0f, 0x81, 0x81, 0xfc, 0x04, 0x0f, 0xe0, 0x30, 0x01, 0x03,
0xff, 0xf0, 0x00, 0x7f, 0xff, 0xfc, 0x0f, 0x01, 0x81, 0xfc, 0x0c, 0x0f, 0xe0, 0x60, 0x01, 0x03,
0xff, 0xf0, 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x03, 0x01, 0xfc, 0x08, 0x0f, 0xe0, 0x60, 0x00, 0x07,
0xff, 0xf0, 0x00, 0x1f, 0xff, 0xfc, 0x00, 0x03, 0x03, 0xfc, 0x08, 0x1f, 0xe0, 0x60, 0x40, 0x07,
0xff, 0xe0, 0x00, 0x07, 0xff, 0xf8, 0x00, 0x07, 0x03, 0xfc, 0x08, 0x1f, 0xe0, 0x60, 0x40, 0x07,
0xff, 0xe0, 0x00, 0x01, 0xff, 0xf8, 0x00, 0x0f, 0x03, 0xf8, 0x18, 0x1f, 0xc0, 0xe0, 0xc0, 0x07,
0xff, 0xe0, 0x00, 0x00, 0x7f, 0xf8, 0x00, 0x1f, 0x03, 0xf8, 0x18, 0x1f, 0xc0, 0xc0, 0xc0, 0x07,
0xff, 0xe0, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x3f, 0x03, 0xf8, 0x18, 0x1f, 0xc0, 0xc0, 0xe0, 0x0f,
0xff, 0xe0, 0x00, 0x00, 0x07, 0xf8, 0x1f, 0xff, 0x03, 0xf0, 0x38, 0x1f, 0x81, 0xc0, 0xe0, 0x0f,
0xff, 0xe0, 0x00, 0x00, 0x03, 0xf0, 0x3f, 0xff, 0x01, 0xe0, 0x38, 0x1f, 0x01, 0xc0, 0xe0, 0x0f,
0xff, 0xe0, 0x00, 0x00, 0x01, 0xf0, 0x3f, 0xff, 0x01, 0xc0, 0x78, 0x0e, 0x03, 0xc1, 0xe0, 0x0f,
0xff, 0xe0, 0x00, 0x00, 0x01, 0xf0, 0x3f, 0xff, 0x00, 0x00, 0x78, 0x00, 0x03, 0x81, 0xf0, 0x1f,
0xff, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x00, 0x07, 0x81, 0xf0, 0x1f,
0xff, 0xf0, 0x00, 0x00, 0x00, 0xe0, 0x3f, 0xff, 0x80, 0x01, 0xf8, 0x00, 0x0f, 0x81, 0xf0, 0x1f,
0xff, 0xf0, 0x00, 0x00, 0x00, 0xe0, 0x7f, 0xff, 0x80, 0x03, 0xfc, 0x00, 0x1f, 0x81, 0xf0, 0x1f,
0xff, 0xf8, 0x00, 0x00, 0x00, 0xe0, 0x7f, 0xff, 0xc0, 0x07, 0xfe, 0x00, 0x3f, 0x03, 0xf0, 0x1f,
0xff, 0xfc, 0x00, 0x00, 0x00, 0x60, 0x7f, 0xff, 0xe0, 0x0f, 0xff, 0x00, 0x7f, 0x83, 0xf8, 0x3f,
0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xc0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf8, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfe, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
0xff, 0xff, 0xff, 0x80, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xe0, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0x00, 0xff, 0xe0, 0x01, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0x00, 0xff, 0xe0, 0x03, 0xf8, 0x1e, 0x00, 0xfe, 0x03, 0xc0, 0x06, 0x00, 0x0e, 0x07, 0xff,
0xf0, 0x00, 0xff, 0xc0, 0x03, 0xe0, 0x0e, 0x00, 0x38, 0x01, 0xc0, 0x06, 0x00, 0x1c, 0x03, 0xff,
0xe0, 0x00, 0xff, 0xc0, 0x03, 0xc0, 0x0e, 0x00, 0x30, 0x01, 0xc0, 0x02, 0x00, 0x18, 0x01, 0xff,
0xe0, 0x00, 0x7f, 0x80, 0x07, 0xc0, 0x0c, 0x00, 0x20, 0x41, 0xc0, 0x06, 0x00, 0x10, 0x01, 0xff,
0xe0, 0x00, 0x3e, 0x00, 0x07, 0x87, 0x0c, 0x3c, 0x21, 0xe0, 0x83, 0x87, 0xc3, 0xf0, 0xe1, 0xff,
0xe0, 0x00, 0x18, 0x00, 0x0f, 0x83, 0xfc, 0x3c, 0x01, 0xe0, 0x87, 0x87, 0xc3, 0xe0, 0xff, 0xff,
0xe0, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x7c, 0x38, 0x03, 0xe1, 0x87, 0x0f, 0xc3, 0xe0, 0x1f, 0xff,
0xe0, 0x00, 0x00, 0x00, 0x1f, 0x80, 0x38, 0x00, 0x03, 0xe1, 0x80, 0x0f, 0x83, 0xe0, 0x07, 0xff,
0xe0, 0x00, 0x00, 0x00, 0x1f, 0x80, 0x18, 0x00, 0x87, 0xe1, 0x00, 0x1f, 0x87, 0xf0, 0x07, 0xff,
0xe0, 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x18, 0x00, 0x87, 0xe1, 0x00, 0x1f, 0x87, 0xf8, 0x03, 0xff,
0xe0, 0x00, 0x00, 0x00, 0x7f, 0xf8, 0x18, 0x03, 0x87, 0xc3, 0x00, 0x0f, 0x87, 0xff, 0x03, 0xff,
0xf0, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x10, 0x7f, 0x87, 0x83, 0x0e, 0x1f, 0x07, 0xff, 0x87, 0xff,
0xf0, 0x00, 0x00, 0x01, 0xfe, 0x1e, 0x10, 0xff, 0x83, 0x06, 0x0e, 0x1f, 0x07, 0x83, 0x87, 0xff,
0xf0, 0x00, 0x00, 0x01, 0xfe, 0x00, 0x30, 0xff, 0x80, 0x06, 0x1e, 0x1f, 0x0f, 0x80, 0x07, 0xff,
0xf8, 0x00, 0x00, 0x07, 0xfe, 0x00, 0x30, 0xff, 0xc0, 0x0e, 0x1e, 0x1f, 0x0f, 0xc0, 0x0f, 0xff,
0xfc, 0x00, 0x00, 0x0f, 0xff, 0x00, 0x61, 0xff, 0xc0, 0x3c, 0x1e, 0x1e, 0x0f, 0xc0, 0x1f, 0xff,
0xfe, 0x00, 0x00, 0x1f, 0xff, 0x81, 0xfd, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x7f, 0xff,
0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xc0, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
const unsigned char PROGMEM civic[] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0xff, 0xdf, 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf8, 0xf0, 0x00, 0xe0, 0x00, 0x00, 0x01, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf8, 0x07, 0x04, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf3, 0x98, 0x08, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0, 0x00, 0x18, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0, 0x00, 0x10, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf1, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf2, 0x3f, 0xa3, 0xff, 0x90, 0x00, 0x70, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf4, 0x7f, 0x23, 0xff, 0x92, 0x01, 0xfe, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xe8, 0xff, 0x47, 0xe0, 0x93, 0x01, 0xff, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xd9, 0xfe, 0x47, 0xc0, 0x1b, 0x00, 0xff, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xd1, 0xfe, 0xcf, 0xa0, 0x09, 0x80, 0x60, 0x80, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff,
0xff, 0xb3, 0xfe, 0x8f, 0x80, 0x09, 0x80, 0x40, 0xc0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff,
0xff, 0x63, 0xfc, 0x8f, 0xc0, 0x09, 0x80, 0xc0, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0xff, 0x47, 0xfd, 0x9f, 0x40, 0x0c, 0xc0, 0x00, 0x20, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff,
0xfe, 0xc7, 0xfd, 0x9e, 0xc7, 0xf4, 0xc3, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff,
0xfd, 0xc0, 0xf9, 0x00, 0xcf, 0xf6, 0x8f, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff,
0xf9, 0xe0, 0x01, 0x01, 0xcc, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff,
0xfb, 0xfc, 0x03, 0x01, 0xcf, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff,
0xf0, 0x07, 0xf3, 0x00, 0x07, 0xe1, 0xf1, 0xf8, 0x0f, 0xff, 0xff, 0xfe, 0x00, 0x7f, 0xff, 0xff,
0xe0, 0x00, 0x03, 0xff, 0x00, 0x03, 0xfe, 0x7f, 0x80, 0xff, 0xff, 0xff, 0xe1, 0x07, 0xff, 0xff,
0xe0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xcf, 0xf0, 0x1f, 0xc0, 0x00, 0x3c, 0x70, 0xff, 0xff,
0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf9, 0xff, 0x07, 0xf0, 0x00, 0x03, 0x1f, 0x1f, 0xff,
0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x73, 0xc0, 0xff, 0xf0, 0x00, 0xc7, 0xe7, 0xff,
0xcf, 0xff, 0xef, 0xc0, 0x00, 0x00, 0x00, 0x1f, 0xc8, 0x38, 0x7f, 0xff, 0x00, 0x32, 0x79, 0xff,
0xcf, 0xff, 0xef, 0xff, 0xff, 0xe6, 0x00, 0x03, 0xf6, 0x03, 0x1f, 0xff, 0xe0, 0x0d, 0x0e, 0x7f,
0xdf, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xf9, 0x00, 0xcf, 0xff, 0xfc, 0x06, 0x83, 0x3f,
0x9f, 0xff, 0xef, 0xff, 0xff, 0xef, 0xff, 0xff, 0xfe, 0xc0, 0x37, 0xff, 0xff, 0x03, 0xc1, 0xdf,
0x9f, 0xff, 0xff, 0xff, 0xff, 0xef, 0xbf, 0xff, 0xe2, 0x7f, 0xff, 0xff, 0xff, 0xc1, 0xc1, 0xef,
0xbf, 0xff, 0xff, 0xff, 0xff, 0xef, 0x63, 0xff, 0x80, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xce, 0x0f,
0xb8, 0xff, 0xff, 0xff, 0xff, 0xef, 0x80, 0xff, 0x00, 0x7c, 0x01, 0xff, 0xff, 0xff, 0xf3, 0xd7,
0x30, 0x7f, 0xff, 0xff, 0xff, 0xef, 0x00, 0x7f, 0x70, 0x07, 0x18, 0xff, 0xff, 0xff, 0xfd, 0xf7,
0x66, 0x3f, 0xdf, 0xff, 0xff, 0xef, 0x1c, 0x3e, 0x7f, 0x01, 0x8c, 0x2f, 0xff, 0xff, 0xe9, 0x83,
0xc8, 0x3f, 0xdf, 0xff, 0xff, 0xee, 0x20, 0x00, 0x0f, 0x60, 0xcf, 0x80, 0x00, 0x00, 0x02, 0x3b,
0xc8, 0x3f, 0xdf, 0xff, 0xff, 0xec, 0x60, 0x30, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x04, 0x69,
0xdd, 0x10, 0x00, 0x00, 0x00, 0x0c, 0x56, 0x10, 0x1f, 0xfc, 0x00, 0xff, 0xff, 0xff, 0xfb, 0x80,
0x95, 0x98, 0x00, 0x00, 0x00, 0x00, 0xd6, 0x10, 0x00, 0x0f, 0xff, 0xca, 0x00, 0x00, 0x00, 0x00,
0x95, 0x0f, 0xdf, 0xff, 0x00, 0x04, 0xf6, 0x0b, 0xff, 0xff, 0xdc, 0x00, 0x0f, 0xff, 0xff, 0xfe,
0x90, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x96, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
0x1a, 0x8f, 0xef, 0xc0, 0x00, 0x08, 0x80, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
0x1f, 0x87, 0x00, 0x00, 0x00, 0x00, 0xa9, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe,
0x1f, 0x80, 0x00, 0x00, 0x00, 0x00, 0xaf, 0x0f, 0xff, 0xe0, 0x02, 0x00, 0x00, 0x00, 0x06, 0x02,
0x9a, 0x80, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x07, 0xff, 0xc0, 0x06, 0x00, 0x00, 0x00, 0x02, 0x06,
0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x07, 0xff, 0xc0, 0x0f, 0x46, 0x58, 0x21, 0x82, 0x06,
0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa9, 0x07, 0xff, 0xc0, 0x0f, 0x00, 0x00, 0x00, 0x02, 0x06,
0x90, 0x00, 0x7b, 0xfe, 0x00, 0x00, 0x80, 0x07, 0xff, 0xe0, 0x03, 0x06, 0x08, 0x21, 0x04, 0x06,
0x97, 0x00, 0x00, 0x1f, 0xff, 0xf8, 0x96, 0x07, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x0f, 0xfd,
0x84, 0x07, 0xff, 0xff, 0x00, 0x00, 0xb6, 0x07, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x0f, 0xff,
0x81, 0x01, 0xff, 0xff, 0xff, 0xf8, 0xd6, 0x05, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x06, 0x00,
0xc4, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0xd6, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xfe,
0xe2, 0x00, 0xc0, 0x00, 0x07, 0xf8, 0x40, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x06,
0xe0, 0x01, 0xff, 0xff, 0xf0, 0x00, 0x60, 0x07, 0xff, 0xe0, 0x07, 0x60, 0x00, 0x00, 0x3a, 0x02,
0x00, 0x00, 0x00, 0x3f, 0xff, 0xfc, 0x38, 0x07, 0xff, 0xe0, 0x07, 0x80, 0x00, 0x00, 0x1f, 0xfe,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x60, 0x00, 0x00, 0x00, 0x01,
0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe0, 0x00, 0x7f,
0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
//sensores y encoder pin
const int sensorPin = A5;
const int sensorPin2 = A6;
const int waterTempPin = A2;
const int oilPressurePin = A7;
const int oilTempPin = A4;
const int buzzerPin = 8;
const int buttonPin = 4; // Pin del botón del encoder
const int afrPin = A0; // Pin analógico al que está conectada la sonda AFR
const float voltageMin = 0.5;
const float voltageMax = 4.5;
const float pressureMax = 1600;
int sensorValue1 = 0;
float sensorVoltage1 = 0.0;
float pressure1 = 0.0;
float temp5 = 0.0;
float waterTemp = 0.0;
float oilPressure = 0.0;
float oilTemp = 0.0;
int sensorValue2 = 0;
float sensorVoltage2 = 0.0;
float pressure2 = 0.0;
int lastPosition = 0;
int currentPage = 0;
const int menuSections = 5;
enum State {
MENU_VERTICAL,
PAGINA
};
State currentState = MENU_VERTICAL;
unsigned long lastButtonPress = 0;
const unsigned long debounceDelay = 200; // Ajusta el tiempo de debounce
const int encoderThreshold = 6; // Número de pasos del encoder para considerar un cambio
bool buttonWasPressed = false;
void mostrarMenuVertical() {
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
for (int i = 0; i < menuSections; i++) {
if (i == currentPage) {
display.fillRect(0, i * 12, SCREEN_WIDTH, 12, SSD1306_WHITE);
display.setTextColor(SSD1306_BLACK);
} else {
display.setTextColor(SSD1306_WHITE);
}
display.setCursor(10, i * 12);
switch (i) {
{case 0:
display.print("BRAKE BIAS");
break;}
{case 1:
display.print("BRAKE PORCENTAGE");
break;}
{case 2:
display.print("BRAKE TEMP");
break;}
{case 3:
display.print("GAUGES");
break;}
{case 4:
display.print("AFR");
break;}
{case 5:
display.print("EMPTY");
break;}
}
}
display.display();
}
void actualizarTemperaturas() {
// Actualizar lecturas de termopares MAX6675
float temp1 = thermocouple1.readCelsius();
float temp2 = thermocouple2.readCelsius();
float temp3 = thermocouple3.readCelsius();
float temp4 = thermocouple4.readCelsius();
// Actualizar lecturas del sensor Dallas
sensors.requestTemperatures();
temp5 = constrain(sensors.getTempCByIndex(0), -1000, 1000);
}
void mostrarPagina(int pageNumber) {
display.clearDisplay();
switch (pageNumber) {
{case 0:
display.drawBitmap(0, 0, imagen, SCREEN_WIDTH, SCREEN_HEIGHT, SSD1306_WHITE);
sensorValue1 = analogRead(sensorPin);
sensorVoltage1 = sensorValue1 * (4.5 / 1023.0);
pressure1 = (sensorVoltage1 >= voltageMin) ? ((sensorVoltage1 - voltageMin) / (voltageMax - voltageMin)) * pressureMax : 0.0;
display.setCursor(36, 17);
display.print(pressure1, 2);
display.println(" PSI");
sensorValue2 = analogRead(sensorPin2);
sensorVoltage2 = sensorValue2 * (4.5 / 1023.0);
pressure2 = (sensorVoltage2 >= voltageMin) ? ((sensorVoltage2 - voltageMin) / (voltageMax - voltageMin)) * pressureMax : 0.0;
display.setCursor(36, 51);
display.print(pressure2, 2);
display.println(" PSI");
break;}
{case 1:
display.drawBitmap(0, 0, imagen, SCREEN_WIDTH, SCREEN_HEIGHT, SSD1306_WHITE);
// Leer y calcular presión 1
int sensorValue1 = analogRead(sensorPin);
float sensorVoltage1 = sensorValue1 * (4.5 / 1023.0);
float pressure1 = (sensorVoltage1 >= voltageMin) ? ((sensorVoltage1 - voltageMin) / (voltageMax - voltageMin)) * pressureMax : 0.0;
// Leer y calcular presión 2
int sensorValue2 = analogRead(sensorPin2);
float sensorVoltage2 = sensorValue2 * (4.5 / 1023.0);
float pressure2 = (sensorVoltage2 >= voltageMin) ? ((sensorVoltage2 - voltageMin) / (voltageMax - voltageMin)) * pressureMax : 0.0;
// Calcular presión total
float totalPressure = pressure1 + pressure2;
// Calcular porcentajes
float percentage1 = (totalPressure > 0) ? (pressure1 / totalPressure) * 100.0 : 0.0;
float percentage2 = (totalPressure > 0) ? (pressure2 / totalPressure) * 100.0 : 0.0;
// Mostrar los resultados en la pantalla OLED
display.setCursor(0, 0);
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(40, 17);
display.print(percentage1, 2);
display.println("%");
display.setCursor(40, 51);
display.print(percentage2, 2);
display.println("%");
display.display();
break;}
{case 2:
// Actualizar las temperaturas de los sensores
sensors.requestTemperatures(); // Para el sensor Dallas
float temp1 = thermocouple1.readCelsius();
float temp2 = thermocouple2.readCelsius();
float temp3 = thermocouple3.readCelsius();
float temp4 = thermocouple4.readCelsius();
// Limpiar la pantalla
display.clearDisplay();
// Dibujar encabezado o imagen si es necesario
display.drawBitmap(0, 0, brake_temp, SCREEN_WIDTH, SCREEN_HEIGHT, SSD1306_WHITE);
// Mostrar temperaturas de los termopares
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(10, 17);
if (isnan(temp1)) {
display.print("C1: Error");
} else {
display.print(temp1);
display.println(" C");
}
display.setCursor(73, 17);
if (isnan(temp2)) {
display.print("C2: Error");
} else {
display.print(temp2);
display.println(" C");
}
display.setCursor(10, 49);
if (isnan(temp3)) {
display.print("C3: Error");
} else {
display.print(temp3);
display.println(" C");
}
display.setCursor(73, 49);
if (isnan(temp4)) {
display.print("C4: Error");
} else {
display.print(temp4);
display.println(" C");
}
// Actualizar el display
display.display();
break;}
{case 3:
sensors.requestTemperatures();
temp5 = constrain(sensors.getTempCByIndex(0), -1000, 1000); // Corregido
waterTemp = analogRead(waterTempPin) * 0.488;
oilPressure = analogRead(oilPressurePin) * 0.488;
oilTemp = analogRead(oilTempPin) * 0.488;
display.setCursor(1, 2);
display.setTextSize(1.8);
display.print("EXHAUT TEMP: ");
display.print(temp5);
display.setCursor(1, 18);
display.print("ASIST TEMP: ");
display.print(waterTemp);
display.setCursor(1, 36);
display.print("FUEL PRESS: ");
display.print(oilPressure);
display.setCursor(1, 54);
display.print("GEARBOX TEMP:");
display.print(oilTemp);
break;}
{case 4:
float afrVoltage = analogRead(A0) * (5.0 / 1023.0); // Asumiendo que la sonda AFR está conectada a A0
float afrValue = (afrVoltage * 14.7) / 5.0; // Calculo del valor AFR (ajustar según especificaciones de la sonda)
display.clearDisplay();
display.setCursor(0, 20);
display.setTextSize(2);
display.setTextColor(SSD1306_WHITE);
display.print("AFR: ");
display.print(afrValue, 2);
display.display();
break;}
{case 5:
display.drawBitmap(0, 0, spoon, SCREEN_WIDTH, SCREEN_HEIGHT, SSD1306_WHITE);
break;}
}
display.display();
}
void setup() {
Serial.begin(9600);
pinMode(buzzerPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP); // Configurar el pin del botón como entrada con resistencia pull-up
sensors.begin();
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for (;;);
}
display.clearDisplay();
display.drawBitmap(0, 0, spoon, SCREEN_WIDTH, SCREEN_HEIGHT, SSD1306_WHITE);
display.display();
delay(3000);
int textHeight = 16;
int scrollSpeed = 2;
for (int y = SCREEN_HEIGHT; y > -textHeight; y -= scrollSpeed) {
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(SSD1306_WHITE);
display.setCursor(20, y);
display.print("READY TO");
display.setCursor(20, y + textHeight);
display.print(" RACE!!");
display.display();
delay(10);
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
mostrarMenuVertical();
}
void loop() {
unsigned long currentMillis = millis();
bool buttonPressed = (digitalRead(buttonPin) == LOW); // Detectar si el botón está presionado
// Manejo de estado del botón con debounce
if (buttonPressed && !buttonWasPressed && (currentMillis - lastButtonPress) > debounceDelay) {
lastButtonPress = currentMillis;
buttonWasPressed = true;
if (currentState == MENU_VERTICAL) {
currentState = PAGINA;
mostrarPagina(currentPage);
} else {
currentState = MENU_VERTICAL;
mostrarMenuVertical();
}
delay(200); // Delay para evitar rebotes del botón
}
// Resetear el estado del botón cuando se suelta
if (!buttonPressed) {
buttonWasPressed = false;
}
// Controlar el cambio de página con el encoder solo si estamos en el menú vertical
if (currentState == MENU_VERTICAL) {
long newPosition = encoder.read();
int delta = newPosition - lastPosition;
if (abs(delta) >= encoderThreshold) {
if (delta > 0) {
currentPage = (currentPage + 1) % menuSections;
} else {
currentPage = (currentPage - 1 + menuSections) % menuSections;
}
lastPosition = newPosition;
mostrarMenuVertical(); // Actualizar el menú vertical inmediatamente
}
}
}