Problém s programem „Vypni/Zapni“

tomajstr

Problém s programem „Vypni/Zapni“
« kdy: 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?
« Poslední změna: 06. 07. 2014, 20:23:55 od Petr Krčmář »


wardmaster

Re:problém s programem "Vypni/Zapni"
« Odpověď #1 kdy: 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.

tomajstr

Re:problém s programem "Vypni/Zapni"
« Odpověď #2 kdy: 05. 07. 2014, 10:59:16 »
a jo, dík, dal jsem tam else a už to funguje

Pavouk106

  • *****
  • 2 373
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Problém s programem „Vypni/Zapni“
« Odpověď #3 kdy: 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ý ;-)

j

Re:Problém s programem „Vypni/Zapni“
« Odpověď #4 kdy: 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