Hello everyone, I am a bit confused because when I tried to upload the code, it didn't show any errors, but the problem is that it didn't upload to Arduino. I will share two codes with you. The first one is the code that I can upload, and the second one is the code that I cannot upload. The only thing I implemented for the second code is a percentage of the variables on the page 1.
#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
#define thermoDO1 3
#define thermoCS1 4
#define thermoCLK1 5
#define thermoDO2 6
#define thermoCS2 7
#define thermoCLK2 8
#define thermoDO3 9
#define thermoCS3 10
#define thermoCLK3 11
#define thermoDO4 12
#define thermoCS4 13
#define thermoCLK4 14
MAX6675 thermocouple1(thermoCLK1, thermoCS1, thermoDO1);
MAX6675 thermocouple2(thermoCLK2, thermoCS2, thermoDO2);
MAX6675 thermocouple3(thermoCLK3, thermoCS3, thermoDO3);
MAX6675 thermocouple4(thermoCLK4, thermoCS4, thermoDO4);
const int sensorPin = A3;
const int sensorPin2 = A1;
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
int sensorValue1 = 0;
int sensorValue2 = 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;
float sensorVoltage2 = 0.0;
float pressure2 = 0.0;
const float voltageMin = 0.5;
const float voltageMax = 4.5;
const float pressureMax = 1600;
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 = 5; // Número de pasos del encoder para considerar un cambio
bool buttonWasPressed = false;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
Encoder encoder(2, 3);
int lastPosition = 0;
int currentPage = 0;
const int menuSections = 5;
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
};
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 TEMP");
break;
case 2:
display.print("GAUGES");
break;
case 3:
display.print("EMPTY");
break;
case 4:
display.print("EMPTY");
break;
}
}
display.display();
}
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(40, 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(40, 51);
display.print(pressure2, 2);
display.println(" PSI");
break;
case 1:
display.drawBitmap(0, 0, brake_temp, SCREEN_WIDTH, SCREEN_HEIGHT, SSD1306_WHITE);
display.setCursor(10, 17);
display.print(thermocouple1.getTemperature()); // Usa el método correcto
display.println(" C");
display.setCursor(73, 17);
display.print(thermocouple2.getTemperature()); // Usa el método correcto
display.println(" C");
display.setCursor(10, 49);
display.print(thermocouple3.getTemperature()); // Usa el método correcto
display.println(" C");
display.setCursor(73, 49);
display.print(thermocouple4.getTemperature()); // Usa el método correcto
display.println(" C");
break;
case 2:
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 PRES: ");
display.print(oilPressure);
display.setCursor(1, 54);
display.print("GEARBOX TEMP:");
display.print(oilTemp);
break;
case 3:
display.setTextSize(1); // Tamaño de texto pequeño
display.setTextColor(SSD1306_WHITE); // Color del texto
display.setCursor(0, 0); // Posición en la esquina superior izquierda
display.print("Pagina 3"); // Texto a mostrar
display.display();
break;
case 4:
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
}
}
}
#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
#define thermoDO1 3
#define thermoCS1 4
#define thermoCLK1 5
#define thermoDO2 6
#define thermoCS2 7
#define thermoCLK2 8
#define thermoDO3 9
#define thermoCS3 10
#define thermoCLK3 11
#define thermoDO4 12
#define thermoCS4 13
#define thermoCLK4 14
MAX6675 thermocouple1(thermoCLK1, thermoCS1, thermoDO1);
MAX6675 thermocouple2(thermoCLK2, thermoCS2, thermoDO2);
MAX6675 thermocouple3(thermoCLK3, thermoCS3, thermoDO3);
MAX6675 thermocouple4(thermoCLK4, thermoCS4, thermoDO4);
const int sensorPin = A3;
const int sensorPin2 = A1;
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
int sensorValue1 = 0;
int sensorValue2 = 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;
float sensorVoltage2 = 0.0;
float pressure2 = 0.0;
const float voltageMin = 0.5;
const float voltageMax = 4.5;
const float pressureMax = 1600;
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 = 5; // Número de pasos del encoder para considerar un cambio
bool buttonWasPressed = false;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
Encoder encoder(2, 3);
int lastPosition = 0;
int currentPage = 0;
const int menuSections = 5;
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
};
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 TEMP");
break;
case 2:
display.print("GAUGES");
break;
case 3:
display.print("EMPTY");
break;
case 4:
display.print("EMPTY");
break;
}
}
display.display();
}
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(40, 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(40, 51);
display.print(pressure2, 2);
display.println(" PSI");
break;
case 1:
display.drawBitmap(0, 0, brake_temp, SCREEN_WIDTH, SCREEN_HEIGHT, SSD1306_WHITE);
display.setCursor(10, 17);
display.print(thermocouple1.getTemperature()); // Usa el método correcto
display.println(" C");
display.setCursor(73, 17);
display.print(thermocouple2.getTemperature()); // Usa el método correcto
display.println(" C");
display.setCursor(10, 49);
display.print(thermocouple3.getTemperature()); // Usa el método correcto
display.println(" C");
display.setCursor(73, 49);
display.print(thermocouple4.getTemperature()); // Usa el método correcto
display.println(" C");
break;
case 2:
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 PRES: ");
display.print(oilPressure);
display.setCursor(1, 54);
display.print("GEARBOX TEMP:");
display.print(oilTemp);
break;
case 3:
display.setTextSize(1); // Tamaño de texto pequeño
display.setTextColor(SSD1306_WHITE); // Color del texto
display.setCursor(0, 0); // Posición en la esquina superior izquierda
display.print("Pagina 3"); // Texto a mostrar
display.display();
break;
case 4:
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
}
}
}