01-06-2017, 23:23
Tak jak myślałem że nie ogarniam tej biblioteki.
Trochę się z nią zapoznałem i powiem, że nie jest napisana prostym językiem.
Po zresetowaniu, results.value tak łatwo się nie poddaje i resetuje się po następnym przebiegu pętli.
No i tamta negacja to moja porażka, to by nigdy nie poszło.
Wstaw więc do funkcji program1(); ten kod. Sprawdzone, działa.
Analogicznie zrób to samo dla następnych funkcji.
Funkcja pracuje w pętli nieskończonej. Wychodzi się z niej po naciśnięciu jakiegokolwiek przycisku na pilocie.
Trochę się z nią zapoznałem i powiem, że nie jest napisana prostym językiem.
Po zresetowaniu, results.value tak łatwo się nie poddaje i resetuje się po następnym przebiegu pętli.
No i tamta negacja to moja porażka, to by nigdy nie poszło.
Wstaw więc do funkcji program1(); ten kod. Sprawdzone, działa.
Kod:
void program1() {
while(1){
expander2.digitalWrite(5, LOW);
expander1.digitalWrite(6, LOW);
expander0.digitalWrite(7, LOW);
expander0.digitalWrite(0, LOW);
delay(50);
expander1.digitalWrite(7, LOW);
expander1.digitalWrite(0, LOW);
expander0.digitalWrite(1, LOW);
delay(50);
if (irrecv.decode(&results)) {
irrecv.resume();
if(results.value==0x9716BE3F) ;
else break;
}
}
}
Analogicznie zrób to samo dla następnych funkcji.
Funkcja pracuje w pętli nieskończonej. Wychodzi się z niej po naciśnięciu jakiegokolwiek przycisku na pilocie.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.