Witajcie przyjaciele, mam nadzieję, że wszystko u was w porządku i dobrze się bawicie.
Dziś podzielę się z Wami projektem sterowania sygnalizacją świetlną przy użyciu Arduino. Kilka dni wcześniej zamieściłem ten sam poradnik, ale była to sygnalizacja świetlna przy użyciu Timera 555 w Proteus ISIS. Dzisiaj zrobimy to samo, ale używając programowania Arduino. Jest to dość prosty, ale dobry początkowy projekt na Arduino. Tak więc, jeśli Arduino to dla ciebie coś nowego, musisz spróbować.
Sterowanie sygnalizacją świetlną to dość powszechna sprawa. Widzimy sygnały drogowe na naszych drogach codziennie i inżynierowie są zazwyczaj proszeni o projektowanie takich właśnie projektów w swych początkowych semestrach. Jeśli spojrzymy na sygnały drogowe, możemy zobaczyć, że są one po prostu włączaniem i wyłączaniem świateł w pewnych stałych, regularnych odstępach czasu. Sam wzorzec jest z resztą dość prosty. Poszedłem zatem z owym wzorcem i zaprojektowałem kod. Powinieneś również zajrzeć na Trójfazowy inwerter Arduino. Więc zacznijmy od zaprojektowania sterowania sygnalizacją świetlną przy użyciu Arduino.
Sterowanie sygnalizacją świetlną za pomocą Arduino
Po pierwsze, zaprojektuj obwód w Proteusie dla sterowania sygnalizacją świetlną przy użyciu Arduino, jak pokazano na poniższym rysunku:
Jest to dość prosty projekt, więc obwód jest również dość prosty. Możesz zobaczyć, że właśnie umieściłem płytkę Arduino i podłączyłem do niej trzy LEDy – oczywiście są one koloru zielonego, żółtego i czerwonego.
LEDy te są podłączone do pinów 2, 3 i 4 Arduino UNO.
Następnym krokiem jest napisanie kodu Arduino do kontroli sygnalizacji świetlnej za pomocą Arduino. Napisałem go więc i jest on pokazany poniżej:
#define GreenLed 4
#define YellowLed 3
#define RedLed 2
void setup()
{
pinMode(GreenLed, OUTPUT);
pinMode(YellowLed, OUTPUT);
pinMode(RedLed, OUTPUT);
}
void loop()
{
digitalWrite(GreenLed, HIGH);
digitalWrite(YellowLed, LOW);
digitalWrite(RedLed, LOW);
delay(5000);delay(5000);
digitalWrite(GreenLed, LOW);
digitalWrite(YellowLed, LOW);
digitalWrite(RedLed, HIGH);
delay(5000);delay(5000);
digitalWrite(GreenLed, LOW);
digitalWrite(YellowLed, HIGH);
digitalWrite(RedLed, LOW);
delay(3000);
}
Jest to kompletny kod dla naszego projektu sterowania sygnalizacją świetlną przy użyciu Arduino i myślę, że jest on dość jasny. Do tego, również odpowiednio zmieniłem kolor.
W pierwszej kolejności włącza się zielony LED, a pozostałe są wyłączone, co jest sygnalizowane kolorem zielonym.
Następna czerwona dioda zapala się, a pozostałe gasną po około 10 sekundach, co można zmienić zmieniając te opóźnienia.
W końcu zapali się żółty LED i widać, że zgaśnie po 3 sekundach, ponieważ ma krótkie opóźnienie. Możesz dość łatwo zmienić te opóźnienia.
Poniżej znajduje się schemat blokowy powyższego programowania dla sterowania sygnalizacją świetlną przy użyciu Arduino, który pozwoli na właściwe wyczerpanie tematu.
Teraz skompiluj swój kod Arduino i uzyskaj plik hex.
Teraz, gdy załadujesz plik hex do Arduino, da on wyjście jak pokazano poniżej:
Więc tak to będzie działać. Mam nadzieję, że wszystko było zrozumiałe, ponieważ jest to dość proste.
Spotkamy się wkrótce, w następnym poradniku.
Do tego czasu, uważajcie na siebie!