Zdravím,
Nemám s programováním moc zkušeností, a tak bych prosil o pomoc.
Nahraju program a otevřu seriový monitor, tak prvním číslem nastavím hodiny, druhym minuty a třetím sekundy. Funguje to ale pouze s jednociferným číslem.
Problém nastává, když zadám dvojciferné čislo. např. 22 tak mi to místo 22 hodin nastaví 2 hodiny a 2 minuty.
Děkuji
int s = 0;
int m = 0;
int h = 0;
char znak;
void setup() {
Serial.begin(9600);
Serial.println(„Hodiny“);
while(h==0){
if (Serial.available() > 0) {znak= Serial.read();
h = znak-48;
Serial.println(h);}
}
Serial.println(„Minuty: „);
while(m==0)
{ if (Serial.available() > 0) {znak= Serial.read();
m = znak-48;
Serial.println(m);}
}
Serial.println(„Sekundy „);
while(s==0){
if (Serial.available() > 0) {znak = Serial.read();
s = znak-48;
Serial.println(s);}
}
}
void loop() {
s++;
if (s > 59){s=0 ; m++;}
if (m > 59){m=0 ; h++;}
if (h > 23){h =0;}
if (h<10) {Serial.print(„0“);}; Serial.print(h); Serial.print(„:“); if (m<10){Serial.print(„0“);}; Serial.print(m); Serial.print(„:“); if (s<10) {Serial.print(„0“);};Serial.println(s);
delay(1000);
}