Kako narediti krmilnik semaforja na osnovi Arduina?

Semaforji so signalne naprave, ki se uporabljajo za nadzor pretoka prometa na križiščih ceste, prehodih za pešce in drugih lokacijah. Gre za kombinacijo treh barv svetlobe, ki so rdeča, rumena in zelena. Rdeča luč ljudem sporoča, naj se ustavijo, rumena luči, naj se pripravijo ali zaženejo motor, če je ugasnjen, zelena lučka pa pomeni, da vam gre naprej.



Semafor

V tem projektu bomo izdelali 4-smerni sistem prometne signalizacije z uporabo mikrokrmilnika. Zažgali bomo a Koda C na plošči Arduino Uno, da mu pove, kako vklopiti in izklopiti LED, tako da je v procesu signalizacije mogoče doseči popoln čas preklopa. Za preizkus bodo uporabljene 4 kombinacije 4 LED diod, ki bodo nameščene na ploščo.



Kako narediti 4-smerni prometni signal s pomočjo Seeeduina v4.2?

Prometna signalizacija je najpomembnejša stvar, ki je nameščena na cestah za nemoten in stalen pretok prometa in zmanjšuje možnost nesreč. Ta projekt lahko naredimo na majhni plošči. Zberite nekaj informacij o tem projektu in začnite delati.



1. korak: Zbiranje komponent

Najboljši pristop za začetek katerega koli projekta je, da na začetku naredite seznam celotnih komponent in si ogledate kratko študijo vsake komponente. To nam pomaga, da se izognemo nevšečnostim sredi projekta. Spodaj je podan popoln seznam vseh komponent, uporabljenih v tem projektu.



  • Seeeduino V4.2
  • Jumper žice
  • LED (4xZeleni, 4xRumeni, 4xRdeči)
  • 12V adapter za izmenični in enosmerni tok

2. korak: Preučevanje komponent

Zdaj, ko poznamo povzetek našega projekta in imamo tudi popoln seznam vseh komponent, pojdimo korak naprej in si oglejmo kratko študijo komponent, ki jih bomo uporabili.

Seeeduino v4.2 je ena najboljših Arduino združljivih plošč na svetu, ki temelji na mikrokrmilniku Atmega 328 MCU. ker je enostaven za uporabo, bolj stabilen in izgleda bolje kot mnoge druge plošče. Temelji na zagonskem nalagalniku Arduino. ima ATMEGA16U2 kot pretvornik UART v USB, ker se lahko uporablja kot čip FTDI. z računalnikom je povezan s kablom micro USB, ki ga na splošno imenujemo androidni kabel. Za napajanje plošče lahko uporabite tudi DC vtičnico. vhodna moč mora biti od 7V do 15V.

Seeeduino



TO Breadboard je naprava za spajkanje. Uporablja se za izdelavo in preizkušanje začasnih prototipov elektronskih vezij in modelov. Večina elektronskih komponent je preprosto pritrjena na ploščo, tako da vstavite zatiče v ploščo. Kovinski trak je položen v luknje na plošči in luknje so povezane na poseben način. Povezave lukenj so prikazane na spodnjem diagramu:

Breadboard

3. korak: Načelo dela

Oglejmo si kratek uvod v načelo delovanja projekta 4-smerne prometne signalizacije. Ker je to 4-smerno, bomo potrebovali dvanajst LED in štiri kombinacije treh LED. Koda je napisana tako, da če ena kombinacija sveti zeleno, bodo vse druge kombinacije rdečo. Če se signal spreminja iz zelene v rumeno ali rdeče v rumeno, bo druga kombinacija LED tudi prikazala transakcijo iz rdeče v rumeno oziroma rumeno v rdečo.

Vse to bo narejeno s časovno zakasnitvijo med prehodom signalov. Na primer, LED bo ostal zelen skoraj petnajst sekund, LED pa bo ostal rumen skoraj dve sekundi. Trajanje rdeče LED je odvisno od trajanja zelene LED. To pomeni, da če je LED petnajst sekund zelena, bodo vse ostale rdeče svetlele petnajst sekund.

4. korak: Izdelava vezja

Zdaj, ko poznamo glavno delovanje komponent, pojdimo naprej in začnemo sestavljati komponente, da naredimo vezje. Sledite naslednjim korakom za pravilno povezavo vseh komponent na plošči.

  1. Najprej vzemite vse LED-diode in jih v pravilnem vrstnem redu povežite kot rdečo, rumeno in zeleno.
  2. Naredite skupno povezavo razlogov vseh LED. Na pozitivni priključek LED je bolje priključiti 220-ohmski upor.
  3. Zdaj ustrezno priključite povezovalne žice.
  4. Zdaj priključite LED na Arduino, kot je prikazano na spodnjem vezju. LED-1, LED-2 do LED-12 bodo priključeni na pin1, pin2 do pin12 plošče Arduino Uno.
  5. Kodo naložite v Arduino Uno in jo napajajte s prenosnikom ali adapterjem za izmenični in enosmerni tok.
  6. Vezje bo videti kot spodnja slika:

    Shema vezja

5. korak: Uvod v Arduino

Če z Arduino IDE prej niste seznanjeni, ne skrbite, ker spodaj vidite jasne korake zapisovanja kode na plošči mikrokrmilnika z uporabo Arduino IDE. Najnovejšo različico Arduino IDE lahko prenesete s spletnega mesta tukaj in sledite spodnjim korakom:

1). Ko je plošča Arduino povezana z računalnikom, odprite »Nadzorna plošča« in kliknite »Strojna oprema in zvok«. Nato kliknite »Naprave in tiskalniki«. Poiščite ime vrat, na katera je priključena vaša plošča Arduino. V mojem primeru je 'COM14', vendar je v vašem računalniku morda drugačen.

Iskanje pristanišča

2). Zdaj odprite Arduino IDE. V orodju nastavite ploščo Arduino na Arduino / Genuino UNO.

Nastavitvena plošča

3). V istem meniju Orodja nastavite številko vrat, ki ste jo videli na nadzorni plošči.

Nastavitev vrat

4). Prenesite spodnjo kodo in jo kopirajte v svoj IDE. Če želite naložiti kodo, kliknite gumb za prenos.

Naloži

Kodo lahko prenesete do kliknite tukaj.

6. korak: koda

Koda je dobro komentirana in samoumevna, vendar je del kode v nadaljevanju na kratko razložen.

1. Na začetku so poimenovani vsi zatiči, ki bodo kasneje povezani z Arduinom.

int led1 = 1; // rdeča luč 1 int led2 = 2; // rumena luč 1 int led3 = 3; // zelena lučka 1 int led4 = 4; // rdeča luč 2 int led5 = 5; // rumena luč 2 int led6 = 6; // zelena luč 2 int led7 = 7; // rdeča luč 3 int led8 = 8; // rumena luč 3 int led9 = 9; // zelena lučka 3 int led10 = 10; // rdeča luč 4 int led11 = 11; // rumena luč 4 int led12 = 12; // zelena lučka 4

2. void setup () je funkcija, pri kateri razglasimo, da so vsi zatiči plošče Arduino uporabljeni kot VHOD ali IZHOD. V tej funkciji je nastavljena tudi hitrost prenosa. Hitrost prenosa je hitrost komunikacije v bitih na sekundo, s katero plošča mikrokrmilnika komunicira z zunanjimi napravami. Ta funkcija se zažene samo enkrat, ko pritisnete gumb za omogočanje na plošči mikrokrmilnika.

void setup () {Serial.begin (9600;) // Hitrost prenosa je nastavljena na 9600 pinMode (led1, OUTPUT); // Vsi zatiči, priključeni na LED, so nastavljeni kot OUTPUT pinMode (led2, OUTPUT); pinMode (led3, IZHOD); pinMode (led4, IZHOD); pinMode (led5, IZHOD); pinMode (led6, IZHOD); pinMode (led7, IZHOD); pinMode (led8, IZHOD); pinMode (led9, IZHOD); pinMode (led10, IZHOD); pinMode (led11, IZHOD); pinMode (led12, IZHOD); }

3. void loop je funkcija, ki se večkrat izvaja v zanki. V tej funkciji bomo kodirali celoten postopek, s katerim bo mikrokrmilnik upravljal zunanje LED. Manjši del kode je podan spodaj. Tukaj sveti zelena lučka prve strani, vse ostale strani pa svetijo rdeče. Te lučke ostanejo v tem stanju 15 sekund. Po 15 sekundah se bosta rumeni luči prve in druge strani prižgali na ostalih dveh straneh, rdeča lučka pa bo ostala prižgana. Po zakasnitvi dveh sekund bo na prvi strani prižgana rdeča lučka, na drugi strani pa zelena lučka. To se bo dogajalo, dokler na vseh štirih straneh ne bodo vklopljene zelene lučke, nato pa se zanka ponovi.

digitalWrite (led1, LOW); // Rdeča luč prve strani ne sveti digitalWrite (led2, LOW); // rumena lučka f na prvi strani ugasne digitalWrite (led3, HIGH); // Zelena luč prve strani je na digitalWrite (led4, HIGH); // Rdeča luč na strani seconf je na digitalWrite (led5, LOW); // rumena lučka druge strani ne sveti digitalWrite (led6, LOW); // zelena lučka druge strani ne sveti digitalWrite (led7, HIGH); // Rdeča luč tretje strani je na digitalWrite (led8, LOW); // rumena lučka tretje strani ugasne digitalWrite (led9, LOW); // zelena lučka tretje strani ne sveti digitalWrite (led10, HIGH); // rdeča lučka četrte strani je na digitalWrite (led11, LOW); // rumena lučka četrte strani ugasne digitalWrite (led12, LOW); // zelena lučka četrte strani ugasne (15000); // zaradi zakasnitve 15 sekund ostaneta zeleni luči prve strani in rdeče luči ostalih treh strani vklopljeni 15 sekund digitalWrite (led1, LOW); // rdeča lučka prve strani ne sveti digitalWrite (led2, HIGH); // Rumena luč prve strani je na digitalWrite (led3, LOW); // zelena lučka prve strani je izključena digitalWrite (led4, LOW); // rdeča lučka druge strani ne sveti digitalWrite (led5, HIGH); // Rumena lučka druge strani je na digitalWrite (led6, LOW); // zelena lučka druge strani ne sveti digitalWrite (led7, HIGH); // Rdeča luč tretje strani je na digitalWrite (led8, LOW); // rumena lučka tretje strani ugasne digitalWrite (led9, LOW); // zelena lučka tretje strani ne sveti digitalWrite (led10, HIGH); // rdeča lučka četrte strani je na digitalWrite (led11, LOW); // rumena lučka četrte strani ugasne digitalWrite (led12, LOW); // zelena lučka četrte strani ugasne (2000); // zaradi zakasnitve 2 sekundi rumena lučka prve in druge strani ostane prižgana

Torej, to je bil celoten postopek za izdelavo štirismerne prometne signalizacije. Zdaj lahko uživate v izdelavi za vaše učenje ali šolski projekt.