#include <U8glib.h>
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0 | U8G_I2C_OPT_NO_ACK | U8G_I2C_OPT_FAST);
#define C 2
#define D 3
#define E 4
#define F 5
#define G 6
#define A 7
#define B 8
#define Modebttn 9
#define BUTTON_UP_PIN 10
#define Prl 11
#define BUTTON_SELECT_PIN 12
#define BUTTON_DOWN_PIN 13
int Mode = 0;
int button_up_clicked = 0;
int button_select_clicked = 0;
int button_down_clicked = 0;
int item_selected = 0;
int item_sel_previous;
int item_sel_next;
const unsigned char upir_logo [] PROGMEM = {
B00010101, B11010111,
B00010101, B01000101,
B00010101, B10010110,
B00011001, B00010101
};
const unsigned char epd_bitmap_Logo_disco [] PROGMEM = {
0x07, 0xe0, 0x1c, 0x38, 0x30, 0x0c, 0x64, 0x06, 0x48, 0x62, 0xd0, 0x13, 0x81, 0x89, 0x82, 0x49,
0x8a, 0x41, 0x89, 0x81, 0xc4, 0x0b, 0x43, 0x12, 0x60, 0x26, 0x30, 0x0c, 0x1c, 0x38, 0x07, 0xe0
};
const unsigned char* epd_bitmap_allArray[1] = {
epd_bitmap_Logo_disco
};
const unsigned char bitmap_scrollbar_background [] PROGMEM = {
0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40,
0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40,
0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40,
0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40,
0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40,
0x00, 0x40, 0x00, 0x00, };
const unsigned char bitmap_item_sel_outline [] PROGMEM = {
0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0C, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xF8, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03,
};
const int NUM_ITEMS = 8;
const int MAX_ITEM_LENGTH = 20;
char menu_items [NUM_ITEMS] [MAX_ITEM_LENGTH] = {
{ "Alan Moore" },
{ "Pikmin" },
{ "Zelda" },
{ "Fireworks" },
{ "GPS Speed" },
{ "Big Knob" },
{ "Park Sensor" },
{ "Turbo Gauge" }
};
void setup()
{u8g.setColorIndex(1);
pinMode(BUTTON_UP_PIN, INPUT_PULLUP);
pinMode(BUTTON_SELECT_PIN, INPUT_PULLUP);
pinMode(BUTTON_DOWN_PIN, INPUT_PULLUP);
for (int i = 2; i<=10; i++)
{
pinMode (i, INPUT_PULLUP);
}
pinMode (Prl,OUTPUT);
}
void loop()
{
if ((digitalRead(Modebttn) == LOW) && (Modebttn == 0)) {
if (Mode == 0) {Mode = 1;}
else if (Mode == 1) {Mode=0;}
}
if (Mode=1) {
if ((digitalRead(BUTTON_UP_PIN) == LOW) && (button_up_clicked == 0)) {
item_selected = item_selected - 1;
button_up_clicked = 1;
if (item_selected < 0) {
item_selected = NUM_ITEMS-1;
}
}
else if ((digitalRead(BUTTON_DOWN_PIN) == LOW) && (button_down_clicked == 0)) {
item_selected = item_selected + 1;
button_down_clicked = 1;
if (item_selected >= NUM_ITEMS) {
item_selected = 0;
}
}
if ((digitalRead(BUTTON_UP_PIN) == HIGH) && (button_up_clicked == 1)) {
button_up_clicked = 0;
}
if ((digitalRead(BUTTON_DOWN_PIN) == HIGH) && (button_down_clicked == 1)) {
button_down_clicked = 0;
}
if ((digitalRead(BUTTON_SELECT_PIN) == LOW) && (button_select_clicked == 0)) {
button_select_clicked = 1;
if (item_selected==1){
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 51, 73.3233671875);
delay(146.646734375);
delay(156.69103125);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 77, 69.9752682292);
delay(139.950536458);
delay(163.387229167);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 51, 52.5651536458);
delay(105.130307292);
delay(22.7670729167);
tone(Prl, 77, 85.3765234375);
delay(170.753046875);
delay(5.35695833333);
tone(Prl, 65, 24.1063125);
delay(48.212625);
delay(127.897380208);
delay(176.110005208);
tone(Prl, 65, 24.1063125);
delay(48.212625);
delay(304.007385417);
tone(Prl, 82, 10.3791067708);
delay(20.7582135417);
tone(Prl, 65, 13.7272057292);
delay(27.4544114583);
delay(127.227760417);
delay(176.110005208);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 77, 62.274640625);
delay(124.54928125);
delay(2.67847916667);
tone(Prl, 82, 86.7157630208);
delay(173.431526042);
delay(2.67847916667);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 82, 62.274640625);
delay(124.54928125);
delay(2.67847916667);
tone(Prl, 82, 86.7157630208);
delay(173.431526042);
delay(2.67847916667);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 103, 62.6094505208);
delay(125.218901042);
delay(178.788484375);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 82, 76.0018463542);
delay(152.003692708);
delay(152.003692708);
tone(Prl, 65, 24.1063125);
delay(48.212625);
delay(127.897380208);
tone(Prl, 103, 15.4012552083);
delay(30.8025104167);
tone(Prl, 82, 69.3056484375);
delay(138.611296875);
delay(6.69619791667);
tone(Prl, 65, 24.1063125);
delay(48.212625);
delay(127.897380208);
delay(175.440385417);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 110, 150.329643229);
delay(300.659286458);
delay(2.67847916667);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
delay(127.227760417);
delay(176.110005208);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 103, 39.8423776042);
delay(79.6847552083);
delay(48.212625);
tone(Prl, 103, 86.7157630208);
delay(173.431526042);
delay(2.67847916667);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 103, 62.274640625);
delay(124.54928125);
delay(3.34809895833);
tone(Prl, 103, 86.380953125);
delay(172.76190625);
delay(3.34809895833);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 51, 73.3233671875);
delay(146.646734375);
delay(157.360651042);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 77, 69.9752682292);
delay(139.950536458);
delay(163.387229167);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 51, 52.23034375);
delay(104.4606875);
delay(22.7670729167);
tone(Prl, 77, 85.7113333333);
delay(171.422666667);
delay(4.68733854167);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
delay(127.227760417);
delay(176.110005208);
tone(Prl, 65, 24.1063125);
delay(48.212625);
delay(304.007385417);
tone(Prl, 82, 10.7139166667);
delay(21.4278333333);
tone(Prl, 65, 13.3923958333);
delay(26.7847916667);
delay(127.897380208);
delay(176.110005208);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 77, 62.274640625);
delay(124.54928125);
delay(3.34809895833);
tone(Prl, 82, 86.380953125);
delay(172.76190625);
delay(3.34809895833);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 82, 62.274640625);
delay(124.54928125);
delay(3.34809895833);
tone(Prl, 82, 86.380953125);
delay(172.76190625);
delay(3.34809895833);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 103, 62.274640625);
delay(124.54928125);
delay(178.788484375);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 82, 75.6670364583);
delay(151.334072917);
delay(152.003692708);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
delay(127.227760417);
tone(Prl, 103, 15.4012552083);
delay(30.8025104167);
tone(Prl, 82, 69.3056484375);
delay(138.611296875);
delay(6.69619791667);
tone(Prl, 65, 24.1063125);
delay(48.212625);
delay(127.897380208);
delay(176.110005208);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 81.0239947917);
delay(162.047989583);
tone(Prl, 110, 5.35695833333);
delay(10.7139166667);
delay(3.34809895833);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 79.0151354167);
delay(158.030270833);
delay(18.079734375);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 103, 39.5075677083);
delay(79.0151354167);
tone(Prl, 103, 86.7157630208);
delay(173.431526042);
delay(2.67847916667);
tone(Prl, 622, 1.33923958333);
delay(2.67847916667);
tone(Prl, 65, 23.1018828125);
delay(46.203765625);
tone(Prl, 103, 62.274640625);
delay(124.54928125);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 103, 62.274640625);
delay(124.54928125);
delay(2.67847916667);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 622, 31.8069401042);
delay(63.6138802083);
tone(Prl, 51, 9.70948697917);
delay(19.4189739583);
tone(Prl, 622, 17.7449244792);
delay(35.4898489583);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 5.35695833333);
delay(10.7139166667);
tone(Prl, 77, 6.36138802083);
delay(12.7227760417);
tone(Prl, 622, 25.1107421875);
delay(50.221484375);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 16.070875);
delay(32.14175);
tone(Prl, 51, 36.4942786458);
delay(72.9885572917);
tone(Prl, 622, 68.6360286458);
delay(137.272057292);
tone(Prl, 77, 16.7404947917);
delay(33.4809895833);
delay(5.35695833333);
tone(Prl, 65, 24.1063125);
delay(48.212625);
delay(176.110005208);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 14.3968255208);
delay(28.7936510417);
tone(Prl, 622, 31.1373203125);
delay(62.274640625);
tone(Prl, 82, 10.7139166667);
delay(21.4278333333);
tone(Prl, 65, 13.7272057292);
delay(27.4544114583);
tone(Prl, 622, 10.7139166667);
delay(21.4278333333);
tone(Prl, 622, 34.4854192708);
delay(68.9708385417);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 622, 13.7272057292);
delay(27.4544114583);
tone(Prl, 77, 48.5474348958);
delay(97.0948697917);
tone(Prl, 622, 83.3676640625);
delay(166.735328125);
tone(Prl, 82, 3.34809895833);
delay(6.69619791667);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 82, 62.6094505208);
delay(125.218901042);
delay(2.67847916667);
tone(Prl, 622, 38.5031380208);
delay(77.0062760417);
tone(Prl, 82, 48.212625);
delay(96.42525);
delay(2.67847916667);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 103, 62.274640625);
delay(124.54928125);
tone(Prl, 622, 31.4721302083);
delay(62.9442604167);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 10.3791067708);
delay(20.7582135417);
tone(Prl, 82, 12.05315625);
delay(24.1063125);
tone(Prl, 622, 75.6670364583);
delay(151.334072917);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 659, 56.2480625);
delay(112.496125);
tone(Prl, 103, 15.4012552083);
delay(30.8025104167);
tone(Prl, 82, 69.3056484375);
delay(138.611296875);
delay(6.026578125);
tone(Prl, 622, 8.70505729167);
delay(17.4101145833);
tone(Prl, 65, 15.7360651042);
delay(31.4721302083);
tone(Prl, 554, 71.3145078125);
delay(142.629015625);
delay(33.4809895833);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 622, 30.4677005208);
delay(60.9354010417);
tone(Prl, 110, 56.2480625);
delay(112.496125);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 10.044296875);
delay(20.08859375);
tone(Prl, 622, 41.8512369792);
delay(83.7024739583);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 103, 39.8423776042);
delay(79.6847552083);
tone(Prl, 659, 22.7670729167);
delay(45.5341458333);
tone(Prl, 622, 44.19490625);
delay(88.3898125);
tone(Prl, 103, 42.186046875);
delay(84.37209375);
tone(Prl, 65, 24.1063125);
delay(48.212625);
delay(39.5075677083);
tone(Prl, 87, 24.4411223958);
delay(48.8822447917);
tone(Prl, 103, 18.079734375);
delay(36.15946875);
delay(3.34809895833);
tone(Prl, 622, 4.68733854167);
delay(9.37467708333);
tone(Prl, 97, 19.4189739583);
delay(38.8379479167);
delay(39.5075677083);
tone(Prl, 87, 24.4411223958);
delay(48.8822447917);
tone(Prl, 103, 18.079734375);
delay(36.15946875);
delay(3.34809895833);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 51, 9.37467708333);
delay(18.7493541667);
tone(Prl, 622, 21.7626432292);
delay(43.5252864583);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 8.37024739583);
delay(16.7404947917);
tone(Prl, 77, 6.36138802083);
delay(12.7227760417);
tone(Prl, 622, 68.30121875);
delay(136.6024375);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 659, 43.8600963542);
delay(87.7201927083);
tone(Prl, 51, 8.37024739583);
delay(16.7404947917);
tone(Prl, 77, 85.7113333333);
delay(171.422666667);
delay(4.68733854167);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 622, 11.0487265625);
delay(22.097453125);
delay(176.110005208);
tone(Prl, 554, 7.70062760417);
delay(15.4012552083);
tone(Prl, 65, 16.4056848958);
delay(32.8113697917);
tone(Prl, 622, 31.4721302083);
delay(62.9442604167);
tone(Prl, 82, 10.7139166667);
delay(21.4278333333);
tone(Prl, 65, 13.3923958333);
delay(26.7847916667);
tone(Prl, 622, 38.8379479167);
delay(77.6758958333);
tone(Prl, 622, 45.5341458333);
delay(91.0682916667);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 12.7227760417);
delay(25.4455520833);
tone(Prl, 77, 49.5518645833);
delay(99.1037291667);
tone(Prl, 622, 31.4721302083);
delay(62.9442604167);
tone(Prl, 82, 54.9088229167);
delay(109.817645833);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 82, 62.274640625);
delay(124.54928125);
delay(2.67847916667);
tone(Prl, 622, 17.0753046875);
delay(34.150609375);
tone(Prl, 82, 69.6404583333);
delay(139.280916667);
delay(2.67847916667);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 103, 62.274640625);
delay(124.54928125);
tone(Prl, 622, 32.4765598958);
delay(64.9531197917);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 622, 10.7139166667);
delay(21.4278333333);
tone(Prl, 82, 12.05315625);
delay(24.1063125);
tone(Prl, 622, 32.14175);
delay(64.2835);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 15.4012552083);
delay(30.8025104167);
tone(Prl, 103, 15.4012552083);
delay(30.8025104167);
tone(Prl, 82, 69.3056484375);
delay(138.611296875);
delay(6.69619791667);
tone(Prl, 622, 8.37024739583);
delay(16.7404947917);
tone(Prl, 65, 15.7360651042);
delay(31.4721302083);
tone(Prl, 587, 57.9221119792);
delay(115.844223958);
delay(60.26578125);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 42.186046875);
delay(84.37209375);
tone(Prl, 110, 44.19490625);
delay(88.3898125);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 12.3879661458);
delay(24.7759322917);
tone(Prl, 622, 34.8202291667);
delay(69.6404583333);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 622, 8.37024739583);
delay(16.7404947917);
tone(Prl, 103, 31.1373203125);
delay(62.274640625);
tone(Prl, 73, 24.4411223958);
delay(48.8822447917);
tone(Prl, 622, 11.7183463542);
delay(23.4366927083);
tone(Prl, 103, 50.5562942708);
delay(101.112588542);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 103, 62.274640625);
delay(124.54928125);
delay(2.67847916667);
tone(Prl, 73, 24.4411223958);
delay(48.8822447917);
delay(39.5075677083);
tone(Prl, 622, 19.7537838542);
delay(39.5075677083);
tone(Prl, 73, 4.35252864583);
delay(8.70505729167);
tone(Prl, 103, 18.4145442708);
delay(36.8290885417);
delay(2.67847916667);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 51, 9.70948697917);
delay(19.4189739583);
tone(Prl, 92, 14.3968255208);
delay(28.7936510417);
tone(Prl, 622, 8.0354375);
delay(16.070875);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 14.062015625);
delay(28.12403125);
tone(Prl, 77, 6.36138802083);
delay(12.7227760417);
tone(Prl, 92, 17.7449244792);
delay(35.4898489583);
tone(Prl, 622, 25.7803619792);
delay(51.5607239583);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 16.7404947917);
delay(33.4809895833);
tone(Prl, 51, 35.8246588542);
delay(71.6493177083);
tone(Prl, 92, 24.1063125);
delay(48.212625);
tone(Prl, 622, 45.1993359375);
delay(90.398671875);
tone(Prl, 77, 16.070875);
delay(32.14175);
delay(5.35695833333);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 92, 24.1063125);
delay(48.212625);
tone(Prl, 587, 57.2524921875);
delay(114.504984375);
delay(12.7227760417);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 92, 24.4411223958);
delay(48.8822447917);
tone(Prl, 622, 9.37467708333);
delay(18.7493541667);
tone(Prl, 82, 10.7139166667);
delay(21.4278333333);
tone(Prl, 65, 13.7272057292);
delay(27.4544114583);
tone(Prl, 622, 10.3791067708);
delay(20.7582135417);
tone(Prl, 92, 24.4411223958);
delay(48.8822447917);
tone(Prl, 622, 11.3835364583);
delay(22.7670729167);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 11.3835364583);
delay(22.7670729167);
tone(Prl, 77, 51.2259140625);
delay(102.451828125);
tone(Prl, 92, 24.1063125);
delay(48.212625);
tone(Prl, 622, 13.3923958333);
delay(26.7847916667);
tone(Prl, 82, 49.2170546875);
delay(98.434109375);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 82, 62.6094505208);
delay(125.218901042);
delay(2.67847916667);
tone(Prl, 92, 24.1063125);
delay(48.212625);
tone(Prl, 622, 15.7360651042);
delay(31.4721302083);
tone(Prl, 82, 46.5385755208);
delay(93.0771510417);
delay(3.34809895833);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 103, 62.274640625);
delay(124.54928125);
tone(Prl, 92, 24.1063125);
delay(48.212625);
tone(Prl, 622, 8.0354375);
delay(16.070875);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 14.062015625);
delay(28.12403125);
tone(Prl, 82, 12.05315625);
delay(24.1063125);
tone(Prl, 92, 12.05315625);
delay(24.1063125);
tone(Prl, 622, 25.7803619792);
delay(51.5607239583);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 16.7404947917);
delay(33.4809895833);
tone(Prl, 103, 15.4012552083);
delay(30.8025104167);
tone(Prl, 92, 9.0398671875);
delay(18.079734375);
tone(Prl, 622, 44.8645260417);
delay(89.7290520833);
tone(Prl, 82, 15.7360651042);
delay(31.4721302083);
delay(6.026578125);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 92, 24.4411223958);
delay(48.8822447917);
tone(Prl, 587, 56.9176822917);
delay(113.835364583);
delay(13.3923958333);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 92, 24.1063125);
delay(48.212625);
tone(Prl, 622, 9.70948697917);
delay(19.4189739583);
tone(Prl, 110, 52.8999635417);
delay(105.799927083);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 10.7139166667);
delay(21.4278333333);
tone(Prl, 92, 24.1063125);
delay(48.212625);
tone(Prl, 622, 11.3835364583);
delay(22.7670729167);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 11.3835364583);
delay(22.7670729167);
tone(Prl, 103, 28.12403125);
delay(56.2480625);
tone(Prl, 92, 24.1063125);
delay(48.212625);
tone(Prl, 622, 13.3923958333);
delay(26.7847916667);
tone(Prl, 103, 48.8822447917);
delay(97.7644895833);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 103, 62.274640625);
delay(124.54928125);
delay(3.34809895833);
tone(Prl, 92, 24.1063125);
delay(48.212625);
tone(Prl, 622, 15.7360651042);
delay(31.4721302083);
tone(Prl, 103, 46.5385755208);
delay(93.0771510417);
delay(3.34809895833);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 51, 9.70948697917);
delay(19.4189739583);
tone(Prl, 92, 14.7316354167);
delay(29.4632708333);
tone(Prl, 622, 8.0354375);
delay(16.070875);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 622, 13.7272057292);
delay(27.4544114583);
tone(Prl, 77, 6.36138802083);
delay(12.7227760417);
tone(Prl, 92, 18.079734375);
delay(36.15946875);
tone(Prl, 622, 25.4455520833);
delay(50.8911041667);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 622, 16.7404947917);
delay(33.4809895833);
tone(Prl, 51, 35.4898489583);
delay(70.9796979167);
tone(Prl, 92, 24.1063125);
delay(48.212625);
tone(Prl, 622, 45.1993359375);
delay(90.398671875);
tone(Prl, 77, 16.070875);
delay(32.14175);
delay(5.35695833333);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 92, 24.1063125);
delay(48.212625);
tone(Prl, 587, 57.2524921875);
delay(114.504984375);
delay(13.3923958333);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 92, 24.1063125);
delay(48.212625);
tone(Prl, 622, 9.70948697917);
delay(19.4189739583);
tone(Prl, 82, 10.7139166667);
delay(21.4278333333);
tone(Prl, 65, 13.3923958333);
delay(26.7847916667);
tone(Prl, 622, 10.7139166667);
delay(21.4278333333);
tone(Prl, 92, 24.1063125);
delay(48.212625);
tone(Prl, 622, 11.3835364583);
delay(22.7670729167);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 11.3835364583);
delay(22.7670729167);
tone(Prl, 77, 50.8911041667);
delay(101.782208333);
tone(Prl, 92, 24.1063125);
delay(48.212625);
tone(Prl, 622, 13.0575859375);
delay(26.115171875);
tone(Prl, 82, 49.2170546875);
delay(98.434109375);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 82, 62.274640625);
delay(124.54928125);
delay(2.67847916667);
tone(Prl, 92, 24.4411223958);
delay(48.8822447917);
tone(Prl, 622, 15.7360651042);
delay(31.4721302083);
tone(Prl, 82, 46.5385755208);
delay(93.0771510417);
delay(2.67847916667);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 103, 62.274640625);
delay(124.54928125);
tone(Prl, 92, 24.4411223958);
delay(48.8822447917);
tone(Prl, 622, 8.0354375);
delay(16.070875);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 14.062015625);
delay(28.12403125);
tone(Prl, 82, 12.05315625);
delay(24.1063125);
tone(Prl, 92, 12.05315625);
delay(24.1063125);
tone(Prl, 622, 25.7803619792);
delay(51.5607239583);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 622, 17.0753046875);
delay(34.150609375);
tone(Prl, 103, 15.4012552083);
delay(30.8025104167);
tone(Prl, 92, 8.70505729167);
delay(17.4101145833);
tone(Prl, 622, 45.1993359375);
delay(90.398671875);
tone(Prl, 82, 15.4012552083);
delay(30.8025104167);
delay(6.69619791667);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 92, 24.1063125);
delay(48.212625);
tone(Prl, 659, 57.2524921875);
delay(114.504984375);
delay(13.3923958333);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 92, 24.1063125);
delay(48.212625);
tone(Prl, 622, 9.37467708333);
delay(18.7493541667);
tone(Prl, 110, 52.8999635417);
delay(105.799927083);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 622, 10.7139166667);
delay(21.4278333333);
tone(Prl, 92, 24.4411223958);
delay(48.8822447917);
tone(Prl, 622, 11.3835364583);
delay(22.7670729167);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 622, 11.3835364583);
delay(22.7670729167);
tone(Prl, 103, 28.12403125);
delay(56.2480625);
tone(Prl, 73, 24.4411223958);
delay(48.8822447917);
tone(Prl, 622, 13.0575859375);
delay(26.115171875);
tone(Prl, 103, 49.2170546875);
delay(98.434109375);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 103, 62.6094505208);
delay(125.218901042);
delay(2.67847916667);
tone(Prl, 73, 24.1063125);
delay(48.212625);
tone(Prl, 622, 15.7360651042);
delay(31.4721302083);
tone(Prl, 103, 46.8733854167);
delay(93.7467708333);
delay(2.67847916667);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 77, 56.5828723958);
delay(113.165744792);
delay(14.7316354167);
tone(Prl, 92, 24.1063125);
delay(48.212625);
delay(127.897380208);
tone(Prl, 55, 24.1063125);
delay(48.212625);
tone(Prl, 77, 60.26578125);
delay(120.5315625);
delay(7.36581770833);
tone(Prl, 92, 24.1063125);
delay(48.212625);
delay(127.897380208);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 77, 51.2259140625);
delay(102.451828125);
delay(25.4455520833);
tone(Prl, 92, 24.1063125);
delay(48.212625);
delay(39.5075677083);
delay(88.3898125);
tone(Prl, 55, 24.1063125);
delay(48.212625);
tone(Prl, 77, 4.35252864583);
delay(8.70505729167);
delay(118.522703125);
tone(Prl, 92, 24.4411223958);
delay(48.8822447917);
tone(Prl, 82, 59.5961614583);
delay(119.192322917);
delay(8.0354375);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
delay(127.227760417);
tone(Prl, 92, 24.4411223958);
delay(48.8822447917);
delay(127.227760417);
tone(Prl, 55, 24.4411223958);
delay(48.8822447917);
delay(127.227760417);
tone(Prl, 92, 24.1063125);
delay(48.212625);
delay(127.897380208);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 92, 24.1063125);
delay(48.212625);
delay(127.897380208);
tone(Prl, 55, 24.1063125);
delay(48.212625);
delay(39.5075677083);
tone(Prl, 92, 24.1063125);
delay(48.212625);
delay(127.897380208);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 77, 32.4765598958);
delay(64.9531197917);
delay(14.7316354167);
tone(Prl, 92, 24.1063125);
delay(48.212625);
delay(127.897380208);
tone(Prl, 55, 24.1063125);
delay(48.212625);
tone(Prl, 77, 55.9132526042);
delay(111.826505208);
delay(6.69619791667);
tone(Prl, 92, 24.4411223958);
delay(48.8822447917);
delay(127.227760417);
tone(Prl, 65, 15.4012552083);
delay(30.8025104167);
tone(Prl, 77, 51.2259140625);
delay(102.451828125);
delay(24.7759322917);
tone(Prl, 92, 24.4411223958);
delay(48.8822447917);
delay(39.5075677083);
tone(Prl, 65, 24.1063125);
delay(48.212625);
delay(22.097453125);
tone(Prl, 55, 24.4411223958);
delay(48.8822447917);
tone(Prl, 77, 4.35252864583);
delay(8.70505729167);
delay(118.522703125);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 82, 26.7847916667);
delay(53.5695833333);
delay(8.0354375);
tone(Prl, 65, 24.1063125);
delay(48.212625);
delay(127.897380208);
tone(Prl, 65, 22.7670729167);
delay(45.5341458333);
tone(Prl, 659, 44.5297161458);
delay(89.0594322917);
tone(Prl, 82, 4.68733854167);
delay(9.37467708333);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 659, 56.5828723958);
delay(113.165744792);
tone(Prl, 82, 5.69176822917);
delay(11.3835364583);
delay(3.34809895833);
tone(Prl, 65, 6.69619791667);
delay(13.3923958333);
tone(Prl, 659, 57.9221119792);
delay(115.844223958);
tone(Prl, 82, 4.35252864583);
delay(8.70505729167);
delay(3.34809895833);
tone(Prl, 65, 20.7582135417);
delay(41.5164270833);
tone(Prl, 659, 59.9309713542);
delay(119.861942708);
tone(Prl, 82, 0.669619791667);
delay(1.33923958333);
delay(3.34809895833);
tone(Prl, 65, 22.4322630208);
delay(44.8645260417);
tone(Prl, 659, 46.5385755208);
delay(93.0771510417);
tone(Prl, 82, 15.7360651042);
delay(31.4721302083);
delay(3.34809895833);
tone(Prl, 65, 23.7715026042);
delay(47.5430052083);
tone(Prl, 739, 9.37467708333);
delay(18.7493541667);
tone(Prl, 92, 11.0487265625);
delay(22.097453125);
delay(3.34809895833);
tone(Prl, 659, 75.3322265625);
delay(150.664453125);
tone(Prl, 82, 9.37467708333);
delay(18.7493541667);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 77, 34.4854192708);
delay(68.9708385417);
tone(Prl, 65, 24.4411223958);
delay(48.8822447917);
tone(Prl, 77, 57.9221119792);
delay(115.844223958);
tone(Prl, 65, 17.4101145833);
delay(34.8202291667);
tone(Prl, 77, 51.5607239583);
delay(103.121447917);
delay(26.115171875);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 77, 4.35252864583);
delay(8.70505729167);
tone(Prl, 82, 29.1284609375);
delay(58.256921875);
delay(8.0354375);
tone(Prl, 65, 24.1063125);
delay(48.212625);
tone(Prl, 164, 86.380953125);
delay(172.76190625);
}
}
if ((digitalRead(BUTTON_SELECT_PIN) == HIGH) && (button_select_clicked == 1)) {
button_select_clicked = 0;
}
item_sel_previous = item_selected - 1;
if (item_sel_previous < 0) {item_sel_previous = NUM_ITEMS - 1;}
item_sel_next = item_selected + 1;
if (item_sel_next >= NUM_ITEMS) {item_sel_next = 0;}
u8g.firstPage();
u8g.drawBitmapP(0, 22, 128/8, 21, bitmap_item_sel_outline);
u8g.setFont(u8g_font_7x14);
u8g.drawStr(25, 15, menu_items[item_sel_previous]);
u8g.drawBitmapP( 4, 2, 16/8, 16, epd_bitmap_Logo_disco);
u8g.setFont(u8g_font_7x14B);
u8g.drawStr(25, 15+20+2, menu_items[item_selected]);
u8g.drawBitmapP( 4, 24, 16/8, 16, epd_bitmap_Logo_disco);
u8g.setFont(u8g_font_7x14);
u8g.drawStr(25, 15+20+20+2+2, menu_items[item_sel_next]);
u8g.drawBitmapP( 4, 46, 16/8, 16, epd_bitmap_Logo_disco);
u8g.drawBitmapP(128-8, 0, 8/8, 64, bitmap_scrollbar_background);
u8g.drawBox(125, 64/NUM_ITEMS * item_selected, 3, 64/NUM_ITEMS);
u8g.drawBitmapP(128-16-4, 64-4, 16/8, 4, upir_logo);
}
if (Mode=0){
while(digitalRead(C) == LOW);
{
tone(Prl,262,100);
}
while(digitalRead(D) == LOW);
{
tone(Prl,294,100);
}
while(digitalRead(E) == LOW);
{
tone(Prl,330,100);
}
while(digitalRead(F) == LOW);
{
tone(Prl,349,100);
}
while(digitalRead(G) == LOW);
{
tone(Prl,392,100);
}
while(digitalRead(A) == LOW);
{
tone(Prl,440,100);
}
while(digitalRead(B) == LOW);
{
tone(Prl,494,100);
}
noTone(Prl);
}
}