Napisałem program demonstrujący działanie świateł, chodzi o to aby światła można było wyłączyć i włączyć w trakcie pracy przyciskiem. Zastanawiam się czy można by go jeszcze ulepszyć główny mankament według mnie to aby wyłączyć światła trzeba czekać na zakończenie działania pętli czy da się to zrobić tak aby móc wyłączyć światła w dowolnym momencie? Ciekawi mnie również czy da się napisać taki program z wykorzystaniem dwóch pętli zamiast trzech 🙂 Poniżej zamieszczam kopie kodu.
void setup() {
pinMode(10, OUTPUT); //Dioda czerwona
pinMode(9, OUTPUT); //Dioda żółta
pinMode(8, OUTPUT); //Dioda zielona
pinMode(2, INPUT_PULLUP); //Przycisk
digitalWrite(10, LOW); //Wyłączenie diod
digitalWrite(9, LOW);
digitalWrite(8, LOW);
}
void loop()
{
while(digitalRead(2)==HIGH){
digitalWrite(10, LOW); //Czerwona
digitalWrite(9, LOW); //Pomarańczowa
digitalWrite(8, LOW); //Zielona}
}delay(1000);
while(digitalRead(2)==HIGH){
digitalWrite(10, LOW); //Czerwona
digitalWrite(9, LOW); //Pomarańczowa
digitalWrite(8, HIGH); //Zielona
delay(1000); //Czekamy 3 sekundę
digitalWrite(10, LOW); //Czerwona
digitalWrite(9, HIGH); //Pomarańczowa
digitalWrite(8, LOW); //Zielona
delay(1000); //Czekamy 1 sekundę
digitalWrite(10, HIGH); //Czerwona
digitalWrite(9, LOW); //Pomarańczowa
digitalWrite(8, LOW); //Zielona
delay(1000); //Czekamy 3 sekundę
digitalWrite(10, HIGH); //Czerwona
digitalWrite(9, HIGH); //Pomarańczowa
digitalWrite(8, LOW); //Zielona
delay(1000); //Czekamy 1 sekundę
}delay(1000);
while(digitalRead(2)==LOW){
digitalWrite(10, LOW); //Czerwona
digitalWrite(9, LOW); //Pomarańczowa
digitalWrite(8, LOW); //Zielona}
}
}
__________
Komentarz dodany przez: Treker
Kody programów należy umieszczać przez narzędzie KOD (znajdziesz je w edytorze pod ikonką ""). Dzięki niemu składania programów jest automatycznie kolorowana, a wtedy wszystkim znacznie łatwiej analizować wklejone programy. Proszę to poprawić - z góry dziękuję za zrozumienie i pomoc przy utrzymaniu porządku na forum.