Witam po dłuższej przerwie
Dziękuję za cenne wskazówki, rady i porady.
Po zapoznaniu się z Waszymi wskazówkami, przeanalizowaniu kursu Arduino ze strony forbot.pl i przełożeniu to na moje potrzeby sterowania semaforem udało mi się uruchomić sterowanie semaforem 4-ro komorowym
Listing poniżej
void setup()
{
pinMode(9, OUTPUT); //Dioda czerwona jako wyjście
pinMode(10, OUTPUT); //Dioda zielona jako wyjście
pinMode(11, OUTPUT); //Dioda zółta jako wyjście
pinMode(12, OUTPUT); //Dioda biała jako wyjście
pinMode(2, INPUT_PULLUP); //Przycisk jako wejście-sygnał S1
pinMode(3, INPUT_PULLUP); //Przycisk jako wejście-sygnał S2
pinMode(4, INPUT_PULLUP); //Przycisk jako wejście-sygnał S10
pinMode(5, INPUT_PULLUP); //Przycisk jako wejście-sygnał Ms2
digitalWrite(9, LOW); //Stan początkowy-sygnał S1
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
}
void loop()
{
while(digitalRead(2) == LOW) { //Jeśli przycisk wciśnięty-sygnał S1
digitalWrite(9, LOW); //Włącz diodę czerwoną
digitalWrite(10, HIGH); //Włącz diodę zieloną
digitalWrite(11, HIGH);//Wyłącz diodę żółtą
digitalWrite(12, HIGH);//Wyłącz diodę białą
}
while(digitalRead(3) == LOW) { //Jeśli przycisk wciśnięty-sygnał S2
digitalWrite(9, HIGH); //Włącz diodę czerwoną
digitalWrite(10, LOW); //Wyłącz diodę zieloną
digitalWrite(11, HIGH);//Wyłącz diodę żółtą
}
while(digitalRead(4) == LOW){ //Jeśli przycisk wciśnięty-sygnał S10
digitalWrite(9, HIGH); //Wyłącz diodę czerwoną
digitalWrite(10, LOW); //Włącz diodę zieloną
digitalWrite(11, LOW);//Włącz diodę żółtą
digitalWrite(12, HIGH);//Wyłącz diodę białą
}
while(digitalRead(5) == LOW){ //Jeśli przycisk wciśnięty-sygnał Ms2
digitalWrite(9, HIGH); //Wyłącz diodę czerwoną
digitalWrite(10, HIGH); //Wyłącz diodę zieloną
digitalWrite(11, HIGH);//Wyłącz diodę żółtą
digitalWrite(12, LOW);//Włącz diodę białą
}
}
Teraz pracuję nad dodaniem do powyższego sygnału Sz[sygnał zastępczy] (LED czerwona ciągła + LED biała pulsująca.
Na chwilę obecną po poniższym zapisie:
while(digitalRead(5) == LOW){ //Jeśli przycisk wciśnięty-sygnał Sz
digitalWrite(9, LOW); //Włącz diodę czerwoną
digitalWrite(10, HIGH); //Wyłącz diodę zieloną
digitalWrite(11, HIGH);//Wyłącz diodę żółtą
digitalWrite(12, LOW);//Włącz diodę białą
delay(500); //Opóźnienie
digitalWrite(12,HIGH);//Włącz diodę białą
delay(500); //Opóźnienie
}
sygnał Sz działa tylko przy przytrzymywaniu switch'a.
Pracuję dalej. Po ukończeniu z powodzeniem (brak konieczności podtrzymywania switch'a) pozwolę sobie dać info i listing.
Jeszcze raz dziękuję Wam za pomoc.
Pozdrawiam !