Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: tomajstr 05. 07. 2014, 10:43:42

Název: Problém s programem „Vypni/Zapni“
Přispěvatel: tomajstr 05. 07. 2014, 10:43:42
dobrý den, chtěl jsem udělat program co by po stisku tlačítka na ovladači přepnul Led diodu (pokud svítí, zhasne a pokud je zhaslá tak se rozsvítí). z nějakého neznámého důvodu mi však nefunguje tato metoda:
Kód: [Vybrat]
void prepniLed(){
  if(led == true){
    digitalWrite(13, LOW);
    led = false;
  }
  if(led == false){
    digitalWrite(13,HIGH);
    led = true;
  }
}
led se sice zapne ale již se nevypne, nevíte čím by to mohlo být?
Název: Re:problém s programem "Vypni/Zapni"
Přispěvatel: wardmaster 05. 07. 2014, 10:50:34
jak se na ten tvůj kód dívám, tak při vykonávání projde obě větve if. V první větvi se proměnná led nastaví na false, což následně vyhovuje podmínce if(led == false). Takže ten druhý if změň na elseif nebo nějakou jeho obdobu a mělo by to fungovat.
Název: Re:problém s programem "Vypni/Zapni"
Přispěvatel: tomajstr 05. 07. 2014, 10:59:16
a jo, dík, dal jsem tam else a už to funguje
Název: Re:Problém s programem „Vypni/Zapni“
Přispěvatel: Pavouk106 09. 07. 2014, 14:00:34
Na takových (jednoduchých) chybách je nejhorší to, že čím dýl se na ten kód autor dívá a hledá v něm chybu, tím spíš klesá pravděpodobnost že jí najde. Pak se stačí zeptat kohokoliv jinýho a je to hned vyřešený ;-)
Název: Re:Problém s programem „Vypni/Zapni“
Přispěvatel: j 09. 07. 2014, 14:14:03
Ono casto staci se vubec jen zeptat ... reseni ti pak uz dojde pri tom ptani ... vyzkouseny mockrat, proste ses pak nucenej to formulovat nahlas, a velmi casto to zaroven pritom vyresis. Jinak zcela klasickej priklad autorsky slepoty ... ;D