// ------------- Tank details ------------//
int Tank_height = 400; // Distance from the installed face of the transducer, down to the bottom of the tank
int Fill_height = 360; // 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 = 4;
int SDA_PIN = 5;
int trigPin = 11;
int echoPin = 10;
int MuteSwitch = A5;
int alarm_output = 2;
unsigned char addr=0x78;
const PROGMEM unsigned char lev0[] =
{
0x00, 0x00, 0x00, 0x00, 0x88, 0x4C, 0x2E, 0x1E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x1E, 0x2E, 0x4C, 0x88,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x80, 0x40, 0x80, 0x78,
0x00, 0xE0, 0x50, 0x48, 0x50, 0xE0, 0x00, 0x08, 0x08, 0xF8,
0x08, 0x08, 0x00, 0xF8, 0xA8, 0xA8, 0x88, 0x00, 0xF8, 0x28,
0x28, 0x68, 0x90, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x80, 0x80,
0x80, 0x00, 0xF8, 0xA8, 0xA8, 0x88, 0x00, 0x38, 0x40, 0x80,
0x40, 0x38, 0x00, 0xF8, 0xA8, 0xA8, 0x88, 0x00, 0xF8, 0x80,
0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 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, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 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, 0x7C, 0x08, 0x10, 0x08, 0x7C, 0x00, 0x38,
0x44, 0x44, 0x44, 0x38, 0x00, 0x7C, 0x08, 0x10, 0x20, 0x7C,
0x00, 0x7C, 0x00, 0x04, 0x04, 0x7C, 0x04, 0x04, 0x00, 0x38,
0x44, 0x44, 0x44, 0x38, 0x00, 0x7C, 0x14, 0x14, 0x34, 0x48,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 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, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x40, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 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, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x61,
0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x01, 0x00, 0x00, 0x00,
0xF8, 0xF8, 0x30, 0x18, 0x18, 0x18, 0xF0, 0xE0, 0x30, 0x18,
0x18, 0x18, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0x30,
0x18, 0x18, 0x18, 0x38, 0xF0, 0xE0, 0x00, 0x18, 0xFF, 0xFF,
0x18, 0x18, 0x00, 0x18, 0x78, 0xE0, 0x80, 0x00, 0x00, 0xE0,
0xF8, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 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, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x1F, 0x1F,
0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00,
0x1F, 0x1F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x0C, 0x18, 0x18,
0x18, 0x1C, 0x0F, 0x07, 0x00, 0x00, 0x0F, 0x1F, 0x18, 0x18,
0x00, 0x00, 0x80, 0x83, 0xFF, 0xFC, 0x1F, 0x03, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1F, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
0x10, 0x10, 0x10, 0x90, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
0x10, 0x10, 0x10, 0x10, 0x10, 0x90, 0x10, 0x10, 0x1F, 0x00,
0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0E, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x0E, 0x00,
0x00, 0x0E, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x0E, 0x00, 0x00,
0x0E, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x0E, 0x00, 0x20, 0x00,
0x00, 0x3F, 0x02, 0x02, 0x3C, 0x00, 0x00, 0x1C, 0x22, 0x22,
0x1C, 0x00, 0x00, 0x3F, 0x22, 0x22, 0x1C, 0x00, 0x00, 0x3F,
0x22, 0x22, 0x1C, 0x00, 0x82, 0x9C, 0x60, 0x1C, 0x02, 0x00,
0xFE, 0x22, 0x22, 0x1C, 0x00, 0x00, 0x3E, 0x02, 0x00, 0x1C,
0x22, 0x22, 0x1C, 0x00, 0x80, 0x7E, 0x00, 0x00, 0x1C, 0x2A,
0x2A, 0x2C, 0x00, 0x00, 0x1C, 0x22, 0x22, 0x00, 0x02, 0x1F,
0x22, 0x00, 0x24, 0x2A, 0x12, 0x00, 0x00, 0x20, 0x00, 0x00,
0x1C, 0x22, 0x22, 0x00, 0x00, 0x1C, 0x22, 0x22, 0x1C, 0x00,
0x00, 0x3E, 0x02, 0x02, 0x3C, 0x02, 0x02, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
};
const PROGMEM unsigned char lev1[]=
{
0x00, 0x00, 0x00, 0x00, 0x88, 0x4C, 0x2E, 0x1E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x1E, 0x2E, 0x4C, 0x88,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x80, 0x40, 0x80, 0x78,
0x00, 0xE0, 0x50, 0x48, 0x50, 0xE0, 0x00, 0x08, 0x08, 0xF8,
0x08, 0x08, 0x00, 0xF8, 0xA8, 0xA8, 0x88, 0x00, 0xF8, 0x28,
0x28, 0x68, 0x90, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x80, 0x80,
0x80, 0x00, 0xF8, 0xA8, 0xA8, 0x88, 0x00, 0x38, 0x40, 0x80,
0x40, 0x38, 0x00, 0xF8, 0xA8, 0xA8, 0x88, 0x00, 0xF8, 0x80,
0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 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, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 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, 0x7C, 0x08, 0x10, 0x08, 0x7C, 0x00, 0x38,
0x44, 0x44, 0x44, 0x38, 0x00, 0x7C, 0x08, 0x10, 0x20, 0x7C,
0x00, 0x7C, 0x00, 0x04, 0x04, 0x7C, 0x04, 0x04, 0x00, 0x38,
0x44, 0x44, 0x44, 0x38, 0x00, 0x7C, 0x14, 0x14, 0x34, 0x48,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 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, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x40, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
0x78, 0x1C, 0x0C, 0x06, 0x06, 0x06, 0x06, 0x06, 0x0E, 0x1C,
0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFE, 0x0E, 0x86,
0x86, 0x86, 0x86, 0x86, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF0, 0xFC, 0x0E, 0x06, 0x06, 0x06, 0x0E, 0xFC,
0xF0, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0x3C, 0x0E, 0x02, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x80, 0xC0, 0x60, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x01,
0x00, 0x00, 0x00, 0x87, 0x87, 0x03, 0x03, 0x01, 0x01, 0x01,
0x01, 0x01, 0x03, 0x07, 0xFE, 0xF8, 0x00, 0x00, 0x00, 0x00,
0x01, 0x07, 0x0E, 0x0C, 0x0C, 0x0C, 0x06, 0x87, 0xE1, 0x78,
0x1C, 0x0F, 0xC3, 0xF0, 0x38, 0x18, 0x18, 0x18, 0x38, 0xF0,
0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1E, 0x1F, 0x1B, 0x19,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00,
0x00, 0x01, 0x07, 0x0E, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x1C,
0x0C, 0x0F, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x38, 0x1E, 0x07, 0x01, 0x00, 0x00, 0x00,
0x07, 0x1F, 0x38, 0x30, 0x30, 0x30, 0x38, 0x1F, 0x07, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x9F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x9F, 0x1F, 0x1F, 0x1F, 0x00,
0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0E, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x0E, 0x00,
0x00, 0x0E, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x0E, 0x00, 0x00,
0x0E, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x0E, 0x00, 0x20, 0x00,
0x00, 0x3F, 0x02, 0x02, 0x3C, 0x00, 0x00, 0x1C, 0x22, 0x22,
0x1C, 0x00, 0x00, 0x3F, 0x22, 0x22, 0x1C, 0x00, 0x00, 0x3F,
0x22, 0x22, 0x1C, 0x00, 0x82, 0x9C, 0x60, 0x1C, 0x02, 0x00,
0xFE, 0x22, 0x22, 0x1C, 0x00, 0x00, 0x3E, 0x02, 0x00, 0x1C,
0x22, 0x22, 0x1C, 0x00, 0x80, 0x7E, 0x00, 0x00, 0x1C, 0x2A,
0x2A, 0x2C, 0x00, 0x00, 0x1C, 0x22, 0x22, 0x00, 0x02, 0x1F,
0x22, 0x00, 0x24, 0x2A, 0x12, 0x00, 0x00, 0x20, 0x00, 0x00,
0x1C, 0x22, 0x22, 0x00, 0x00, 0x1C, 0x22, 0x22, 0x1C, 0x00,
0x00, 0x3E, 0x02, 0x02, 0x3C, 0x02, 0x02, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
};
const PROGMEM unsigned char lev2[]=
{
0x00, 0x00, 0x00, 0x00, 0x88, 0x4C, 0x2E, 0x1E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x1E, 0x2E, 0x4C, 0x88,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x80, 0x40, 0x80, 0x78,
0x00, 0xE0, 0x50, 0x48, 0x50, 0xE0, 0x00, 0x08, 0x08, 0xF8,
0x08, 0x08, 0x00, 0xF8, 0xA8, 0xA8, 0x88, 0x00, 0xF8, 0x28,
0x28, 0x68, 0x90, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x80, 0x80,
0x80, 0x00, 0xF8, 0xA8, 0xA8, 0x88, 0x00, 0x38, 0x40, 0x80,
0x40, 0x38, 0x00, 0xF8, 0xA8, 0xA8, 0x88, 0x00, 0xF8, 0x80,
0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 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, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 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, 0x7C, 0x08, 0x10, 0x08, 0x7C, 0x00, 0x38,
0x44, 0x44, 0x44, 0x38, 0x00, 0x7C, 0x08, 0x10, 0x20, 0x7C,
0x00, 0x7C, 0x00, 0x04, 0x04, 0x7C, 0x04, 0x04, 0x00, 0x38,
0x44, 0x44, 0x44, 0x38, 0x00, 0x7C, 0x14, 0x14, 0x34, 0x48,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 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, 0xC0, 0xC0,
0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
0xC0, 0xC0, 0xC0, 0xC0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF8, 0xFE, 0x0E, 0x86, 0x86, 0x86, 0x86, 0x86, 0x06, 0x06,
0x06, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0x3C, 0x0C, 0x06,
0x06, 0x06, 0x06, 0x06, 0x0C, 0x3C, 0xF0, 0xC0, 0x00, 0x00,
0x00, 0x00, 0xF0, 0xFC, 0x0E, 0x06, 0x06, 0x06, 0x0E, 0xFC,
0xF0, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0x3C, 0x0E, 0x02, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x87, 0x03,
0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x07, 0xFE, 0xF8,
0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x01, 0x07, 0x0E, 0x0C, 0x0C, 0x0C, 0x06, 0x87, 0xE1, 0x78,
0x1C, 0x0F, 0xC3, 0xF0, 0x38, 0x18, 0x18, 0x18, 0x38, 0xF0,
0xC0, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0E, 0x0C, 0x18,
0x18, 0x18, 0x18, 0x1C, 0x0C, 0x0F, 0x03, 0x01, 0x00, 0x00,
0x00, 0x00, 0x03, 0x0F, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18,
0x0C, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x38, 0x1E, 0x07, 0x01, 0x00, 0x00, 0x00,
0x07, 0x1F, 0x38, 0x30, 0x30, 0x30, 0x38, 0x1F, 0x07, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x9F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x9F, 0x1F, 0x1F, 0x1F, 0x00,
0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0E, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x0E, 0x00,
0x00, 0x0E, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x0E, 0x00, 0x00,
0x0E, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x0E, 0x00, 0x20, 0x00,
0x00, 0x3F, 0x02, 0x02, 0x3C, 0x00, 0x00, 0x1C, 0x22, 0x22,
0x1C, 0x00, 0x00, 0x3F, 0x22, 0x22, 0x1C, 0x00, 0x00, 0x3F,
0x22, 0x22, 0x1C, 0x00, 0x82, 0x9C, 0x60, 0x1C, 0x02, 0x00,
0xFE, 0x22, 0x22, 0x1C, 0x00, 0x00, 0x3E, 0x02, 0x00, 0x1C,
0x22, 0x22, 0x1C, 0x00, 0x80, 0x7E, 0x00, 0x00, 0x1C, 0x2A,
0x2A, 0x2C, 0x00, 0x00, 0x1C, 0x22, 0x22, 0x00, 0x02, 0x1F,
0x22, 0x00, 0x24, 0x2A, 0x12, 0x00, 0x00, 0x20, 0x00, 0x00,
0x1C, 0x22, 0x22, 0x00, 0x00, 0x1C, 0x22, 0x22, 0x1C, 0x00,
0x00, 0x3E, 0x02, 0x02, 0x3C, 0x02, 0x02, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
};
const PROGMEM unsigned char lev3[]=
{
0x00, 0x00, 0x00, 0x00, 0x88, 0x4C, 0x2E, 0x1E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x1E, 0x2E, 0x4C, 0x88,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x80, 0x40, 0x80, 0x78,
0x00, 0xE0, 0x50, 0x48, 0x50, 0xE0, 0x00, 0x08, 0x08, 0xF8,
0x08, 0x08, 0x00, 0xF8, 0xA8, 0xA8, 0x88, 0x00, 0xF8, 0x28,
0x28, 0x68, 0x90, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x80, 0x80,
0x80, 0x00, 0xF8, 0xA8, 0xA8, 0x88, 0x00, 0x38, 0x40, 0x80,
0x40, 0x38, 0x00, 0xF8, 0xA8, 0xA8, 0x88, 0x00, 0xF8, 0x80,
0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 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, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 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, 0x7C, 0x08, 0x10, 0x08, 0x7C, 0x00, 0x38,
0x44, 0x44, 0x44, 0x38, 0x00, 0x7C, 0x08, 0x10, 0x20, 0x7C,
0x00, 0x7C, 0x00, 0x04, 0x04, 0x7C, 0x04, 0x04, 0x00, 0x38,
0x44, 0x44, 0x44, 0x38, 0x00, 0x7C, 0x14, 0x14, 0x34, 0x48,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8,
0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8,
0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8,
0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8,
0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0xC6, 0xF6, 0x3E,
0x1E, 0x06, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFE, 0x0E, 0x86,
0x86, 0x86, 0x86, 0x86, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF0, 0xFC, 0x0E, 0x06, 0x06, 0x06, 0x0E, 0xFC,
0xF0, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0x3C, 0x0E, 0x02, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xC0, 0xF0, 0x7C, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x87, 0x87, 0x03, 0x03, 0x01, 0x01, 0x01,
0x01, 0x01, 0x03, 0x07, 0xFE, 0xF8, 0x00, 0x00, 0x00, 0x00,
0x01, 0x07, 0x0E, 0x0C, 0x0C, 0x0C, 0x06, 0x87, 0xE1, 0x78,
0x1C, 0x0F, 0xC3, 0xF0, 0x38, 0x18, 0x18, 0x18, 0x38, 0xF0,
0xC0, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x1F,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x07, 0x0E, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x1C,
0x0C, 0x0F, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x38, 0x1E, 0x07, 0x01, 0x00, 0x00, 0x00,
0x07, 0x1F, 0x38, 0x30, 0x30, 0x30, 0x38, 0x1F, 0x07, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x9F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x9F, 0x1F, 0x1F, 0x1F, 0x00,
0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0E, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x0E, 0x00,
0x00, 0x0E, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x0E, 0x00, 0x00,
0x0E, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x0E, 0x00, 0x20, 0x00,
0x00, 0x3F, 0x02, 0x02, 0x3C, 0x00, 0x00, 0x1C, 0x22, 0x22,
0x1C, 0x00, 0x00, 0x3F, 0x22, 0x22, 0x1C, 0x00, 0x00, 0x3F,
0x22, 0x22, 0x1C, 0x00, 0x82, 0x9C, 0x60, 0x1C, 0x02, 0x00,
0xFE, 0x22, 0x22, 0x1C, 0x00, 0x00, 0x3E, 0x02, 0x00, 0x1C,
0x22, 0x22, 0x1C, 0x00, 0x80, 0x7E, 0x00, 0x00, 0x1C, 0x2A,
0x2A, 0x2C, 0x00, 0x00, 0x1C, 0x22, 0x22, 0x00, 0x02, 0x1F,
0x22, 0x00, 0x24, 0x2A, 0x12, 0x00, 0x00, 0x20, 0x00, 0x00,
0x1C, 0x22, 0x22, 0x00, 0x00, 0x1C, 0x22, 0x22, 0x1C, 0x00,
0x00, 0x3E, 0x02, 0x02, 0x3C, 0x02, 0x02, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
};
const PROGMEM unsigned char lev4[]=
{
0x00, 0x00, 0x00, 0x00, 0x88, 0x4C, 0x2E, 0x1E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x1E, 0x2E, 0x4C, 0x88,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x80, 0x40, 0x80, 0x78,
0x00, 0xE0, 0x50, 0x48, 0x50, 0xE0, 0x00, 0x08, 0x08, 0xF8,
0x08, 0x08, 0x00, 0xF8, 0xA8, 0xA8, 0x88, 0x00, 0xF8, 0x28,
0x28, 0x68, 0x90, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x80, 0x80,
0x80, 0x00, 0xF8, 0xA8, 0xA8, 0x88, 0x00, 0x38, 0x40, 0x80,
0x40, 0x38, 0x00, 0xF8, 0xA8, 0xA8, 0x88, 0x00, 0xF8, 0x80,
0x80, 0x80, 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, 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, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7C, 0x08, 0x10, 0x08, 0x7C, 0x00, 0x38,
0x44, 0x44, 0x44, 0x38, 0x00, 0x7C, 0x08, 0x10, 0x20, 0x7C,
0x00, 0x7C, 0x00, 0x04, 0x04, 0x7C, 0x04, 0x04, 0x00, 0x38,
0x44, 0x44, 0x44, 0x38, 0x00, 0x7C, 0x14, 0x14, 0x34, 0x48,
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, 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, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00,
0x00, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0xFC, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x18,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF,
0xFF, 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, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x07, 0x1F, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18,
0x0C, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x00,
0x00, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x9F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x9F, 0x1F, 0x1F, 0x1F, 0x00,
0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0E, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x0E, 0x00,
0x00, 0x0E, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x0E, 0x00, 0x00,
0x0E, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x0E, 0x00, 0x20, 0x00,
0x00, 0x3F, 0x02, 0x02, 0x3C, 0x00, 0x00, 0x1C, 0x22, 0x22,
0x1C, 0x00, 0x00, 0x3F, 0x22, 0x22, 0x1C, 0x00, 0x00, 0x3F,
0x22, 0x22, 0x1C, 0x00, 0x82, 0x9C, 0x60, 0x1C, 0x02, 0x00,
0xFE, 0x22, 0x22, 0x1C, 0x00, 0x00, 0x3E, 0x02, 0x00, 0x1C,
0x22, 0x22, 0x1C, 0x00, 0x80, 0x7E, 0x00, 0x00, 0x1C, 0x2A,
0x2A, 0x2C, 0x00, 0x00, 0x1C, 0x22, 0x22, 0x00, 0x02, 0x1F,
0x22, 0x00, 0x24, 0x2A, 0x12, 0x00, 0x00, 0x20, 0x00, 0x00,
0x1C, 0x22, 0x22, 0x00, 0x00, 0x1C, 0x22, 0x22, 0x1C, 0x00,
0x00, 0x3E, 0x02, 0x02, 0x3C, 0x02, 0x02, 0x3C, 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();
}