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 folket 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 du är klar att fortsätta.
I det här projektet ska vi skapa ett 4-vä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 ett 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.
Steg 2: Studera komponenterna
Nu när vi känner till abstraktet av vårt projekt och vi också har en komplett 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.
A Bakbordär en lödfri enhet. Den används för att tillverka och testa tillfälliga prototypelektroniska kretsar och mönster. De flesta av de elektroniska komponenterna är helt enkelt anslutna till en bräda bara genom att sätta in sina stift i brädbrädet. En metallremsa 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:
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 skrivs så att om en kombination visar ett 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 kommer att ske 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 kretsen
Nu som vi känner till 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.
- Först och främst, ta alla lysdioderna och anslut dem i panelen i rätt ordning som rött, gult och grönt.
- 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.
- Anslut nu anslutningsledningarna i enlighet med detta.
- 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.
- Ladda upp koden i Arduino Uno och driva den med en bärbar dator eller nätadaptern till likström.
- Kretsen kommer att se ut som bilden nedan:
Steg 5: Komma igång med Arduino
Om du inte känner till Arduino IDE innan, 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 härifrån 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.
2). Öppna nu Arduino IDE. Från Verktyg ställer du Arduino-kortet till Arduino / Genuino UNO.
3). Från samma verktygsmeny ställer du in portnumret som du såg på kontrollpanelen.
4). Ladda ner koden som bifogas nedan och kopiera den till din IDE. Klicka på uppladdningsknappen för att ladda upp koden.
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 förklarar 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 genom vilken mikrokontrollkortet kommunicerar med de externa enheterna. Denna funktion körs bara en gång när aktiveringsknappen på mikrokontrollkortet trycks in.
void setup () {Serial.begin (9600;) // Baud Rate is set to 9600 pinMode (led1, OUTPUT); // Alla stift som är anslutna till lysdioderna ä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 så att deras röda ljus förblir tänt. Efter en fördröjning på två sekunder har den första sidan sitt röda ljus och den andra sidan har sitt gröna ljus. Detta kommer att hända tills alla fyra sidor 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); // Det röda ljuset från tredje sidan är på digitalWrite (led8, LOW); // gult ljus på tredje sidan är avstängd 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 fördröjd (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ängt 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); // Det röda ljuset från tredje sidan är på digitalWrite (led8, LOW); // gult ljus på tredje sidan är avstängd 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.