Hur man gör Arduino-baserad trafikljusregulator?

Trafikljus är signalanordningar som används för att kontrollera trafikflödet på vägkorsningar, övergångsställen och andra platser. Det är en kombination av tre ljusfärger som är röda, gula och gröna. Det röda ljuset ber folk att stanna, gult säger att de ska göra sig redo eller starta motorn om den är avstängd och det gröna ljuset indikerar att det är klart att du går vidare.



Trafikljus

I det här projektet ska vi skapa ett fyrvägs trafiksignalsystem med en mikrokontroller. Vi kommer att bränna en C-kod på Arduino Uno-kortet för att berätta hur man slår på och av lysdioderna så att den perfekta tidpunkten för växling kan uppnås i signalprocessen. 4 kombinationer av fyra lysdioder kommer att användas och placeras på panelen för teständamålet.



Hur man skapar 4-vägs trafiksignal med Seeeduino v4.2?

Trafiksignaler är det viktigaste som är installerat på vägarna för att hålla ett jämnt och stadigt trafikflöde och det minimerar risken för olyckor. Vi kan göra detta projekt på en liten brädbräda. Låt oss samla in lite information om detta projekt och börja arbeta.



Steg 1: Samla in komponenterna

Det bästa sättet att starta något projekt är att göra en lista över kompletta komponenter i början och genomgå en kort studie av varje komponent. Detta hjälper oss att undvika besvären mitt i projektet. En fullständig lista över alla komponenter som används i detta projekt ges nedan.



  • Seeeduino V4.2
  • Bygeltrådar
  • LED (4xGrön, 4xGul, 4xRöd)
  • 12V AC till DC-adapter

Steg 2: Studera komponenterna

Nu när vi vet abstrakt av vårt projekt och vi också har en fullständig lista över alla komponenter, låt oss gå ett steg framåt och gå igenom en kort studie av de komponenter vi ska använda.

Seeeduino v4.2 är en av de bästa Arduino-kompatibla korten i världen som är baserad på mikrokontrollern Atmega 328 MCU. eftersom det är lätt att använda, mer stabilt och det ser bättre ut än många andra brädor. Den är baserad på Arduino bootloader. den har en ATMEGA16U2 som en UART-till-USB-omvandlare eftersom den kan användas som ett FTDI-chip. den är ansluten till datorn med en mikro-USB-kabel som vanligtvis kallas en Android-kabel. Ett DC-uttag kan också användas för att driva kortet. ingångseffekten måste vara från 7V till 15V.

Seeeduino



TILL Bakbord är en lödfri enhet. Den används för att tillverka och testa tillfälliga elektroniska kretsar och mönster för prototyp. De flesta av de elektroniska komponenterna är helt enkelt anslutna till ett brödbräda genom att bara sätta in stiften i brädbrädet. En remsa av metall läggs ner i brädbrädans hål och hålen är anslutna på ett specifikt sätt. Hålens anslutningar visas i diagrammet nedan:

Bakbord

Steg 3: Arbetsprincip

Låt oss gå igenom en kort introduktion till arbetsprincipen för 4-vägs trafiksignalprojektet. Eftersom detta är en 4-vägs behöver vi tolv lysdioder och fyra kombinationer av tre lysdioder. Koden är skriven så att om en kombination visar grönt ljus kommer alla andra kombinationer att visa rött ljus. Om en signal ändras från grönt till gult eller rött till gult kommer en annan kombination av lysdioderna också att visa en transaktion från rött till gult respektive gult till rött.

Allt detta görs med en tidsfördröjning mellan signalövergången. Till exempel förblir en lysdiod grön i nästan femton sekunder, en lysdiod förblir gul i nästan två sekunder. Varaktigheten för den röda lysdioden beror på varaktigheten för den gröna lysdioden. Det betyder att om en lysdiod är grön i femton sekunder kommer alla andra röda lysdioder att lysa i femton sekunder.

Steg 4: Att göra banan

Nu som vi vet komponenternas huvudsakliga funktion, låt oss gå vidare och börja montera komponenterna för att skapa kretsen. Gå igenom följande steg för att ansluta alla komponenter korrekt i panelen.

  1. Först och främst, ta alla lysdioderna och anslut dem i panelen i rätt ordning som rött, gult och grönt.
  2. Gör en gemensam anslutning av grunderna för alla lysdioderna. Det är bättre att ansluta ett 220 ohm motstånd till den positiva terminalen på lysdioden.
  3. Anslut nu anslutningsledningarna i enlighet med detta.
  4. Anslut nu lysdioderna till Arduino som visas i kretsschemat nedan. LED-1, LED-2 upp till LED-12 kommer att anslutas till pin1, pin2 upp till pin12 på Arduino Uno-kortet.
  5. Ladda upp koden i Arduino Uno och strömförsörj den med en bärbar dator eller nätadaptern.
  6. Kretsen ser ut som bilden nedan:

    Kretsschema

Steg 5: Komma igång med Arduino

Om du inte känner till Arduino IDE tidigare, oroa dig inte, för nedan kan du se tydliga steg för att bränna kod på mikrokontrollkortet med Arduino IDE. Du kan ladda ner den senaste versionen av Arduino IDE från här och följ stegen nedan:

1). När Arduino-kortet är anslutet till din dator öppnar du 'Kontrollpanelen' och klickar på 'Hårdvara och ljud'. Klicka sedan på 'Enheter och skrivare'. Hitta namnet på den port som Arduino-kortet är anslutet till. I mitt fall är det “COM14” men det kan vara annorlunda på din dator.

Hitta port

2). Öppna nu Arduino IDE. Från Verktyg ställer du Arduino-kortet till Arduino / Genuino UNO.

Inställningsbräda

3). Från samma verktygsmeny ställer du in portnumret som du såg på kontrollpanelen.

Ställ in port

4). Ladda ner koden som bifogas nedan och kopiera den till din IDE. Klicka på uppladdningsknappen för att ladda upp koden.

Ladda upp

Du kan ladda ner koden genom att klicka här.

Steg 6: Kod

Koden är väl kommenterad och självförklarande men ändå förklaras en del av koden kort nedan.

1. I början namnges alla stift som kommer att anslutas till Arduino senare.

int led1 = 1; // rött ljus 1 int led2 = 2; // gult ljus 1 int led3 = 3; // grönt ljus 1 int led4 = 4; // rött ljus 2 int led5 = 5; // gult ljus 2 int led6 = 6; // grönt ljus 2 int led7 = 7; // rött ljus 3 int led8 = 8; // gult ljus 3 int led9 = 9; // grönt ljus 3 int led10 = 10; // rött ljus 4 int led11 = 11; // gult ljus 4 int led12 = 12; // grönt ljus 4

2. ogiltig installation () är en funktion där vi deklarerar att alla stift på Arduino-kortet ska användas som INGÅNG eller UTGÅNG. Baud Rate ställs också in i denna funktion. Baud Rate är kommunikationshastigheten i bitar per sekund med vilken mikrokontrollkortet kommunicerar med de externa enheterna. Denna funktion körs bara en gång när aktiveringsknappen på mikrokontrollkortet trycks in.

ogiltig installation () {Serial.begin (9600;) // Baud Rate är inställd på 9600 pinMode (led1, OUTPUT); // Alla stift anslutna till lysdioder är inställda som OUTPUT pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (led6, OUTPUT); pinMode (led7, OUTPUT); pinMode (led8, OUTPUT); pinMode (led9, OUTPUT); pinMode (led10, OUTPUT); pinMode (led11, OUTPUT); pinMode (led12, OUTPUT); }

3. void loop är en funktion som körs upprepade gånger i en loop. I den här funktionen kodar vi hela proceduren genom vilken mikrokontrollern kommer att styra de externa lysdioderna. En liten bit kod ges nedan. Här lyser det gröna ljuset på den första sidan och alla andra sidor har sitt röda ljus på. Dessa lampor förblir i detta tillstånd i 15 sekunder. Efter 15 sekunder tänds det gula ljuset på den första och andra sidan på de andra två sidorna och deras röda ljus förblir tänt. Efter en fördröjning på två sekunder kommer den första sidan att ha sitt röda ljus på och den andra sidan har sitt gröna ljus på. Detta kommer att hända tills alla de fyra sidorna har sina gröna lampor tända, på sin tur och sedan upprepas slingan.

digitalWrite (led1, LOW); // Röd lampa på första sidan är avstängd digitalWrite (led2, LOW); // gult ljus f första sidan är av digitalWrite (led3, HÖG); // Green Light of First side är på digitalWrite (led4, HIGH); // Rött ljus på seconf-sidan är på digitalWrite (led5, LOW); // gult ljus på andra sidan är avstängd digitalWrite (led6, LOW); // grönt ljus på andra sidan är avstängd digitalWrite (led7, HIGH); // Rött ljus på tredje sidan är på digitalWrite (led8, LOW); // gult ljus på tredje sidan är avstängt digitalWrite (led9, LOW); // grönt ljus på tredje sidan är avstängd digitalWrite (led10, HIGH); // rött ljus på fjärde sidan är på digitalWrite (led11, LOW); // gult ljus på fjärde sidan är avstängd digitalWrite (led12, LOW); // grönt ljus på fjärde sidan är släckt (15000); // på grund av en fördröjning på 15 sekunder förblir det gröna ljuset på första sidan och de röda lamporna på andra tre sidor tända i 15 sekunder digitalWrite (led1, LOW); // rött ljus på första sidan är avstängd digitalWrite (led2, HIGH); // Gult ljus på första sidan är på digitalWrite (led3, LOW); // grönt ljus på första sidan är avstängd digitalWrite (led4, LOW); // rött ljus på andra sidan är avstängd digitalWrite (led5, HIGH); // Gult ljus på andra sidan är på digitalWrite (led6, LOW); // grönt ljus på andra sidan är avstängd digitalWrite (led7, HIGH); // Rött ljus på tredje sidan är på digitalWrite (led8, LOW); // gult ljus på tredje sidan är avstängt digitalWrite (led9, LOW); // grönt ljus på tredje sidan är avstängd digitalWrite (led10, HIGH); // rött ljus på fjärde sidan är på digitalWrite (led11, LOW); // gult ljus på fjärde sidan är avstängd digitalWrite (led12, LOW); // grönt ljus på fjärde sidan är avstängd (2000); // på grund av en fördröjning på 2 sekunder förblir gult ljus från första och seond sida tändt

Så detta var hela proceduren för att skapa en 4-vägs trafiksignal. Nu kan du njuta av att göra det för ditt lärande eller ett skolprojekt.