#include #define data 10 #define clock 11 //közös anódos kijelző byte zero = B00000011; byte one = B10011111; byte two = B00100101; byte three = B00001101; byte four = B10011001; byte five = B01001001; byte six = B01000001; byte seven = B00011111; byte eight = B00000001; byte nine = B00001001; byte ponti = B11111110; boolean ka_be = HIGH; boolean ka_ki = LOW; //közös katódos kijelző /* byte zero = B11111100; byte one = B01100000; byte two = B11011010; byte three = B11110010; byte four = B01100110; byte five = B10110110; byte six = B10111110; byte seven = B11100000; byte eight = B11111110; byte nine = B11110110; byte ponti = B00000001; boolean kk_be = LOW; boolean kk_ki = HIGH; */ byte tiz_perc,egy_perc; byte egy_ora,tiz_ora; byte b_szam; long time,pro_time; long ora,perc; long ora_beal = 0,perc_beal = 0; long menu_time; byte menu_flag, be_ki; byte korrigal = 120; //korrigálás másodpercben void setup() { Serial.begin(9600); pinMode(clock, OUTPUT); //óra pin pinMode(data , OUTPUT); //adat pin pinMode(4,OUTPUT); //közös anód 1. pinMode(5,OUTPUT);//közös anód 2. pinMode(6,OUTPUT);//közös anód 3. pinMode(7,OUTPUT);//közös anód 4. pinMode(2,INPUT);//le pinMode(3,INPUT);//fel pinMode(8,INPUT);//menu } void loop() { wdt_disable(); time = millis()/1000;//sec számolás time = perc_beal*60+ora_beal*3600+time;//beállított idő Serial.println(time); //minden hatodik órában a napi csúszás negyedével korrigál if(ora%6 == 0){ time = time - korrigal/4 ; } perc = time%3600/60;//perc kiszámítás ora = time/3600%24;//óra kiszámítás pont(be_ki);//választó pont //menű meghívása menű gombbal if(digitalRead(8)== LOW && menu_time+500