09-11-2022, 21:27
Witam.
Mam mały problemik z projektem miernika poziomu cieczy. Na płytce UNO wszystko działa poprawnie, wyświetlacz oled, buzzer, czujnik HC-SR04 Tact Switch. Niestety gdy wszystko podłączam pod Nodemcu nie jestem w stanie sprawić aby buzzer zadziałał. Kombinowałem już chyba ze wszystkimi możliwymi kombinacjami pinów, niestety bez skutku. Znajdzie się może jakaś dobra duszyczka która spojrzy na mój problem ?
Pozdrawiam.
Mam mały problemik z projektem miernika poziomu cieczy. Na płytce UNO wszystko działa poprawnie, wyświetlacz oled, buzzer, czujnik HC-SR04 Tact Switch. Niestety gdy wszystko podłączam pod Nodemcu nie jestem w stanie sprawić aby buzzer zadziałał. Kombinowałem już chyba ze wszystkimi możliwymi kombinacjami pinów, niestety bez skutku. Znajdzie się może jakaś dobra duszyczka która spojrzy na mój problem ?
Pozdrawiam.
Kod:
/*
Joginder
hobbyprojects
22-05-2022
Ultrasonic_Level_Monitor_4pin_OLED.ino
*/
// ------------- Tank details ------------//
//int Tank_height = 50; // Distance from the installed face of the transducer, down to the bottom of the tank
//int Fill_height = 40; // Distance from the bottom of the tank,up to the maximum desired liquid height
int Tank_height = 25; // Distance from the installed face of the transducer, down to the bottom of the tank
int Fill_height = 20; // Distance from the bottom of the tank,up to the maximum desired liquid height
//----------------------------------------//
long t;
int distance_Measured;
int distance_Sensor_to_Fill;
unsigned char a = 0;
unsigned int level = 0;
unsigned int temp = 10;
int tankLevel;
int SCL_PIN = D1;
int SDA_PIN = D2;
int trigPin = D6;
int echoPin = D8;
int MuteSwitch = A0;
int alarm_output = D4;
unsigned char addr=0x78;
const PROGMEM unsigned char lev0[] =
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x24, 0x44, 0xc4, 0x84, 0x04, 0x1c, 0x70, 0xc0, 0x60, 0x18,
0x04, 0x00, 0x38, 0x24, 0x44, 0xc4, 0x84, 0x04, 0x04, 0x04, 0xfc, 0x04, 0x04, 0x04, 0xfc, 0x44,
0x44, 0x44, 0x44, 0x00, 0xfc, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc0, 0x38, 0xfc, 0x00, 0x00, 0x00,
0x00, 0x00, 0x04, 0x84, 0xc4, 0x34, 0x1c, 0x04, 0x00, 0xfc, 0x44, 0x44, 0xc4, 0xac, 0x18, 0x00,
0x80, 0xe0, 0x9c, 0x8c, 0xf0, 0xc0, 0x00, 0x38, 0x24, 0x44, 0xc4, 0x84, 0x00, 0x00, 0x04, 0x84,
0xc4, 0x34, 0x1c, 0x04, 0x80, 0xe0, 0x9c, 0x8c, 0xf0, 0xc0, 0x00, 0x00, 0xfc, 0x0c, 0x18, 0x60,
0xc0, 0x00, 0xfc, 0xfc, 0x04, 0xfc, 0x04, 0x00, 0x80, 0xe0, 0x9c, 0x8c, 0xf0, 0xc0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00,
0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x04,
0x04, 0x04, 0x04, 0x00, 0x07, 0x00, 0x00, 0x01, 0x07, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
0x00, 0x04, 0x06, 0x05, 0x04, 0x04, 0x04, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x06, 0x04,
0x07, 0xc0, 0xc0, 0xc0, 0xc0, 0xc3, 0xc6, 0xc4, 0xc4, 0xc4, 0xc4, 0xc3, 0xc0, 0xc4, 0xc6, 0xc5,
0xc4, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x00, 0x07, 0x00, 0x00, 0x00,
0x00, 0x03, 0x05, 0x07, 0x04, 0x07, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x03, 0x46, 0xe0,
0x00, 0x00, 0x80, 0xc0, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xe0, 0x60, 0x60, 0x60, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0xe0,
0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xfe, 0xfe, 0xfe, 0xfe, 0xf7,
0xc7, 0xc7, 0x85, 0x84, 0x0c, 0x0c, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x0c,
0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0xfc, 0xfc, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x80, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff,
0xbf, 0x3f, 0x3f, 0xff, 0xef, 0xc7, 0x07, 0x07, 0x3f, 0x3f, 0x3f, 0xbf, 0xff, 0xff, 0xff, 0x97,
0x3f, 0x07, 0x0f, 0x0f, 0x1f, 0x3e, 0x7c, 0xfc, 0xf0, 0xe0, 0xc0, 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, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3f, 0x7f, 0xff, 0x7f, 0x3f, 0x0b,
0x01, 0x03, 0x03, 0x0f, 0x0f, 0x0f, 0x04, 0x00, 0x00, 0x00, 0x06, 0x07, 0x00, 0x00, 0x00, 0x03,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0xff, 0xfe, 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, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 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, 0x30, 0x60, 0x60, 0x40, 0xc0, 0xc0,
0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0x60, 0x70, 0x3c, 0x1e, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
0x0c, 0x0c, 0x0c, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x20, 0x20, 0x60, 0xc0, 0x00, 0xe0, 0xe0, 0x00, 0x00, 0x00,
0x00, 0xe0, 0x00, 0x80, 0xe0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xe0, 0x60, 0x20, 0x20,
0x60, 0xe0, 0x00, 0x00, 0xc0, 0xe0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
0x60, 0x60, 0x60, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x60, 0x60, 0x60, 0x60, 0x60,
0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x60,
0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7f, 0x7f, 0x00, 0x00, 0x00,
0x00, 0x7f, 0x7f, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7f,
0x7f, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x06, 0x06, 0x03, 0x03, 0x00, 0x0f, 0x3f, 0x30, 0x20, 0x20,
0x30, 0x1f, 0x00, 0x30, 0x31, 0x23, 0x26, 0x3e, 0x1c, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00,
0x00, 0x01, 0x3f, 0x3f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const PROGMEM unsigned char lev1[]=
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x24, 0x44, 0xc4, 0x84, 0x04, 0x1c, 0x70, 0xc0, 0x60, 0x18,
0x04, 0x00, 0x38, 0x24, 0x44, 0xc4, 0x84, 0x04, 0x04, 0x04, 0xfc, 0x04, 0x04, 0x04, 0xfc, 0x44,
0x44, 0x44, 0x44, 0x00, 0xfc, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc0, 0x38, 0xfc, 0x00, 0x00, 0x00,
0x00, 0x00, 0x04, 0x84, 0xc4, 0x34, 0x1c, 0x04, 0x00, 0xfc, 0x44, 0x44, 0xc4, 0xac, 0x18, 0x00,
0x80, 0xe0, 0x9c, 0x8c, 0xf0, 0xc0, 0x00, 0x38, 0x24, 0x44, 0xc4, 0x84, 0x00, 0x00, 0x04, 0x84,
0xc4, 0x34, 0x1c, 0x04, 0x80, 0xe0, 0x9c, 0x8c, 0xf0, 0xc0, 0x00, 0x00, 0xfc, 0x0c, 0x18, 0x60,
0xc0, 0x00, 0xfc, 0xfc, 0x04, 0xfc, 0x04, 0x00, 0x80, 0xe0, 0x9c, 0x8c, 0xf0, 0xc0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00,
0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x04,
0x04, 0x04, 0x04, 0x00, 0x07, 0x00, 0x00, 0x01, 0x07, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
0x00, 0x04, 0x06, 0x05, 0x04, 0x04, 0x04, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x06, 0x04,
0x07, 0xc0, 0xc0, 0xc0, 0xc0, 0xc3, 0xc6, 0xc4, 0xc4, 0xc4, 0xc4, 0xc3, 0xc0, 0xc4, 0xc6, 0xc5,
0xc4, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x00, 0x07, 0x00, 0x00, 0x00,
0x00, 0x03, 0x05, 0x07, 0x04, 0x07, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x03, 0x46, 0xe0,
0x00, 0x00, 0x80, 0xc0, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xe0, 0x60, 0x60, 0x60, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0xe0,
0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xfe, 0xfe, 0xfe, 0xfe, 0xf7,
0xc7, 0xc7, 0x85, 0x84, 0x0c, 0x0c, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x0c,
0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0xfc, 0xfc, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x80, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff,
0xbf, 0x3f, 0x3f, 0xff, 0xef, 0xc7, 0x07, 0x07, 0x3f, 0x3f, 0x3f, 0xbf, 0xff, 0xff, 0xff, 0x97,
0x3f, 0x07, 0x0f, 0x0f, 0x1f, 0x3e, 0x7c, 0xfc, 0xf0, 0xe0, 0xc0, 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, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3f, 0x7f, 0xff, 0x7f, 0x3f, 0x0b,
0x01, 0x03, 0x03, 0x0f, 0x0f, 0x0f, 0x04, 0x00, 0x00, 0x00, 0x06, 0x07, 0x00, 0x00, 0x00, 0x03,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0xff, 0xfe, 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, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 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, 0x30, 0x60, 0x60, 0x40, 0xc0, 0xc0,
0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0x60, 0x70, 0x3c, 0x1e, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0x00, 0x00, 0x00, 0x40, 0x60, 0x20, 0x60, 0xe0, 0x00, 0x00, 0xe0, 0xe0, 0x20, 0x20, 0x20,
0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x20, 0xe0, 0x80, 0x80, 0xc0, 0x60, 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, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x60, 0x60, 0x60, 0x60, 0x60,
0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x60,
0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7f, 0x7f, 0x00, 0x00, 0x00,
0x00, 0x7f, 0x7f, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7f,
0x7f, 0x00, 0x00, 0x00, 0x30, 0x3c, 0x24, 0x26, 0x23, 0x20, 0x00, 0x33, 0x23, 0x23, 0x3e, 0x1e,
0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x33, 0x19, 0x06, 0x1b, 0x3c, 0x26, 0x3c, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const PROGMEM unsigned char lev2[]=
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x24, 0x44, 0xc4, 0x84, 0x04, 0x1c, 0x70, 0xc0, 0x60, 0x18,
0x04, 0x00, 0x38, 0x24, 0x44, 0xc4, 0x84, 0x04, 0x04, 0x04, 0xfc, 0x04, 0x04, 0x04, 0xfc, 0x44,
0x44, 0x44, 0x44, 0x00, 0xfc, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc0, 0x38, 0xfc, 0x00, 0x00, 0x00,
0x00, 0x00, 0x04, 0x84, 0xc4, 0x34, 0x1c, 0x04, 0x00, 0xfc, 0x44, 0x44, 0xc4, 0xac, 0x18, 0x00,
0x80, 0xe0, 0x9c, 0x8c, 0xf0, 0xc0, 0x00, 0x38, 0x24, 0x44, 0xc4, 0x84, 0x00, 0x00, 0x04, 0x84,
0xc4, 0x34, 0x1c, 0x04, 0x80, 0xe0, 0x9c, 0x8c, 0xf0, 0xc0, 0x00, 0x00, 0xfc, 0x0c, 0x18, 0x60,
0xc0, 0x00, 0xfc, 0xfc, 0x04, 0xfc, 0x04, 0x00, 0x80, 0xe0, 0x9c, 0x8c, 0xf0, 0xc0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00,
0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x04,
0x04, 0x04, 0x04, 0x00, 0x07, 0x00, 0x00, 0x01, 0x07, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
0x00, 0x04, 0x06, 0x05, 0x04, 0x04, 0x04, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x06, 0x04,
0x07, 0xc0, 0xc0, 0xc0, 0xc0, 0xc3, 0xc6, 0xc4, 0xc4, 0xc4, 0xc4, 0xc3, 0xc0, 0xc4, 0xc6, 0xc5,
0xc4, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x00, 0x07, 0x00, 0x00, 0x00,
0x00, 0x03, 0x05, 0x07, 0x04, 0x07, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x03, 0x46, 0xe0,
0x00, 0x00, 0x80, 0xc0, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xe0, 0x60, 0x60, 0x60, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0xe0,
0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xfe, 0xfe, 0xfe, 0xfe, 0xf7,
0xc7, 0xc7, 0x85, 0x84, 0x0c, 0x0c, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x0c,
0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0xfc, 0xfc, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x80, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff,
0xbf, 0x3f, 0x3f, 0xff, 0xef, 0xc7, 0x07, 0x07, 0x3f, 0x3f, 0x3f, 0xbf, 0xff, 0xff, 0xff, 0x97,
0x3f, 0x07, 0x0f, 0x0f, 0x1f, 0x3e, 0x7c, 0xfc, 0xf0, 0xe0, 0xc0, 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, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3f, 0x7f, 0xff, 0x7f, 0x3f, 0x0b,
0x01, 0x03, 0x03, 0x0f, 0x0f, 0x0f, 0x04, 0x00, 0x00, 0x00, 0x06, 0x07, 0x00, 0x00, 0x00, 0x03,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0xff, 0xfe, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 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, 0x30, 0x60, 0x60, 0x40, 0xc0, 0xc0,
0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0x60, 0x70, 0x3c, 0x1e, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x20, 0x20, 0x20, 0x00, 0x80, 0xe0, 0x20, 0x30, 0x60, 0xc0,
0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x20, 0xe0, 0x00, 0x80, 0xe0, 0x20, 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, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x60,
0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7f, 0x7f, 0x00, 0x00, 0x00,
0x00, 0x7f, 0x7f, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7f,
0x7f, 0x00, 0x00, 0x00, 0x31, 0x31, 0x23, 0x33, 0x1e, 0x00, 0x0f, 0x3f, 0x30, 0x20, 0x38, 0x1f,
0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x31, 0x1d, 0x07, 0x1d, 0x36, 0x22, 0x1e, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const PROGMEM unsigned char lev3[]=
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x24, 0x44, 0xc4, 0x84, 0x04, 0x1c, 0x70, 0xc0, 0x60, 0x18,
0x04, 0x00, 0x38, 0x24, 0x44, 0xc4, 0x84, 0x04, 0x04, 0x04, 0xfc, 0x04, 0x04, 0x04, 0xfc, 0x44,
0x44, 0x44, 0x44, 0x00, 0xfc, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc0, 0x38, 0xfc, 0x00, 0x00, 0x00,
0x00, 0x00, 0x04, 0x84, 0xc4, 0x34, 0x1c, 0x04, 0x00, 0xfc, 0x44, 0x44, 0xc4, 0xac, 0x18, 0x00,
0x80, 0xe0, 0x9c, 0x8c, 0xf0, 0xc0, 0x00, 0x38, 0x24, 0x44, 0xc4, 0x84, 0x00, 0x00, 0x04, 0x84,
0xc4, 0x34, 0x1c, 0x04, 0x80, 0xe0, 0x9c, 0x8c, 0xf0, 0xc0, 0x00, 0x00, 0xfc, 0x0c, 0x18, 0x60,
0xc0, 0x00, 0xfc, 0xfc, 0x04, 0xfc, 0x04, 0x00, 0x80, 0xe0, 0x9c, 0x8c, 0xf0, 0xc0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00,
0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x04,
0x04, 0x04, 0x04, 0x00, 0x07, 0x00, 0x00, 0x01, 0x07, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
0x00, 0x04, 0x06, 0x05, 0x04, 0x04, 0x04, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x06, 0x04,
0x07, 0xc0, 0xc0, 0xc0, 0xc0, 0xc3, 0xc6, 0xc4, 0xc4, 0xc4, 0xc4, 0xc3, 0xc0, 0xc4, 0xc6, 0xc5,
0xc4, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x00, 0x07, 0x00, 0x00, 0x00,
0x00, 0x03, 0x05, 0x07, 0x04, 0x07, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x03, 0x46, 0xe0,
0x00, 0x00, 0x80, 0xc0, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xe0, 0x60, 0x60, 0x60, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0xe0,
0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xfe, 0xfe, 0xfe, 0xfe, 0xf7,
0xc7, 0xc7, 0x85, 0x84, 0x0c, 0x0c, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc,
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x80, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff,
0xbf, 0x3f, 0x3f, 0xff, 0xef, 0xc7, 0x07, 0x07, 0x3f, 0x3f, 0x3f, 0xbf, 0xff, 0xff, 0xff, 0x97,
0x3f, 0x07, 0x0f, 0x0f, 0x1f, 0x3e, 0x7c, 0xfc, 0xf0, 0xe0, 0xc0, 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, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3f, 0x7f, 0xff, 0x7f, 0x3f, 0x0b,
0x01, 0x03, 0x03, 0x0f, 0x0f, 0x0f, 0x04, 0x00, 0x00, 0x00, 0x06, 0x07, 0x00, 0x00, 0x00, 0x03,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0xff, 0xfe, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 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, 0x30, 0x60, 0x60, 0x40, 0xc0, 0xc0,
0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0x60, 0x70, 0x3c, 0x1e, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0xff, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0xe0, 0xe0, 0x20, 0x00, 0xe0, 0x60, 0x20, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x20, 0xe0, 0x00, 0x80, 0xe0, 0x20, 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, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f,
0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00,
0x00, 0x7f, 0x7f, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7f,
0x7f, 0x00, 0x00, 0x00, 0x00, 0x38, 0x3e, 0x03, 0x00, 0x00, 0x00, 0x23, 0x23, 0x23, 0x3e, 0x1c,
0x00, 0x00, 0x00, 0x00, 0x01, 0x23, 0x33, 0x1d, 0x06, 0x3d, 0x34, 0x26, 0x3c, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const PROGMEM unsigned char lev4[]=
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x24, 0x44, 0xc4, 0x84, 0x04, 0x1c, 0x70, 0xc0, 0x60, 0x18,
0x04, 0x00, 0x38, 0x24, 0x44, 0xc4, 0x84, 0x04, 0x04, 0x04, 0xfc, 0x04, 0x04, 0x04, 0xfc, 0x44,
0x44, 0x44, 0x44, 0x00, 0xfc, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc0, 0x38, 0xfc, 0x00, 0x00, 0x00,
0x00, 0x00, 0x04, 0x84, 0xc4, 0x34, 0x1c, 0x04, 0x00, 0xfc, 0x44, 0x44, 0xc4, 0xac, 0x18, 0x00,
0x80, 0xe0, 0x9c, 0x8c, 0xf0, 0xc0, 0x00, 0x38, 0x24, 0x44, 0xc4, 0x84, 0x00, 0x00, 0x04, 0x84,
0xc4, 0x34, 0x1c, 0x04, 0x80, 0xe0, 0x9c, 0x8c, 0xf0, 0xc0, 0x00, 0x00, 0xfc, 0x0c, 0x18, 0x60,
0xc0, 0x00, 0xfc, 0xfc, 0x04, 0xfc, 0x04, 0x00, 0x80, 0xe0, 0x9c, 0x8c, 0xf0, 0xc0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00,
0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x04,
0x04, 0x04, 0x04, 0x00, 0x07, 0x00, 0x00, 0x01, 0x07, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
0x00, 0x04, 0x06, 0x05, 0x04, 0x04, 0x04, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x06, 0x04,
0x07, 0xc0, 0xc0, 0xc0, 0xc0, 0xc3, 0xc6, 0xc4, 0xc4, 0xc4, 0xc4, 0xc3, 0xc0, 0xc4, 0xc6, 0xc5,
0xc4, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x00, 0x07, 0x00, 0x00, 0x00,
0x00, 0x03, 0x05, 0x07, 0x04, 0x07, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x03, 0x46, 0xe0,
0x00, 0x00, 0x80, 0xc0, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xe0, 0x60, 0x60, 0x60, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0xe0,
0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xfe, 0xfe, 0xfe, 0xfe, 0xf7,
0xc7, 0xc7, 0x85, 0x84, 0x0c, 0x0c, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc,
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x80, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff,
0xbf, 0x3f, 0x3f, 0xff, 0xef, 0xc7, 0x07, 0x07, 0x3f, 0x3f, 0x3f, 0xbf, 0xff, 0xff, 0xff, 0x97,
0x3f, 0x07, 0x0f, 0x0f, 0x1f, 0x3e, 0x7c, 0xfc, 0xf0, 0xe0, 0xc0, 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, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3f, 0x7f, 0xff, 0x7f, 0x3f, 0x0b,
0x01, 0x03, 0x03, 0x0f, 0x0f, 0x0f, 0x04, 0x00, 0x00, 0x00, 0x06, 0x07, 0x00, 0x00, 0x00, 0x03,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0xff, 0xfe, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 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, 0x30, 0x60, 0x60, 0x40, 0xc0, 0xc0,
0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0x60, 0x70, 0x3c, 0x1e, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x00, 0x00, 0x00, 0x40, 0x60, 0xe0, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x20, 0x60, 0xc0, 0x00,
0xc0, 0xe0, 0x20, 0x20, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x00, 0x80,
0x60, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f,
0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00,
0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x06, 0x1f, 0x30, 0x20, 0x30, 0x1f, 0x00,
0x1f, 0x3d, 0x20, 0x20, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x23, 0x3b, 0x0d, 0x07, 0x3d,
0x26, 0x26, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const PROGMEM unsigned char init_display[]=
{0xAE,0xD5,0x80,0xA8,0x3F,0xD3,0x00,0x40,0x8D,0x14,0x20,0x02,0xA1,0xC8,0xDA,0x12,0x81,0xCF,0xD9,0xF1,0xDB,0x40,0xA4,0xA6,0xAF};
void setup()
{
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(SCL_PIN,OUTPUT);
pinMode(SDA_PIN,OUTPUT);
pinMode(alarm_output,OUTPUT);
pinMode(MuteSwitch,INPUT_PULLUP);
digitalWrite(alarm_output,LOW);
digitalWrite(SCL_PIN,HIGH);;;
delay(10);
//oled_init
int k;
for(k=0;k<26;k++)
{
write_cmd(pgm_read_byte(&init_display[k]));
}
distance_Sensor_to_Fill = Tank_height - Fill_height;
}
void loop()
{
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
t = pulseIn(echoPin, HIGH);
distance_Measured = t/58;
tankLevel = map(distance_Measured, distance_Sensor_to_Fill, Tank_height, 100, 0);
if (tankLevel > 100)
tankLevel = 100;
if (tankLevel < 0)
tankLevel = 0;
Serial.print("Tank Level:");
Serial.print(tankLevel);
Serial.println("%");
if(tankLevel < 25)
{
level = 0;
}
else
if((tankLevel >= 25) && (tankLevel < 50))
{
level = 1;
}
else
if((tankLevel >= 50) && (tankLevel < 75))
{
level = 2;
}
else
if((tankLevel >= 75) && (tankLevel < 100))
{
level = 3;
}
else
if(tankLevel >= 100)
{
level = 4;
}
if(level != temp)
{
temp = level;
displayLevel();
}
if(level == 0)
alarmEmpty();
if(level == 1)
a=0;
if(level == 2)
a=0;
if(level == 3)
a=0;
if(level == 4)
alarmFull();
delay(300);
}
void alarmFull()
{
if(digitalRead(MuteSwitch) == LOW)
a = 1;
if(a == 0)
{
unsigned int i, k;
for(k = 0; k < 2; k++)
{
for(i = 0; i < 200; i++)
{
digitalWrite(alarm_output,HIGH);
delayMicroseconds(250);
digitalWrite(alarm_output,LOW);
delayMicroseconds(250);
}
for(i = 0; i < 250; i++)
{
digitalWrite(alarm_output,HIGH);
delayMicroseconds(200);
digitalWrite(alarm_output,LOW);
delayMicroseconds(200);
}
}
}
}
void alarmEmpty()
{
if(digitalRead(MuteSwitch) == LOW)
a = 1;
if(a == 0)
{
unsigned int i;
for(i = 0; i < 400; i++)
{
digitalWrite(alarm_output,HIGH);
delayMicroseconds(200);
digitalWrite(alarm_output,LOW);
delayMicroseconds(200);
}
}
}
void displayLevel()
{
if(level == 0)
{
int j=0;
unsigned char x,y,x0;
for(y=0;y<=7;y++)
{
write_cmd(0xb0+y);
write_cmd(((x0&0xf0)>>4)|0x10);
write_cmd((x0&0x0f)|0x00);
startBit();
write_data(addr);
write_data(0x40);
for(x=0;x<128;x++)
{
write_data(pgm_read_byte(&lev0[j++]));
}
stopBit();
}
}
if(level == 1)
{
int j=0;
unsigned char x,y,x0;
for(y=0;y<=7;y++)
{
write_cmd(0xb0+y);
write_cmd(((x0&0xf0)>>4)|0x10);
write_cmd((x0&0x0f)|0x00);
startBit();
write_data(addr);
write_data(0x40);
for(x=0;x<128;x++)
{
write_data(pgm_read_byte(&lev1[j++]));
}
stopBit();
}
}
if(level == 2)
{
int j=0;
unsigned char x,y,x0;
for(y=0;y<=7;y++)
{
write_cmd(0xb0+y);
write_cmd(((x0&0xf0)>>4)|0x10);
write_cmd((x0&0x0f)|0x00);
startBit();
write_data(addr);
write_data(0x40);
for(x=0;x<128;x++)
{
write_data(pgm_read_byte(&lev2[j++]));
}
stopBit();
}
}
if(level == 3)
{
int j=0;
unsigned char x,y,x0;
for(y=0;y<=7;y++)
{
write_cmd(0xb0+y);
write_cmd(((x0&0xf0)>>4)|0x10);
write_cmd((x0&0x0f)|0x00);
startBit();
write_data(addr);
write_data(0x40);
for(x=0;x<128;x++)
{
write_data(pgm_read_byte(&lev3[j++]));
}
stopBit();
}
}
if(level == 4)
{
int j=0;
unsigned char x,y,x0;
for(y=0;y<=7;y++)
{
write_cmd(0xb0+y);
write_cmd(((x0&0xf0)>>4)|0x10);
write_cmd((x0&0x0f)|0x00);
startBit();
write_data(addr);
write_data(0x40);
for(x=0;x<128;x++)
{
write_data(pgm_read_byte(&lev4[j++]));
}
stopBit();
}
}
}
void write_data(unsigned char Data)
{
unsigned char b;
for(b=0;b<8;b++){
if (Data & 0x80)
{
digitalWrite(SDA_PIN,HIGH);;;;
}
else
{
digitalWrite(SDA_PIN,LOW);;;
}
Clock();
Data <<= 1;
}
pinMode(SDA_PIN, INPUT);
Clock();
delayMicroseconds(5);
pinMode(SDA_PIN, OUTPUT);
}
void Clock(void)
{
delayMicroseconds(1);
digitalWrite(SCL_PIN,HIGH);
delayMicroseconds(5);
digitalWrite(SCL_PIN,LOW);
delayMicroseconds(1);
}
void startBit(void)
{
digitalWrite(SDA_PIN,LOW);
delayMicroseconds(5);
digitalWrite(SCL_PIN,LOW);
}
void stopBit(void)
{
digitalWrite(SCL_PIN,HIGH);
delayMicroseconds(5);
digitalWrite(SDA_PIN,HIGH);
}
void write_cmd( unsigned char comm){
startBit();
write_data(addr);
write_data(0x00);
write_data(comm);
stopBit();
}