Witon Napisano Lipiec 9, 2021 Udostępnij Napisano Lipiec 9, 2021 #define zielona 8 #define czerwona 9 String odebraneDane = ""; //Pusty ciąg odebranych danych boolean stanZ = false; //stan zielonej diody - wyłączona boolean stanC = false; //stan czerwonej diody - wyłączona void setup () { Serial.begin(9600); pinMode(zielona, OUTPUT); pinMode(czerwona, OUTPUT); digitalWrite(zielona, LOW); digitalWrite(czerwona, LOW); } void loop(){ if(Serial.available() > 0) { //Czy Arduino odebrało dane //Jeśli tak, to odczytujemy je do znaku końca linii i zapisz w zmiennej odebraneDane odebraneDane = Serial.readStringUntil('\n'); if(odebraneDane == "zielona"){ if(stanZ = false){ digitalWrite(zielona, HIGH); stanZ = true; Serial.println("włączono zieloną diodę \n"); } else { digitalWrite(zielona, LOW); stanZ = false; } } if(odebraneDane == "czerwona"){ if(stanC = false){ digitalWrite(czerwona, HIGH); stanC = true; Serial.println("włączono czerwoną diodę \n"); } else { digitalWrite(czerwona, LOW); stanC = false;; } } } } Cześć. Starałem się zrobić poniższe zadanie. [Zadanie trudniejsze, z gwiazdką . Napisz program, który po wysłaniu koloru diody zmieni jej stan na przeciwny. Jeśli dioda jest włączona, to zostanie wyłączona i na odwrót. Podpowiedź: koniecznie użyj dodatkowych zmiennych typu bool, które będą pamiętały aktualny stan diod.] Na arduino zapala się dioda odbioru danych ale, diody LED się nie zapalają. Nie wiem gdzie jest błąd, proszę o pomoc. Link do komentarza Share on other sites More sharing options...
Krawi92 Lipiec 10, 2021 Udostępnij Lipiec 10, 2021 if(stanZ = false) if(stanC = false) Tu jest błąd. Zamiast operatora przypisania "=" daj porównania "==". Bedzie śmigać, bo sam sprawdzałem. 2 Link do komentarza Share on other sites More sharing options...
Witon Lipiec 12, 2021 Autor tematu Udostępnij Lipiec 12, 2021 Dzięki! Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »