Kako napraviti kontroler semafora zasnovan na Arduinu?

Svjetlosna svjetla signalni su uređaji koji se koriste za kontrolu protoka prometa na raskrižjima ceste, pješačkim prijelazima i drugim mjestima. To je kombinacija tri boje svjetlosti koje su crvena, žuta i zelena. Crveno svjetlo govori ljudima da se zaustave, žuto da se spreme ili pokrenu motor ako je isključen, a zeleno svjetlo ukazuje na to da vam treba ići dalje.



Svjetla

U ovom ćemo projektu izraditi četverosmjerni sustav prometne signalizacije pomoću mikrokontrolera. Spalit ćemo a C kod na ploči Arduino Uno kako bi joj rekao kako uključiti i isključiti LED diode tako da se u procesu signalizacije može postići savršeno vrijeme prebacivanja. U svrhu testiranja koristit će se 4 kombinacije od 4 LED diode koje će se postaviti na ploču.



Kako napraviti četverosmjerni prometni signal pomoću Seeeduina v4.2?

Prometna signalizacija je najvažnija stvar koja se postavlja na ceste kako bi se održao nesmetan i stalan protok prometa i smanjuje mogućnost nesreća. Ovaj projekt možemo napraviti na maloj ploči. Prikupimo neke informacije o ovom projektu i krenimo s radom.



Korak 1: Prikupljanje komponenata

Najbolji pristup za početak bilo kojeg projekta je sastaviti popis cjelovitih komponenata na početku i prolazeći kroz kratku studiju svake komponente. To nam pomaže u izbjegavanju neugodnosti usred projekta. Cjelovit popis svih komponenata korištenih u ovom projektu dan je u nastavku.



  • Seeeduino V4.2
  • Jumper žice
  • LED (4xzeleni, 4xžuti, 4xcrveni)
  • Adapter za izmjeničnu struju na 12 V

Korak 2: Proučavanje komponenata

Sad kad znamo sažetak našeg projekta i imamo i cjelovit popis svih komponenata, pomaknimo se korak naprijed i prođite kroz kratku studiju komponenata koje ćemo koristiti.

Seeeduino v4.2 jedna je od najboljih Arduino kompatibilnih ploča na svijetu koja se temelji na mikrokontroleru Atmega 328 MCU. jer je jednostavan za upotrebu, stabilniji i izgleda bolje od mnogih drugih ploča. Temelji se na Arduino pokretaču. ima ATMEGA16U2 kao UART-to-USB pretvarač, jer se može koristiti kao FTDI čip. povezan je s računalom pomoću mikro USB kabela koji se obično naziva android kabelom. Istosmjerna utičnica također se može koristiti za napajanje ploče. ulazna snaga mora biti od 7V do 15V.

Seeeduino



DO Breadboard je uređaj za lemljenje. Koristi se za izradu i testiranje privremenih prototipova elektroničkih sklopova i dizajna. Većina elektroničkih komponenata jednostavno je spojena na ploču samo umetanjem svojih igala u ploču. Traka metala položi se u rupe na ploči za ploču i rupe se spoje na određeni način. Priključci rupa prikazani su na donjem dijagramu:

Breadboard

Korak 3: Načelo rada

Kroz kratki uvod u princip rada četverosmjernog projekta Prometni signal. Kako je ovo četverosmjerno, trebat će nam dvanaest LED-a i četiri kombinacije od tri LED-a. Kod je napisan tako da ako jedna kombinacija pokazuje zeleno svjetlo, sve ostale kombinacije pokazuju crveno. Ako se signal mijenja iz zelene u žutu ili crvene u žutu, druga kombinacija LED-a također će prikazati transakciju iz crvene u žutu ili žutu u crvenu.

Sve će to biti učinjeno s vremenskim kašnjenjem između prijelaza signala. Na primjer, LED će ostati zelen gotovo petnaest sekundi, LED će ostati žut gotovo dvije sekunde. Trajanje crvene LED diode ovisi o trajanju zelene LED diode. To znači da će, ako LED svijetli petnaest sekundi zeleno, sve ostale crvene LED ostati će upaljene petnaest sekundi.

Korak 4: Izrada kruga

Sad kad znamo glavni rad komponenata, krenimo dalje i započnimo sastavljati komponente kako bismo napravili sklop. Prođite kroz sljedeće korake za pravilno povezivanje svih komponenata u ploči.

  1. Prije svega uzmite sve LED diode i spojite ih u ploču pločama u pravom redoslijedu kao crvenu, žutu i zelenu.
  2. Uspostavite uobičajeni spoj razloga svih LED dioda. Bolje je spojiti 220-omski otpornik na pozitivni priključak LED-a.
  3. Sada spojite spojne žice u skladu s tim.
  4. Sada spojite LED diode na Arduino, kao što je prikazano na donjem krugu. LED-1, LED-2 do LED-12 bit će povezani na pin1, pin2 do pin12 ploče Arduino Uno.
  5. Učitajte kod u Arduino Uno i napajte ga prijenosnim računalom ili adapterom za izmjeničnu i istosmjernu struju.
  6. Sklop će izgledati kao slika prikazana dolje:

    Kružni dijagram

Korak 5: Početak rada s Arduinom

Ako prije niste bili upoznati s Arduino IDE-om, ne brinite jer u nastavku možete vidjeti jasne korake sagorijevanja koda na ploči mikrokontrolera pomoću Arduino IDE-a. Možete preuzeti najnoviju verziju Arduino IDE-a sa ovdje i slijedite dolje navedene korake:

1). Kad je ploča Arduino spojena na vaše računalo, otvorite 'Upravljačka ploča' i kliknite 'Hardver i zvuk'. Zatim kliknite 'Uređaji i pisači'. Pronađite naziv priključka na koji je spojena vaša Arduino ploča. U mom slučaju to je 'COM14', ali na vašem se računalu može razlikovati.

Pronalaženje luke

2). Sada otvorite Arduino IDE. Iz alata postavite ploču Arduino na Arduino / Genuino UNO.

Odbor za postavljanje

3). Iz istog izbornika Alat postavite broj porta koji ste vidjeli na upravljačkoj ploči.

Postavka porta

4). Preuzmite dolje priloženi kôd i kopirajte ga u svoj IDE. Za prijenos koda kliknite gumb za prijenos.

Učitaj

Kôd možete preuzeti do klikom ovdje.

6. korak: kôd

Kôd je dobro komentiran i sam po sebi objašnjen, ali ipak, neki dio koda je ukratko objašnjen u nastavku.

1. Na početku su imenovane sve pribadače, koje će kasnije biti povezane s Arduinom.

int vodio1 = 1; // crveno svjetlo 1 int led2 = 2; // žuto svjetlo 1 int led3 = 3; // zeleno svjetlo 1 int led4 = 4; // crveno svjetlo 2 int led5 = 5; // žuto svjetlo 2 int led6 = 6; // zeleno svjetlo 2 int led7 = 7; // crveno svjetlo 3 int led8 = 8; // žuto svjetlo 3 int led9 = 9; // zeleno svjetlo 3 int led10 = 10; // crveno svjetlo 4 int led11 = 11; // žuto svjetlo 4 int led12 = 12; // zeleno svjetlo 4

2. void postavljanje () je funkcija u kojoj proglašavamo da se svi pinovi ploče Arduino koriste kao ULAZ ili IZLAZ. Brzina prijenosa je također postavljena u ovoj funkciji. Brzina prijenosa je brzina komunikacije u bitovima u sekundi kojom ploča mikrokontrolera komunicira s vanjskim uređajima. Ova se funkcija pokreće samo jednom kada se pritisne gumb za omogućivanje ploče mikrokontrolera.

void setup () {Serial.begin (9600;) // Brzina prijenosa postavljena je na 9600 pinMode (led1, OUTPUT); // Svi pinovi spojeni na LED diode postavljeni su kao OUTPUT pinMode (led2, OUTPUT); pinMode (led3, IZLAZ); pinMode (led4, IZLAZ); pinMode (led5, IZLAZ); pinMode (led6, IZLAZ); pinMode (led7, IZLAZ); pinMode (led8, IZLAZ); pinMode (led9, IZLAZ); pinMode (led10, IZLAZ); pinMode (led11, IZLAZ); pinMode (led12, IZLAZ); }

3. void loop je funkcija koja se ponavlja u petlji. U ovoj ćemo funkciji kodirati cijeli postupak kojim će mikrokontroler upravljati vanjskim LED-ima. U nastavku je dat mali dio koda. Ovdje je upaljeno zeleno svjetlo prve strane, a sve ostale imaju upaljeno crveno svjetlo. Ova svjetla ostat će u tom stanju 15 sekundi. Nakon 15 sekundi žuto svjetlo prve i druge strane uključit će se s druge dvije strane, a crveno svjetlo će ostati upaljeno. Nakon kašnjenja od dvije sekunde, prva strana imat će upaljeno crveno svjetlo, a druga strana zeleno svjetlo. To će se događati sve dok na sve četiri strane ne budu uključena zelena svjetla, a zatim će se petlja ponoviti.

digitalWrite (led1, LOW); // Crveno svjetlo prve strane isključeno je digitalWrite (led2, LOW); // žuto svjetlo f prva strana je isključena digitalWrite (led3, HIGH); // Zeleno svjetlo prve strane je na digitalWrite (led4, HIGH); // Crveno svjetlo seconf strane je na digitalWrite (led5, LOW); // žuto svjetlo druge strane je isključeno digitalWrite (led6, LOW); // zeleno svjetlo druge strane je isključeno digitalWrite (led7, HIGH); // Crveno svjetlo treće strane je na digitalWrite (led8, LOW); // žuto svjetlo treće strane je isključeno digitalWrite (led9, LOW); // zeleno svjetlo treće strane je isključeno digitalWrite (led10, HIGH); // crveno svjetlo četvrte strane je na digitalWrite (led11, LOW); // žuto svjetlo četvrte strane je isključeno digitalWrite (led12, LOW); // zeleno svjetlo četvrte strane isključeno je odgađanje (15000); // zbog kašnjenja od 15 sekundi, zeleno svjetlo prve strane i crveno svjetlo ostale tri strane ostat će uključeno 15 sekundi digitalWrite (led1, LOW); // crveno svjetlo prve strane je isključeno digitalWrite (led2, HIGH); // Žuta svjetlost prve strane je na digitalWrite (led3, LOW); // zeleno svjetlo prve strane je isključeno digitalWrite (led4, LOW); // crveno svjetlo druge strane je isključeno digitalWrite (led5, HIGH); // Žuto svjetlo druge strane je na digitalWrite (led6, LOW); // zeleno svjetlo druge strane je isključeno digitalWrite (led7, HIGH); // Crveno svjetlo treće strane je na digitalWrite (led8, LOW); // žuto svjetlo treće strane je isključeno digitalWrite (led9, LOW); // zeleno svjetlo treće strane je isključeno digitalWrite (led10, HIGH); // crveno svjetlo četvrte strane je na digitalWrite (led11, LOW); // žuto svjetlo četvrte strane je isključeno digitalWrite (led12, LOW); // zeleno svjetlo četvrte strane isključeno je (2000); // zbog kašnjenja od 2 sekunde, žuto svjetlo prve i druge strane ostat će uključeno

Dakle, ovo je bio cijeli postupak davanja četverosmjerne prometne signalizacije. Sada možete uživati ​​u izradi za vaše učenje ili školski projekt.