Hirdetés
- Fotók, videók mobillal
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Xiaomi 15T Pro - a téma nincs lezárva
- Miért fárad gyorsabban az iPhone akku, mint az androidos?
- Huawei Watch 4 Pro - kívül-belül domborít
- Kis méret, nagy változás a Motorolánál
- Hét évig frissül az új iQOO
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Közönséges Snapdragon 8 Gen 5-ös szettel készül a Qualcomm
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
-
Mobilarena
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Teasüti
nagyúr
Üdv urak!
Nagy a baj.
Elkezdtem menüt faragni 1604-es karakteres lcd-re és hozzá egy utasításkezelő rutint, viszont olyan hatalmas lett (és még nincs 100% kész), hogy máris elfogyott a rom.
Nézegettem kész megoldásokat, viszont az osztálykezelés nekem kínai, így state machine-ben csináltam kézzel az összes lehetséges opciót. Nos ez zsákutca.
Kérhetnék segítséget hogy lehetne az alábbit megoldani kisebb kóddal?
Az osztályokban történő kódolás miben különbözik ettől? Azon kívül, hogy olyan bonyolult, hogy beleszagolni se tudok.
Esetleg egy iszonyú szájbarágós tutorial osztálykezelésre? Igazából még azt sem tudom mire jó ez, csak láttam, hogy ebben írtak menüket mások.Az alsó semmi extra, csak sorszámozott képernyők az LCD-n. A menu változó hivatkozik egy adott oldalra, mely tartalmat jeleníti meg. A felső funkció pedig a távirányító egy adott gombjára* (külső switch) és adott oldalra menüben (belső switch) csinál vmit: lapozás, értékadás, stb.
*pl. távirányító 1-9 számgombjai, vagy a kurzor nyilai a numerikus bill.-en vett helyei alapján 14 - balra, 16 - jobbra, 15 - OK, stb.
void menuHandler(byte button) {
if (inMenu) {
lcd_update = true;
switch (button) {
case 10:
switch (menu) {
case 81:
rtc[5] = 0;
menu++;
break;
case 82:
rtc[4] = 0;
menu++;
break;
case 83:
rtc[3] = 0;
menu++;
break;
case 84:
rtc[2] = 0;
menu++;
break;
case 85:
rtc[1] = 0;
menu++;
break;
case 86:
rtc[0] = 0;
menu = 80;
break;
case 91:
evening[3] = 0;
menu++;
break;
case 92:
evening[2] = 0;
menu++;
break;
case 93:
evening[1] = 0;
menu++;
break;
case 94:
evening[0] = 0;
menu = 90;
break;
case 101:
morning[3] = 0;
menu++;
break;
case 102:
morning[2] = 0;
menu++;
break;
case 103:
morning[1] = 0;
menu++;
break;
case 104:
morning[0] = 0;
menu = 100;
break;
}
break;
case 1:
switch (menu) {
case 81:
rtc[5] = 1;
menu++;
break;
case 82:
rtc[4] = 1;
menu++;
break;
case 83:
rtc[3] = 1;
menu++;
break;
case 84:
rtc[2] = 1;
menu++;
break;
case 85:
rtc[1] = 1;
menu++;
break;
case 86:
rtc[0] = 1;
menu = 80;
break;
case 91:
evening[3] = 0;
menu++;
break;
case 92:
evening[2] = 0;
menu++;
break;
case 93:
evening[1] = 0;
menu++;
break;
case 94:
evening[0] = 0;
menu = 90;
break;
case 101:
morning[3] = 0;
menu++;
break;
case 102:
morning[2] = 0;
menu++;
break;
case 103:
morning[1] = 0;
menu++;
break;
case 104:
morning[0] = 0;
menu = 100;
break;
}
break;
case 2:
switch (menu) {
case 81:
rtc[5] = 2;
if (rtc[4] > 3) rtc[4] = 3;
menu++;
break;
case 82:
rtc[4] = 2;
menu++;
break;
case 83:
rtc[3] = 2;
menu++;
break;
case 84:
rtc[2] = 2;
menu++;
break;
case 85:
rtc[1] = 2;
menu++;
break;
case 86:
rtc[0] = 2;
menu = 80;
break;
case 91:
evening[3] = 0;
menu++;
break;
case 92:
evening[2] = 0;
menu++;
break;
case 93:
evening[1] = 0;
menu++;
break;
case 94:
evening[0] = 0;
menu = 90;
break;
case 101:
morning[3] = 0;
menu++;
break;
case 102:
morning[2] = 0;
menu++;
break;
case 103:
morning[1] = 0;
menu++;
break;
case 104:
morning[0] = 0;
menu = 100;
break;
}
break;
case 3:
switch (menu) {
case 82:
rtc[4] = 3;
menu++;
break;
case 83:
rtc[3] = 3;
menu++;
break;
case 84:
rtc[2] = 3;
menu++;
break;
case 85:
rtc[1] = 3;
menu++;
break;
case 86:
rtc[0] = 3;
menu = 80;
break;
case 91:
evening[3] = 0;
menu++;
break;
case 92:
evening[2] = 0;
menu++;
break;
case 93:
evening[1] = 0;
menu++;
break;
case 94:
evening[0] = 0;
menu = 90;
break;
case 101:
morning[3] = 0;
menu++;
break;
case 102:
morning[2] = 0;
menu++;
break;
case 103:
morning[1] = 0;
menu++;
break;
case 104:
morning[0] = 0;
menu = 100;
break;
}
break;
case 4:
switch (menu) {
case 82:
if (rtc[5] < 2) rtc[4] = 4;
menu++;
break;
case 83:
rtc[3] = 4;
menu++;
break;
case 84:
rtc[2] = 4;
menu++;
break;
case 85:
rtc[1] = 4;
menu++;
break;
case 86:
rtc[0] = 4;
menu = 80;
break;
}
break;
case 5:
switch (menu) {
case 82:
if (rtc[5] < 2) rtc[4] = 5;
menu++;
break;
case 83:
rtc[3] = 5;
menu++;
break;
case 84:
rtc[2] = 5;
menu++;
break;
case 85:
rtc[1] = 5;
menu++;
break;
case 86:
rtc[0] = 5;
menu = 80;
break;
}
break;
case 6:
switch (menu) {
case 82:
if (rtc[5] < 2) rtc[4] = 6;
menu++;
break;
case 84:
rtc[2] = 6;
menu++;
break;
case 86:
rtc[0] = 6;
menu = 80;
break;
}
break;
case 7:
switch (menu) {
case 82:
if (rtc[5] < 2) rtc[4] = 7;
menu++;
break;
case 84:
rtc[2] = 7;
menu++;
break;
case 86:
rtc[0] = 7;
menu = 80;
break;
}
break;
case 8:
switch (menu) {
case 82:
if (rtc[5] < 2) rtc[4] = 8;
menu++;
break;
case 84:
rtc[2] = 8;
menu++;
break;
case 86:
rtc[0] = 8;
menu = 80;
break;
}
break;
case 9:
switch (menu) {
case 82:
if (rtc[5] < 2) rtc[4] = 9;
menu++;
break;
case 84:
rtc[2] = 9;
menu++;
break;
case 86:
rtc[0] = 9;
menu = 80;
break;
}
break;
case 15:
switch (menu) {
case 51:
menu = 52;
break;
case 52:
L1switch = analogRead(A1);
break;
case 53:
menu = 54;
break;
case 54:
L2switch = analogRead(A2);
break;
case 56:
L1max = 0;
L1min = 1023;
L2max = 0;
L2min = 1023;
EEPROM.put(0, L1max);
EEPROM.put(2, L1min);
EEPROM.put(10, L2max);
EEPROM.put(12, L2min);
menu = 57;
break;
default:
goto select;
break;
}
break;
case 14:
if (menu >= 20 && menu < 30) menu = 11;
else if (menu < 20) {
menu = 1;
inMenu = false;
}
if (menu >= 40 && menu < 50) menu = 12;
if (menu == 60 || menu == 61) menu = 13;
if (menu >= 70 && menu < 80) menu = 14;
if (menu > 80 && menu <= 86) {
menu--;
break;
}
if (menu > 90 && menu <= 94) {
menu--;
break;
}
switch (menu) {
case 30:
menu = 20;
EEPROM.put(4, Bmax);
break;
case 31:
menu = 21;
EEPROM.put(5, Bmin);
break;
case 32:
menu = 22;
EEPROM.put(6, standby_light);
break;
case 33:
menu = 23;
EEPROM.put(7, default_timeout);
break;
case 34:
menu = 24;
EEPROM.put(8, white);
break;
case 35:
menu = 25;
EEPROM.put(9, gamma_correction);
break;
case 50:
menu = 40;
break;
case 51:
menu = 41;
break;
case 52:
menu = 41;
EEPROM.put(14, L1switch);
break;
case 53:
menu = 42;
break;
case 54:
menu = 42;
EEPROM.put(16, L2switch);
break;
case 55:
menu = 43;
break;
case 56:
menu = 44;
break;
case 57:
menu = 44;
break;
case 64:
menu = 60;
EEPROM.put(18, lcd_light);
break;
case 63:
menu = 61;
EEPROM.put(19, lcd_maxBrightness);
break;
case 80:
setRTC();
menu = 70;
break;
case 90:
EEPROM.put(20, evening);
menu = 71;
break;
case 100:
EEPROM.put(24, morning);
menu = 72;
break;
}
break;
case 16:
select:
if (menu >= 80 && menu < 86) menu++;
if (menu >= 90 && menu < 94) menu++;
if (menu >= 100 && menu < 104) menu++;
switch (menu) {
case 9:
menu = 10;
break;
case 10:
menu = 11;
break;
case 11:
menu = 20;
break;
case 12:
menu = 40;
break;
case 13:
menu = 60;
break;
case 14:
menu = 70;
break;
case 20:
menu = 30;
break;
case 21:
menu = 31;
break;
case 22:
menu = 32;
break;
case 23:
menu = 33;
break;
case 24:
menu = 34;
break;
case 25:
menu = 35;
break;
case 40:
menu = 50;
break;
case 41:
menu = 51;
break;
case 42:
menu = 53;
break;
case 43:
menu = 55;
break;
case 44:
menu = 56;
break;
case 51:
menu = 52;
break;
case 53:
menu = 54;
break;
case 60:
menu = 64;
break;
case 61:
menu = 63;
break;
case 70:
menu = 80;
break;
case 71:
menu = 90;
break;
case 72:
menu = 100;
break;
}
break;
case 18:
if (menu > 10 && menu < 20) menu--;
if (menu >= 20 && menu <= 25) menu--;
if (menu >= 40 && menu <= 44) menu--;
if (menu == 30 && Bmax < 254) {
Bmax += 1;
if (Bmax > maxBrightness) Bmax = maxBrightness;
}
if (menu == 33 && default_timeout < 119) default_timeout++;
if (menu == 52 && L1switch < L1max) L1switch++;
if (menu == 54 && L2switch < L2max) L2switch++;
if (menu == 60 || menu == 61) menu--;
if (menu == 63 && lcd_maxBrightness < 255) lcd_maxBrightness += 5;
if (menu >= 70 && menu <= 72) menu--;
switch (menu) {
case 10:
menu = 14;
break;
case 19:
menu = 25;
break;
case 39:
menu = 44;
break;
case 31:
Bmin += 1;
if (Bmin > Bmax) Bmin = Bmax;
break;
case 32:
standby_light = true;
break;
case 34:
white = true;
break;
case 35:
gamma_correction = true;
break;
case 50:
auto_light = true;
break;
case 55:
auto_dim = true;
break;
case 59:
menu = 61;
break;
case 64:
lcd_light = true;
break;
case 69:
menu = 72;
break;
}
break;
case 12:
if (menu < 15) menu++;
if (menu >= 20 && menu <= 25) menu++;
if (menu >= 40 && menu <= 44) menu++;
if (menu == 31 && Bmin > 0) Bmin--;
if (menu == 33 && default_timeout > 10) default_timeout--;
if (menu == 52 && L1switch > L1min) L1switch--;
if (menu == 54 && L2switch > L2min) L2switch--;
if (menu == 60 || menu == 61) menu++;
if (menu == 63 && lcd_maxBrightness > 20) lcd_maxBrightness -= 5;
if (menu >= 70 && menu <= 72) menu++;
switch (menu) {
case 15:
menu = 11;
break;
case 26:
menu = 20;
break;
case 45:
menu = 40;
break;
case 30:
Bmax -= 1;
if (Bmax < Bmin) Bmax = Bmin;
break;
case 32:
standby_light = false;
break;
case 34:
white = false;
break;
case 35:
gamma_correction = false;
break;
case 50:
auto_light = false;
break;
case 55:
auto_dim = false;
break;
case 62:
menu = 60;
break;
case 64:
lcd_light = false;
break;
case 73:
menu = 70;
break;
}
break;
}
Serial.print(F("Menu: "));
Serial.println(menu);
}
}
void lcd_menu(uint16_t page) {
byte temp;
if (menu <= 80 || menu == 90 || menu == 100) {
lcd.clear();
lcd.setCursor(0, 0);
}
switch (page) {
case 0: //welcome
lcd.print(F("Stairlights v1.0"));
lcd.setCursor(0, 1);
lcd.print(F("by Istvan Kocsis"));
break;
case 1:
if (mode == 0) lcd.print(F("Standby..."));
else if (mode == 255) lcd.print(F("Adjusting..."));
else lcd.print(F("Active..."));
lcd.setCursor(0, 1);
lcd.print(F("Press OK to menu"));
break;
case 2:
if (mode == 0) lcd.print(F("Standby..."));
else if (mode == 255) lcd.print(F("Adjusting..."));
else lcd.print(F("Active..."));
lcd.setCursor(0, 1);
lcd.print(F("Press any to set"));
break;
case 3:
if (mode == 0) lcd.print(F("Standby..."));
else if (mode == 255) lcd.print(F("Adjusting..."));
else lcd.print(F("Active..."));
lcd.setCursor(0, 1);
lcd.print(F("FPS:"));
if (fps > 9) lcd.setCursor(5, 1);
else lcd.setCursor(6, 1);
lcd.print(fps);
lcd.setCursor(8, 1);
lcd.print(F("CPS:"));
lcd.print(cps);
break;
case 4:
readRTC();
lcd.print(F("Time:"));
lcd.setCursor(8, 0);
lcd.print(rtc[5]);
lcd.print(rtc[4]);
lcd.print(F(":"));
lcd.print(rtc[3]);
lcd.print(rtc[2]);
lcd.print(F(":"));
lcd.print(rtc[1]);
lcd.print(rtc[0]);
lcd.setCursor(0, 1);
lcd.print(F("FPS:"));
if (fps > 9) lcd.setCursor(5, 1);
else lcd.setCursor(6, 1);
lcd.print(fps);
lcd.setCursor(8, 1);
lcd.print(F("CPS:"));
lcd.print(cps);
break;
case 9: //inMenu
lcd.write(byte(2));
lcd.setCursor(2, 0);
lcd.print(F("to scroll"));
lcd.setCursor(0, 1);
lcd.write(byte(0));
lcd.setCursor(1, 1);
lcd.print(F(" to go back"));
break;
case 10: //inMenu
lcd.write(byte(1));
lcd.setCursor(2, 0);
lcd.print(F("or OK"));
lcd.setCursor(0, 1);
lcd.print(F("to select"));
break;
case 11: //LED settings
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("LED"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("settings"));
break;
case 12: //Sensor settings
lcd.write(byte(3));
lcd.setCursor(2, 0);
lcd.print(F("Ambient light"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.print(F("sensor settings"));
break;
case 13: //LCD settings
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("Display"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("settings"));
break;
case 14: //time settings
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("Date/Time"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("setting"));
break;
case 20: //LED submenu
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("LED max"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("brightness"));
break;
case 21: //LED submenu
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("LED min"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("brightness"));
break;
case 22: //LED submenu
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("LED standby"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("running light"));
break;
case 23: //LED submenu
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("LED"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("timeout"));
break;
case 24: //LED submenu
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("LED color"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("set"));
break;
case 25: //LED gamma
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("LED gamma"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("correction"));
break;
case 30: //LED max brightness
lcd.print(F("Max brightness:"));
lcd.setCursor(0, 1);
lcd.write(byte(2));
lcd.setCursor(2, 1);
lcd.print(Bmax);
break;
case 31: //LED min brightness
lcd.print(F("Min brightness:"));
lcd.setCursor(0, 1);
lcd.write(byte(2));
lcd.setCursor(2, 1);
lcd.print(Bmin);
break;
case 32: //LED standby
lcd.print(F("Standby light:"));
lcd.setCursor(0, 1);
lcd.write(byte(2));
lcd.setCursor(2, 1);
if (standby_light) lcd.print(F("ON"));
else lcd.print(F("OFF"));
break;
case 33: //LED timeout
lcd.print(F("LED timeout:"));
lcd.setCursor(0, 1);
lcd.write(byte(2));
lcd.setCursor(2, 1);
lcd.print(default_timeout);
lcd.print(F(" sec"));
break;
case 34: //LED color
lcd.print(F("Default mode:"));
lcd.setCursor(0, 1);
lcd.write(byte(2));
lcd.setCursor(2, 1);
if (white) lcd.print(F("White"));
else lcd.print(F("Color"));
break;
case 35: //LED gamma
lcd.print(F("Correction:"));
lcd.setCursor(0, 1);
lcd.write(byte(2));
lcd.setCursor(2, 1);
if (gamma_correction) lcd.print(F("ON"));
else lcd.print(F("OFF"));
break;
case 40: //Sensor auto light
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("Ambient light"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("activating"));
break;
case 41: //Sensor adjust
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("Primary light"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("sensor"));
break;
case 42: //Sensor adjust
lcd.write(byte(3));
lcd.setCursor(1, 0);
lcd.print(F("Secondary light"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("sensor"));
break;
case 43:
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("Auto dimming"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("in the dark"));
break;
case 44: //Sensor calibration
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("Light sensor"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("recalibration"));
break;
case 50:
lcd.print(F("Only in dark?"));
lcd.setCursor(0, 1);
lcd.write(byte(2));
lcd.setCursor(2, 1);
if (auto_light) lcd.print(F("Auto ON"));
else lcd.print(F("Always ACTIVE"));
break;
case 51:
lcd.print(F("OK: read sensor"));
lcd.setCursor(0, 1);
lcd.write(byte(2));
lcd.setCursor(1, 1);
lcd.print(F(": to adjust"));
break;
case 52:
temp = map(L1switch, L1min, L1max, 0, 100);
lcd.print(F("Sensitivity:"));
lcd.setCursor(0, 1);
lcd.write(byte(2));
if (L1switch > 99) lcd.setCursor(2, 1);
else if (L1switch > 9) lcd.setCursor(3, 1);
else lcd.setCursor(4, 1);
lcd.print(L1switch);
if (temp < 10 ) lcd.setCursor(7, 1);
else lcd.setCursor(6, 1);
lcd.print(temp);
lcd.print(F("% of max"));
break;
case 53:
lcd.print(F("OK: read sensor"));
lcd.setCursor(0, 1);
lcd.write(byte(2));
lcd.setCursor(1, 1);
lcd.print(F(": to adjust"));
break;
case 54:
temp = map(L2switch, L2min, L2max, 0, 100);
lcd.print(F("Sensitivity:"));
lcd.setCursor(0, 1);
lcd.write(byte(2));
if (L2switch > 99) lcd.setCursor(2, 1);
else if (L2switch > 9) lcd.setCursor(3, 1);
else lcd.setCursor(4, 1);
lcd.print(L2switch);
if (temp < 10 ) lcd.setCursor(7, 1);
else lcd.setCursor(6, 1);
lcd.print(temp);
lcd.print(F("% of max"));
break;
case 55:
lcd.write(byte(2));
lcd.setCursor(2, 0);
lcd.print(F("Auto dimming"));
lcd.setCursor(0, 1);
if (auto_dim) lcd.print(F("ON: dim in dark"));
else lcd.print(F("OFF: full power"));
break;
case 56:
lcd.print(F("OK to reset"));
lcd.setCursor(0, 1);
lcd.print(F("stored values?"));
break;
case 57:
lcd.print(F("Calibration data"));
lcd.setCursor(0, 1);
lcd.print(F("cleared!"));
break;
case 60:
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("LCD backlight"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("mode"));
break;
case 61:
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("LCD"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("brightness"));
break;
case 63:
lcd.print(F("Brightness:"));
lcd.setCursor(0, 1);
lcd.write(byte(2));
lcd.setCursor(2, 1);
lcd.print(lcd_maxBrightness);
break;
case 64:
lcd.write(byte(2));
lcd.setCursor(2, 0);
lcd.print(F("Auto dimming"));
lcd.setCursor(0, 1);
if (lcd_light) lcd.print(F("Always ON"));
else lcd.print(F("Auto OFF"));
break;
case 70:
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("Set time"));
lcd.setCursor(0, 1);
lcd.write(byte(4));;
break;
case 71:
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("Set start of"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("night mode"));
break;
case 72:
lcd.write(byte(3));
lcd.setCursor(3, 0);
lcd.print(F("Set end of"));
lcd.setCursor(0, 1);
lcd.write(byte(4));
lcd.setCursor(3, 1);
lcd.print(F("night mode"));
break;
case 80:
lcd.print(F("Time:"));
lcd.setCursor(8, 0);
lcd.print(rtc[5]);
lcd.print(rtc[4]);
lcd.print(F(":"));
lcd.print(rtc[3]);
lcd.print(rtc[2]);
lcd.print(F(":"));
lcd.print(rtc[1]);
lcd.print(rtc[0]);
lcd.setCursor(0, 1);
lcd.write(byte(0));
lcd.write(byte(1));
break;
case 81:
lcd.setCursor(8, 0);
lcd.print(F("_"));
lcd.print(rtc[4]);
break;
case 82:
lcd.setCursor(8, 0);
lcd.print(rtc[5]);
lcd.print(F("_"));
lcd.print(F(":"));
lcd.print(rtc[3]);
break;
case 83:
lcd.setCursor(9, 0);
lcd.print(rtc[4]);
lcd.print(F(":"));
lcd.print(F("_"));
lcd.print(rtc[2]);
break;
case 84:
lcd.setCursor(11, 0);
lcd.print(rtc[3]);
lcd.print(F("_"));
lcd.print(F(":"));
lcd.print(rtc[1]);
break;
case 85:
lcd.setCursor(12, 0);
lcd.print(rtc[2]);
lcd.print(F(":"));
lcd.print(F("_"));
lcd.print(rtc[0]);
break;
case 86:
lcd.setCursor(14, 0);
lcd.print(rtc[1]);
lcd.print(F("_"));
break;
case 90:
lcd.print(F("Evening starts at"));
lcd.setCursor(0, 1);
lcd.write(byte(0));
lcd.write(byte(1));
lcd.setCursor(7, 1);
lcd.print(evening[3]);
lcd.print(evening[2]);
lcd.print(F(":"));
lcd.print(evening[1]);
lcd.print(evening[0]);
break;
case 91:
lcd.setCursor(7, 1);
lcd.print(F("_"));
lcd.print(evening[2]);
break;
case 92:
lcd.setCursor(7, 1);
lcd.print(evening[3]);
lcd.print(F("_"));
lcd.print(F(":"));
lcd.print(evening[1]);
break;
case 93:
lcd.setCursor(8, 1);
lcd.print(evening[2]);
lcd.print(F(":"));
lcd.print(F("_"));
lcd.print(evening[0]);
break;
case 94:
lcd.setCursor(10, 1);
lcd.print(evening[1]);
lcd.print(F("_"));
break;
case 100:
lcd.print(F("Morning starts at"));
lcd.setCursor(0, 1);
lcd.write(byte(0));
lcd.write(byte(1));
lcd.setCursor(7, 1);
lcd.print(morning[3]);
lcd.print(morning[2]);
lcd.print(F(":"));
lcd.print(morning[1]);
lcd.print(morning[0]);
break;
case 101:
lcd.setCursor(7, 1);
lcd.print(F("_"));
lcd.print(morning[2]);
break;
case 102:
lcd.setCursor(7, 1);
lcd.print(morning[3]);
lcd.print(F("_"));
lcd.print(F(":"));
lcd.print(morning[1]);
break;
case 103:
lcd.setCursor(8, 1);
lcd.print(morning[2]);
lcd.print(F(":"));
lcd.print(F("_"));
lcd.print(morning[0]);
break;
case 104:
lcd.setCursor(10, 1);
lcd.print(morning[1]);
lcd.print(F("_"));
break;
}
}
Új hozzászólás Aktív témák
- Szigorúan titkos dokumentumokkal a kezében távozott az Intel egyik mérnöke
- One otthoni szolgáltatások (TV, internet, telefon)
- Víz- gáz- és fűtésszerelés
- Mibe tegyem a megtakarításaimat?
- Gumi és felni topik
- Fotók, videók mobillal
- Elon Musk billiomos lesz, ha kitör a gépek forradalma
- Kertészet, mezőgazdaság topik
- Vezeték nélküli fülhallgatók
- Milyen routert?
- További aktív témák...
- Hp Zbook Fury G7 " Gyári magyar Bill " Sok - Sok darab!!!!
- Bomba áron GIGABYTE G5 /I7-13620H 16GB 1 TB SSD Nvidia RTX 4050 6GB 144 Hz FHD IPS
- Honor Pad X8 / 4/64GB / Wi-Fi / 12 Hó Garancia
- Samsung Galaxy A16 / 4/128GB / Kártyafüggetlen / 12Hó Garancia
- Samsung Galaxy A53 5G / 6/128GB / Kártyafüggetlen / 12 Hó Garancia
- Samsung Galaxy S25 Edge Titanium Jetblack 120 Hz AMOLED, AI-kamera 12/256 GB Újszerű karcmentes
- HIBÁTLAN iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3734
- GYÖNYÖRŰ iPhone 13 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3437, 100% Akkumulátor
- LG 55C4 - 48" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - A9 Gen7 CPU
- LG UltraFine 4K és Smart Monitorok: BLACK NOVEMBER -30%
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő


ekkold

