Kā padarīt Arduino bāzētu luksoforu kontrolieri?

Luksofori ir signālierīces, kuras tiek izmantotas, lai kontrolētu satiksmes plūsmu ceļa krustojumos, gājēju pārejās un citās vietās. Tas ir trīs gaismas krāsu kombinācija, kas ir sarkana, dzeltena un zaļa. Sarkanā gaisma liek cilvēkiem apstāties, dzeltenā krāsa liek sagatavoties vai iedarbināt motoru, ja tas ir izslēgts, un zaļā gaisma norāda, ka jums ir skaidrs iet uz priekšu.



Luksofori

Šajā projektā mēs izveidosim četrvirzienu satiksmes signālu sistēmu, izmantojot mikrokontrolleru. Mēs sadedzināsim C kods uz Arduino Uno dēļa, lai pastāstītu, kā ieslēgt un izslēgt gaismas diodes, lai signalizācijas procesā varētu sasniegt perfektu pārslēgšanās laiku. Pārbaudes nolūkos tiks izmantotas 4 kombinācijas no 4 gaismas diodēm un novietotas uz maizes dēļa.



Kā veikt četrvirzienu satiksmes signālu, izmantojot Seeeduino v4.2?

Satiksmes signāli ir vissvarīgākais, kas tiek uzstādīts uz ceļiem, lai uzturētu vienmērīgu un vienmērīgu satiksmes plūsmu, un tas samazina negadījumu iespējamību. Mēs varam izveidot šo projektu uz maza maizes dēļa. Apkoposim informāciju par šo projektu un sāksim strādāt.



1. darbība: komponentu savākšana

Vislabākā pieeja jebkura projekta uzsākšanai ir sākumā izveidot visu sastāvdaļu sarakstu un veikt īsu katra komponenta izpēti. Tas mums palīdz izvairīties no neērtībām projekta vidū. Pilns visu šajā projektā izmantoto komponentu saraksts ir sniegts zemāk.



  • Seeeduino V4.2
  • Džemperu vadi
  • LED (4xZaļš, 4xDzeltens, 4xSarkans)
  • 12 V maiņstrāvas līdzstrāvas adapteris

2. solis: Komponentu izpēte

Tagad, kad mēs zinām sava projekta kopsavilkumu un mums ir arī pilns visu sastāvdaļu saraksts, ļaujiet mums virzīties soli uz priekšu un veikt īsu pētījumu par komponentiem, kurus mēs izmantosim.

Seeeduino v4.2 ir viena no labākajām Arduino saderīgajām plāksnēm pasaulē, kuras pamatā ir mikrokontrolleris Atmega 328 MCU. jo tas ir ērti lietojams, stabilāks un izskatās labāk nekā daudzi citi dēļi. Tas ir balstīts uz Arduino sāknēšanas programmu. tam ir ATMEGA16U2 kā UART – USB pārveidotājs, jo no kura to var izmantot kā FTDI mikroshēmu. tas ir savienots ar datoru, izmantojot mikro USB kabeli, ko parasti sauc par android kabeli. Plātnes barošanai var izmantot arī līdzstrāvas ligzdu. ieejas jaudai jābūt no 7V līdz 15V.

Seeeduino



TO Maizes dēlis ir ierīce bez lodēšanas. To izmanto, lai izgatavotu un testētu pagaidu prototipa elektroniskās shēmas un dizainus. Lielākā daļa elektronisko komponentu ir vienkārši savienoti ar maizes dēli, vienkārši ievietojot to tapas maizes dēlī. Maizes dēļa caurumos tiek uzlikta metāla sloksne, un caurumi ir savienoti noteiktā veidā. Urbumu savienojumi ir parādīti zemāk redzamajā diagrammā:

Maizes dēlis

3. solis: darba princips

Iepazīsimies ar četrvirzienu satiksmes signāla projekta darbības principu. Tā kā tas ir četrvirzienu, mums būs nepieciešami divpadsmit gaismas diodes un četras trīs gaismas diožu kombinācijas. Kods ir rakstīts tā, ka, ja vienā kombinācijā ir redzama zaļa gaisma, visās pārējās kombinācijās tiks parādīta sarkanā gaisma. Ja signāls mainās no zaļa uz dzeltenu vai sarkanu uz dzeltenu, cita gaismas diožu kombinācija parādīs arī darījumu no attiecīgi sarkanā līdz dzeltenā vai dzeltenā līdz sarkanajā.

Tas viss tiks darīts ar laika aizturi starp signālu pāreju. Piemēram, gaismas diode paliks zaļa gandrīz piecpadsmit sekundes, gaismas diode paliks dzeltena gandrīz divas sekundes. Sarkanās gaismas diodes ilgums ir atkarīgs no zaļā LED ilguma. Tas nozīmē, ka, ja gaismas diode ir zaļa piecpadsmit sekundes, visas pārējās sarkanās gaismas diode paliek ieslēgta piecpadsmit sekundes.

4. solis: ķēdes izveidošana

Tagad, kad mēs zinām galveno komponentu darbību, virzīsimies uz priekšu un sāksim montēt komponentus, lai izveidotu ķēdi. Veiciet šādas darbības, lai pareizi pievienotu visus paneļus komponentus.

  1. Vispirms paņemiet visus gaismas diodes un pievienojiet tos maizes dēlī pareizajā secībā kā sarkanu, dzeltenu un zaļu.
  2. Izveidojiet kopīgu savienojumu ar LED gaismas diodēm. Labāk ir savienot 220 omu rezistoru ar LED pozitīvo spaili.
  3. Tagad attiecīgi pievienojiet savienojošos vadus.
  4. Tagad pievienojiet gaismas diodes Arduino, kā parādīts zemāk esošajā shēmā. LED-1, LED-2 līdz LED-12 tiks pievienots Arduino Uno dēļa pin1, pin2 līdz 12 pin12.
  5. Augšupielādējiet kodu Arduino Uno un darbiniet to, izmantojot klēpjdatoru vai maiņstrāvas līdz līdzstrāvas adapteri.
  6. Ķēde izskatīsies kā parādīts zemāk:

    Ķēdes shēma

5. solis: darba sākšana ar Arduino

Ja iepriekš neesat pazīstams ar Arduino IDE, neuztraucieties, jo zemāk jūs varat redzēt skaidrus koda ierakstīšanas soļus mikrokontrolleru dēlī, izmantojot Arduino IDE. Arduino IDE jaunāko versiju varat lejupielādēt vietnē šeit un veiciet tālāk minētās darbības:

1). Kad Arduino dēlis ir savienots ar datoru, atveriet “Control panel” un noklikšķiniet uz “Hardware and Sound”. Pēc tam noklikšķiniet uz “Ierīces un printeri”. Atrodiet tās ostas nosaukumu, kurai ir pievienota jūsu Arduino dēlis. Manā gadījumā tas ir “COM14”, bet datorā tas var atšķirties.

Ostas atrašana

2). Tagad atveriet Arduino IDE. No Rīki iestatiet Arduino dēli uz Arduino / Genuino UNO.

Dēļu iestatīšana

3). Tajā pašā izvēlnē Rīks iestatiet porta numuru, kuru redzējāt vadības panelī.

Portas iestatīšana

4). Lejupielādējiet zemāk pievienoto kodu un nokopējiet to savā IDE. Lai augšupielādētu kodu, noklikšķiniet uz augšupielādes pogas.

Augšupielādēt

Kodu var lejupielādēt līdz noklikšķinot šeit.

6. solis: kods

Kods ir labi komentēts un pats par sevi saprotams, taču joprojām ir īsi izskaidrota kāda koda daļa.

1. Sākumā tiek nosaukti visi tapas, kuras vēlāk tiks savienotas ar Arduino.

int led1 = 1; // sarkanā gaisma 1 int led2 = 2; // dzeltenā gaisma 1 int led3 = 3; // zaļā gaisma 1 int led4 = 4; // sarkanā gaisma 2 int led5 = 5; // dzeltenā gaisma 2 int led6 = 6; // zaļā gaisma 2 int led7 = 7; // sarkanā gaisma 3 int led8 = 8; // dzeltenā gaisma 3 int led9 = 9; // zaļā gaisma 3 int led10 = 10; // sarkanā gaisma 4 int led11 = 11; // dzeltenā gaisma 4 int led12 = 12; // zaļā gaisma 4

2. anulēt iestatīšanu () ir funkcija, kurā mēs paziņojam, ka visas Arduino dēļa tapas tiek izmantotas kā INPUT vai OUTPUT. Šajā funkcijā ir iestatīts arī pārraides ātrums. Bauda ātrums ir sakaru ātrums bitos sekundē, ar kuru mikrokontrolleru plate sazinās ar ārējām ierīcēm. Šī funkcija darbojas tikai vienu reizi, kad tiek nospiesta mikrokontrolleru plates iespējošanas poga.

void setup () {Serial.begin (9600;) // Pārraides ātrums ir iestatīts uz 9600 pinMode (led1, OUTPUT); // Visas tapas, kas savienotas ar gaismas diodēm, ir iestatītas kā 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 ir funkcija, kas atkārtoti darbojas ciklā. Šajā funkcijā mēs kodēsim visu procedūru, ar kuru mikrokontrolleris kontrolēs ārējās gaismas diodes. Zemāk ir norādīts neliels koda gabals. Šeit iedegas pirmās puses zaļā gaisma, un visām pārējām pusēm deg sarkanā gaisma. Šīs gaismas šajā stāvoklī paliks 15 sekundes. Pēc 15 sekundēm pirmās un otrās puses dzeltenā gaisma ieslēgsies abās pārējās pusēs un sarkanā gaisma paliks ieslēgta. Pēc divu sekunžu aizkavēšanās pirmajai pusei būs ieslēgta sarkanā gaisma, bet otrajai - zaļā gaisma. Tas notiks līdz brīdim, kad visām četrām pusēm būs ieslēgtas zaļās gaismas, savukārt kārta atkārtosies.

digitalWrite (led1, LOW); // Pirmās puses sarkanā gaisma ir izslēgta digitalWrite (led2, LOW); // dzeltenā gaisma f pirmā puse ir izslēgta digitalWrite (led3, HIGH); // Pirmās puses zaļā gaisma ir uz digitalWrite (led4, HIGH); // seconf puses sarkanā gaisma ir uz digitalWrite (led5, LOW); // otrās puses dzeltenā gaisma ir izslēgta digitalWrite (led6, LOW); // otrās puses zaļā gaisma ir izslēgta digitalWrite (led7, HIGH); // Trešās puses sarkanā gaisma ir ieslēgta digitalWrite (led8, LOW); // trešās puses dzeltenā gaisma ir izslēgta digitalWrite (led9, LOW); // trešās puses zaļā gaisma ir izslēgta digitalWrite (led10, HIGH); // ceturtās puses sarkanā gaisma deg uz digitalWrite (led11, LOW); // ceturtās puses dzeltenā gaisma ir izslēgta digitalWrite (led12, LOW); // ceturtās puses zaļā gaisma ir izslēgta (15000); // 15 sekunžu aizkavēšanās dēļ pirmās puses zaļā gaisma un pārējo trīs sānu sarkanās gaismas paliek ieslēgtas 15 sekundes digitalWrite (led1, LOW); // pirmās puses sarkanā gaisma ir izslēgta digitalWrite (led2, HIGH); // Pirmās puses dzeltenā gaisma deg uz digitalWrite (led3, LOW); // pirmās puses zaļā gaisma ir izslēgta digitalWrite (led4, LOW); // otrās puses sarkanā gaisma ir izslēgta digitalWrite (led5, HIGH); // DigitalWrite deg otrās puses dzeltenā gaisma (led6, LOW); // otrās puses zaļā gaisma ir izslēgta digitalWrite (led7, HIGH); // Trešās puses sarkanā gaisma ir ieslēgta digitalWrite (led8, LOW); // trešās puses dzeltenā gaisma ir izslēgta digitalWrite (led9, LOW); // trešās puses zaļā gaisma ir izslēgta digitalWrite (led10, HIGH); // ceturtās puses sarkanā gaisma deg uz digitalWrite (led11, LOW); // ceturtās puses dzeltenā gaisma ir izslēgta digitalWrite (led12, LOW); // ceturtās puses zaļā gaisma ir izslēgta (2000); 2 sekunžu aizkavēšanās dēļ pirmās un otrās puses dzeltenā gaisma paliks ieslēgta

Tātad, šī bija visa procedūra, lai izveidotu četrvirzienu satiksmes signālu. Tagad jūs varat izbaudīt tā izveidi savai mācībai vai skolas projektam.