Fórum Root.cz
		Hlavní témata => Vývoj => Téma založeno: 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: 
 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?
- 
				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.
			
- 
				a jo, dík, dal jsem tam else a už to funguje
			
- 
				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ý ;-)
			
- 
				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