#include "displ.h"
#include "kasa.h"
byte step = 0;
byte isbtnpsd = 0;
byte isbtnack = 0;
byte zadaniekusov = 0; // zadáva sa počet kusov, PLU, alebo cena?
byte pocetstlacenitlacidlaplu = 0; // počet stláčení tlačidla PLU
String psdbtn = "";
unsigned long pastms = 0;
unsigned long pastms2 = 0;
unsigned long pastms3 = 0;
unsigned long pastus = 0;
unsigned long noDetectTime = 0;
byte ison = 1;
void setup() {
zadanecislo = 0;
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
pinMode(8, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
pinMode(10, INPUT_PULLUP);
pinMode(11, INPUT_PULLUP);
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(one, OUTPUT);
pinMode(ten, OUTPUT);
pinMode(hund, OUTPUT);
pinMode(thou, OUTPUT);
pinMode(tetho, OUTPUT);
pinMode(hutho, OUTPUT);
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(one, HIGH);
digitalWrite(ten, HIGH);
digitalWrite(hund, HIGH);
digitalWrite(thou, HIGH);
digitalWrite(tetho, HIGH);
digitalWrite(hutho, HIGH);
digitalWrite(38, HIGH);
pinMode(38, OUTPUT);
for(int i = 25; i < 28; i = i + 1) {
pinMode(i, OUTPUT);
digitalWrite(i, HIGH);
}
for(int i = 31; i < 38; i = i + 1) {
pinMode(i, OUTPUT);
digitalWrite(i, HIGH);
}
pinMode(29, OUTPUT); // battery indicator (one color, lights up when bat voltage < 3.2V)
pinMode(30, OUTPUT);
delay(100);
Serial.begin(9600);
num = (analogRead(A0) / 0.2047f) * 100; // measures and shows batt voltage
if(num < 3200) {digitalWrite(29, HIGH);} else {digitalWrite(29, LOW);}
pastms = millis();
pastus = micros();
wait(1000);
}
void loop() {
if(zadanieplu >= 1) {
zadanecislo = zadanecislo % 1000000;
} else if((!zadanieplu)) {
zadanecislo = zadanecislo % 1000000000;
num2 = (zadanecislo / 1000000) % 1000;
}
if((!zadanieplu)) {
zadanacena = zadanecislo / 100.00f;
num = zadanecislo % 1000000;
} else if(zadanieplu == 1) {cisloplu = zadanecislo;} else if(zadanieplu == 2) {zadanemnozstvo = zadanecislo;}
else if (cenacelkom > 0.00f) {num = cenacelkom * 100.00f;}
if(zadanieplu == 1) {zadanecislo = zadanecislo % 1000; num2 = zadanecislo;}
if(zadanieplu == 2) {num = zadanecislo; num2 = cisloplu;}
if(jetranzakcia == 2 && (!vydavok)) {hotovost = zadanecislo / 100.0f; num = zadanecislo;}
if(jetranzakcia == 2 && (vydavok)) {num = vydavok * 100.0f;}
int ubat = analogRead(A0) / 0.2047f;
if(ubat < 3200 && ison) {digitalWrite(29, HIGH);} else if(ubat > 3800 && ison) {digitalWrite(29, LOW);}
if(!digitalRead(6) && !digitalRead(2)) {psdbtn = "c/ON"; isbtnpsd = 1;} // obvious: clear/on (short press/long press)
else if(!digitalRead(6) && !digitalRead(3)) {psdbtn = "#/OFF"; isbtnpsd = 1;} // no sale / off (short press/long press)
else if(!digitalRead(7) && !digitalRead(2)) {psdbtn = "7"; isbtnpsd = 1;}
else if(!digitalRead(7) && !digitalRead(3)) {psdbtn = "4"; isbtnpsd = 1;}
else if(!digitalRead(7) && !digitalRead(4)) {psdbtn = "1"; isbtnpsd = 1;}
else if(!digitalRead(8) && !digitalRead(2)) {psdbtn = "8"; isbtnpsd = 1;}
else if(!digitalRead(8) && !digitalRead(3)) {psdbtn = "5"; isbtnpsd = 1;}
else if(!digitalRead(8) && !digitalRead(4)) {psdbtn = "2"; isbtnpsd = 1;}
else if(!digitalRead(8) && !digitalRead(5)) {psdbtn = "0"; isbtnpsd = 1;}
else if(!digitalRead(9) && !digitalRead(2)) {psdbtn = "9"; isbtnpsd = 1;}
else if(!digitalRead(9) && !digitalRead(3)) {psdbtn = "6"; isbtnpsd = 1;}
else if(!digitalRead(9) && !digitalRead(4)) {psdbtn = "3"; isbtnpsd = 1;}
else if(!digitalRead(9) && !digitalRead(5)) {psdbtn = "00"; isbtnpsd = 1;} // two zeros (just like adding machines have it)
else if(!digitalRead(10) && !digitalRead(2)) {psdbtn = "x/↑"; isbtnpsd = 1;} // x report (+ something else?)
else if(!digitalRead(10) && !digitalRead(3)) {psdbtn = "plu"; isbtnpsd = 1;} // product look-up
else if(!digitalRead(10) && !digitalRead(4)) {psdbtn = "a2"; isbtnpsd = 1;} // idk, someone educate
else if(!digitalRead(10) && !digitalRead(5)) {psdbtn = "a1"; isbtnpsd = 1;} // idk
else if(!digitalRead(11) && !digitalRead(2)) {psdbtn = "s/-"; isbtnpsd = 1;} // sale void/return
else if(!digitalRead(11) && !digitalRead(3)) {psdbtn = "perc"; isbtnpsd = 1;} // percentage (press after inputted value, so 123, %, and it'll show 1.23)
else if(!digitalRead(11) && !digitalRead(4)) {psdbtn = "st"; isbtnpsd = 1;} // subtotal (before tax, discounts, or rounding to nearest 0,05€?)
else if(!digitalRead(11) && !digitalRead(5)) {psdbtn = "tl"; isbtnpsd = 1;} // total (after tax? We have tax baked into the price in Europe, no?)
else {isbtnpsd = 0;}
switch(step) {
case 0:
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
break;
case 1:
digitalWrite(3, LOW);
digitalWrite(2, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
break;
case 2:
digitalWrite(4, LOW);
digitalWrite(3, HIGH);
digitalWrite(5, HIGH);
digitalWrite(2, HIGH);
break;
case 3:
digitalWrite(5, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(2, HIGH);
break;
case 4:
step = 254;
break;
}
if(isbtnpsd && (! isbtnack)) {
if((!(ison)) && psdbtn != "c/ON") {return;}
isbtnack = 1;
buttonprocess();
} else if((! isbtnpsd) && isbtnack) {
// Only reset after 20ms of no detection (full scan cycles)
if(noDetectTime == 0) noDetectTime = millis();
if(millis() - noDetectTime > 20) {
isbtnack = 0;
noDetectTime = 0;
}
} else if(isbtnpsd && isbtnack) {
noDetectTime = 0; // Reset timer if button detected again
}
step = step + 1;
dodisp();
dodisp2();
if((! ison)) {
nezobraz();
zobraz = -2;
zobraz2 = -2;
digitalWrite(a2, HIGH);
digitalWrite(b2, HIGH);
digitalWrite(c2, HIGH);
digitalWrite(d2, HIGH);
digitalWrite(e2, HIGH);
digitalWrite(f2, HIGH);
digitalWrite(g2, HIGH);
digitalWrite(29, LOW);
delay(1);
keepoff();
}
}
void buttonprocess() {
if(psdbtn == "1") {
numplace(1);
} else if(psdbtn == "2") {
numplace(2);
} else if(psdbtn == "3") {
numplace(3);
} else if(psdbtn == "4") {
numplace(4);
} else if(psdbtn == "5") {
numplace(5);
} else if(psdbtn == "6") {
numplace(6);
} else if(psdbtn == "7") {
numplace(7);
} else if(psdbtn == "8") {
numplace(8);
} else if(psdbtn == "9") {
numplace(9);
} else if(psdbtn == "0") {
numplace(0);
} else if(psdbtn == "00") {
numplace(0);
numplace(0);
} else if(psdbtn == "c/ON") {
if((! ison)) {ison = 1; turnon();} else if(jetranzakcia == 2 && (!zadanecislo)) {turnon();} else {zadanecislo = 0;}
} else if(psdbtn == "#/OFF") {
if(ison == 1) {ison = 0;}
} else if(psdbtn == "x/↑") { // prints a demo
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.print("HRZ-50/Sk prenosna pokladnica");
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.print("Moderna edicia Arduino");
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.print("Jedna z limit.: Dokaze");
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.print("stornovat len poslednu");
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.print("polozku, pricom treba vydat");
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.print("neplatny doklad ako stornaciu");
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.print("viacerych poloziek.");
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
} else if(psdbtn == "plu") {
if(zadanieplu == 1) {zadanieplu = 2; zadajplu();} else if(zadanieplu == 0 && (!zadanecislo)) {zadanieplu = 1;} else if(zadanieplu == 2) {zadanieplu = 0; zadanecislo = 0;}
else if((zadanieplu == 0) && zadanecislo) {cisloplu = zadanecislo; zadajplu(); zadanieplu = 2;}
} else if(psdbtn == "a2") {
jehotovost = 0; // platba je kartou, nezaokrúhluj
if(vydavok) {cenacelkom = vydavok; vydavok = 0;}
} else if(psdbtn == "a1") {
jehotovost = 1; // platba je hotovosťou, zaokrúhluj
if(jetranzakcia == 2) {vydavok = abs((hotovost - cenacelkom)); zadanecislo = 0;}
long vydcenty = vydavok * 100.0f;
while(vydcenty % 5) {vydcenty = vydcenty + 1;}
vydavok = vydcenty / 100.0f;
} else if(psdbtn == "s/-") {
Serial.print("Storno polozky. ");
String msgc1 = String((0.00f - cenariadok));
Serial.print(msgc1);
Serial.write(10);
cenacelkom = cenacelkom - cenariadok;
cenariadok = 0;
} else if(psdbtn == "perc") {
} else if(psdbtn == "st") {
if((!jetranzakcia)) {jetranzakcia = 1;}
if((!zadanieplu)) {
cenacelkom = cenacelkom + zadanacena;
String msg = "Nekonkretne";
String msg2 = String(zadanacena);
while(((msg.length() + msg2.length())) < 30) {msg += " "; msg.length();}
Serial.print((msg += msg2));
Serial.write(10);
cenariadok = zadanacena;
zadanacena = 0;
} else if(zadanieplu) {
cenariadok = (cenapolozka * zadanemnozstvo);
cenacelkom = cenacelkom + cenariadok;
String polozka = plutovar[cisloplu];
String msgd1 = " ";
msgd1 = msgd1 += String(zadanemnozstvo);
String msgd2 = String((zadanemnozstvo * cenapolozka));
String msgd3 = polozka += msgd1 += "ks ";
while(polozka.length() < 18) {polozka = polozka += " ";}
while((msgd3.length() + msgd2.length()) < 30) {msgd3 = msgd3 += " ";}
Serial.print(msgd3 += msgd2);
Serial.write(10);
}
num = cenacelkom * 100;
if(zadanieplu == 2) {zadanieplu = 0;}
zadanecislo = 0;
} else if(psdbtn == "tl") {
// if(jetranzakcia == 2) {digitalWrite(38, LOW);}
String msgn1 = "Subtotal bez dane: ";
String msgn2 = String(cenacelkom);
String msgn3 = "Celkom: ";
String msgn4 = "Sadzba DPH: ";
String msgn7 = "Zaokruhlenie: ";
cenadane = cenacelkom * (pgm_read_float(&dph));
String msgn5 = String(cenadane);
cenacelkom = cenacelkom * (pgm_read_float(&multprezdanenie));
float cenapzaokr = cenacelkom;
if(jehotovost == 1) {
long centy = 100 * cenacelkom;
while(centy % 5) {centy = centy + 1;}
cenacelkom = centy / 100.00f;
}
zaokruhlenie = cenacelkom - cenapzaokr;
String msgn6 = String(cenacelkom);
String msgn8 = String(zaokruhlenie);
Serial.print("- - - - - - - - - -");
Serial.write(10);
num = cenacelkom * 100.00f;
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.print(((msgn1) += (msgn2)));
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.print(((msgn4) += (msgn5)));
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.print(((msgn7) += (msgn8)));
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.print(((msgn3) += (msgn6)));
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
if(jehotovost == 1) {
Serial.print("Platba bola realizovana hotovostou.");
} else if((!jehotovost)) {
Serial.print("Platba bola realizovana bezhotovostne.");
} else {
Serial.print(" NEPLATNY DOKLAD!");
}
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 1100) {dodisp(); dodisp2();}
Serial.print("Dakujeme za Vas nakup, pridte zas.");
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 1100) {dodisp(); dodisp2();}
Serial.print(" ");
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.print(" ");
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.print(" TOPAZ s. r. o.");
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.print("Podnik: Mesto123456");
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.print("IcDPH: 12345678901234");
Serial.write(10);
pastms3 = millis(); while(millis() - pastms3 < 600) {dodisp(); dodisp2();}
Serial.print("Tel. cislo: 0912345678");
Serial.write(10);
if(jehotovost == 1 && jetranzakcia == 1) {
jetranzakcia = 2;
} else if((!jehotovost) || jehotovost == 2) {Serial.end(); digitalWrite(38, LOW);}
}
}
void wait(unsigned long time) {
while(millis() - pastms < time) {dodisp();} // shows batt voltage for 5 seconds
num = 0;
dodisp();
pastms = millis();
pastus = micros();
}
void dodisp2() {
cislo2sto = ((num2 / 100) % 10);
cislo2desat = ((num2 / 10) % 10);
cislo2 = num2 % 10;
if(micros() - pastus > 5000) {
zobraz2 = zobraz2 + 1;
pastus = micros();
digitalWrite(a2, HIGH);
digitalWrite(b2, HIGH);
digitalWrite(c2, HIGH);
digitalWrite(d2, HIGH);
digitalWrite(e2, HIGH);
digitalWrite(f2, HIGH);
digitalWrite(g2, HIGH);
}
if(zobraz2 >= 3) {zobraz2 = -1;}
switch(zobraz2) {
case 0:
zobraz2cislo = cislo2sto;
digitalWrite(one2, HIGH);
digitalWrite(ten2, HIGH);
digitalWrite(hun2, LOW);
break;
case 1:
zobraz2cislo = cislo2desat;
digitalWrite(one2, HIGH);
digitalWrite(hun2, HIGH);
digitalWrite(ten2, LOW);
break;
case 2:
zobraz2cislo = cislo2;
digitalWrite(hun2, HIGH);
digitalWrite(ten2, HIGH);
digitalWrite(one2, LOW);
break;
case -1:
digitalWrite(hun2, HIGH);
digitalWrite(ten2, HIGH);
digitalWrite(one2, HIGH);
break;
}
switch(zobraz2cislo) {
case 0:
digitalWrite(a2, LOW);
digitalWrite(b2, LOW);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(e2, LOW);
digitalWrite(f2, LOW);
digitalWrite(g2, HIGH);
break;
case 1:
digitalWrite(a2, HIGH);
digitalWrite(b2, LOW);
digitalWrite(c2, LOW);
digitalWrite(d2, HIGH);
digitalWrite(e2, HIGH);
digitalWrite(f2, HIGH);
digitalWrite(g2, HIGH);
break;
case 2:
digitalWrite(a2, LOW);
digitalWrite(b2, LOW);
digitalWrite(c2, HIGH);
digitalWrite(d2, LOW);
digitalWrite(e2, LOW);
digitalWrite(f2, HIGH);
digitalWrite(g2, LOW);
break;
case 3:
digitalWrite(a2, LOW);
digitalWrite(b2, LOW);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(e2, HIGH);
digitalWrite(f2, HIGH);
digitalWrite(g2, LOW);
break;
case 4:
digitalWrite(a2, HIGH);
digitalWrite(b2, LOW);
digitalWrite(c2, LOW);
digitalWrite(d2, HIGH);
digitalWrite(e2, HIGH);
digitalWrite(f2, LOW);
digitalWrite(g2, LOW);
break;
case 5:
digitalWrite(a2, LOW);
digitalWrite(b2, HIGH);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(e2, HIGH);
digitalWrite(f2, LOW);
digitalWrite(g2, LOW);
break;
case 6:
digitalWrite(a2, LOW);
digitalWrite(b2, HIGH);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(e2, LOW);
digitalWrite(f2, LOW);
digitalWrite(g2, LOW);
break;
case 7:
digitalWrite(a2, LOW);
digitalWrite(b2, LOW);
digitalWrite(c2, LOW);
digitalWrite(d2, HIGH);
digitalWrite(e2, HIGH);
digitalWrite(f2, HIGH);
digitalWrite(g2, HIGH);
break;
case 8:
digitalWrite(a2, LOW);
digitalWrite(b2, LOW);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(e2, LOW);
digitalWrite(f2, LOW);
digitalWrite(g2, LOW);
break;
case 9:
digitalWrite(a2, LOW);
digitalWrite(b2, LOW);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(e2, HIGH);
digitalWrite(f2, LOW);
digitalWrite(g2, LOW);
break;
}
}
void dodisp() {
present2 = micros();
if (num <= 9) {
cislodesat = 0;
cislodesat2 = 0;
cislosto = 0;
cislosto2 = 0;
cislotisic = 0;
cislotisic2 = 0;
cislodesattisic = 0;
cislodesattisic2 = 0;
cislostotisic = 0;
cislo = num;
}
if (num > 9) {
cislodesat = num / 10;
cislosto = num / 100;
cislotisic = num / 1000;
cislodesattisic = num / 10000;
cislostotisic = num / 100000;
intermid = cislodesat * 10;
intermid2 = cislosto * 10;
intermid3 = cislotisic * 10;
intermid4 = cislodesattisic * 10;
intermid5 = cislostotisic * 10;
cislodesat2 = cislodesat - intermid2;
cislosto2 = cislosto - intermid3;
cislotisic2 = cislotisic - intermid4;
cislodesattisic2 = cislodesattisic - intermid5;
cislo = num - intermid;
}
if (present2 - past2 >= 2500) {
nezobraz();
zobraz = zobraz + 1;
switch (zobraz) {
case 0:
c = 14;
d = 15;
zobrazCislo = cislostotisic;
zsts();
break;
case 1:
zobrazCislo = cislodesattisic2;
zdts();
break;
case 2:
zobrazCislo = cislotisic2;
ztis();
break;
case 3:
zobrazCislo = cislosto2;
if((!zadanieplu)) {
digitalWrite(30, LOW);
} else {digitalWrite(30, HIGH);}
zsto();
break;
case 4:
zobrazCislo = cislodesat2;
digitalWrite(30, HIGH);
// c = 15;
// d = 14; // do not forget to uncomment dynamic rewiring if you need it irl
zdst();
break;
case 5:
zobrazCislo = cislo;
// c = 15;
// d = 14;
zjdn();
break;
}
if (zobraz >= 6) {
zobraz = -1;
}
past2 = present2;
}
switch (zobrazCislo) {
case 0:
z0();
break;
case 1:
z1();
break;
case 2:
z2();
break;
case 3:
z3();
break;
case 4:
z4();
break;
case 5:
z5();
break;
case 6:
z6();
break;
case 7:
z7();
break;
case 8:
z8();
break;
case 9:
z9();
break;
}
}
void z1() {
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
}
void z2() {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
}
void z3() {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
}
void z4() {
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
}
void z5() {
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
}
void z6() {
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
}
void z7() {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
}
void z8() {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
}
void z9() {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
}
void z0() {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, HIGH);
}
void zjdn() {
digitalWrite(one, LOW);
digitalWrite(ten, HIGH);
digitalWrite(hund, HIGH);
digitalWrite(thou, HIGH);
digitalWrite(tetho, HIGH);
digitalWrite(hutho, HIGH);
}
void zdst() {
digitalWrite(one, HIGH);
digitalWrite(ten, LOW);
digitalWrite(hund, HIGH);
digitalWrite(thou, HIGH);
digitalWrite(tetho, HIGH);
digitalWrite(hutho, HIGH);
}
void zsto() {
digitalWrite(one, HIGH);
digitalWrite(ten, HIGH);
digitalWrite(hund, LOW);
digitalWrite(thou, HIGH);
digitalWrite(tetho, HIGH);
digitalWrite(hutho, HIGH);
}
void ztis() {
digitalWrite(one, HIGH);
digitalWrite(ten, HIGH);
digitalWrite(hund, HIGH);
digitalWrite(thou, LOW);
digitalWrite(tetho, HIGH);
digitalWrite(hutho, HIGH);
}
void zdts() {
digitalWrite(one, HIGH);
digitalWrite(ten, HIGH);
digitalWrite(hund, HIGH);
digitalWrite(thou, HIGH);
digitalWrite(tetho, LOW);
digitalWrite(hutho, HIGH);
}
void zsts() {
digitalWrite(one, HIGH);
digitalWrite(ten, HIGH);
digitalWrite(hund, HIGH);
digitalWrite(thou, HIGH);
digitalWrite(tetho, HIGH);
digitalWrite(hutho, LOW);
}
void nezobraz() {
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(one, HIGH);
digitalWrite(ten, HIGH);
digitalWrite(hund, HIGH);
digitalWrite(thou, HIGH);
digitalWrite(tetho, HIGH);
digitalWrite(hutho, HIGH);
}
void keepoff() {
digitalWrite(one2, HIGH);
digitalWrite(ten2, HIGH);
digitalWrite(hun2, HIGH);
delay(1);
Serial.end();
}
void turnon() {pastms2 = millis();
Serial.end();
while(millis() - pastms2 < 100) {}
digitalWrite(38, LOW); // reset the 'duino
}
void numplace(byte cisloztlacitka) {
zadanecislo = zadanecislo * 10;
zadanecislo = zadanecislo + cisloztlacitka;
}
void zadajplu() {
cenapolozka = pgm_read_float(&plucena[cisloplu]);
zadanecislo = 0;
}