Paano Gumawa ng Arduino Batay sa Traffic Light Controller?

Ang mga ilaw ng trapiko ay mga aparato na nagsisenyas na ginagamit upang makontrol ang daloy ng trapiko sa mga interseksyon ng isang kalsada, mga tawiran sa paglalakad, at iba pang mga lokasyon. Ito ay isang kombinasyon ng tatlong mga kulay ng ilaw na Pula, Dilaw at berde. Sinasabi ng pulang ilaw sa mga tao na huminto, sinabi ng dilaw na maghanda o simulan ang makina kung ito ay pinatay at ipinahiwatig ng berdeng ilaw na malinaw kang magpatuloy.



Ilaw trapiko

Sa proyektong ito, gagawa kami ng isang 4-way na signal signal system gamit ang isang microcontroller. Susunugin namin a C Code sa Arduino Uno board upang sabihin dito kung paano i-on at i-off ang mga LED upang ang perpektong tiyempo ng paglipat ay maaaring makamit sa proseso ng pagbibigay ng senyas. 4 na mga kumbinasyon ng 4 na LED ang gagamitin at mailalagay sa breadboard para sa layunin ng pagsubok.



Paano Gumawa ng 4-Way Traffic Signal Gamit ang Seeeduino v4.2?

Ang mga signal ng trapiko ay ang pinakamahalagang bagay na naka-install sa mga kalsada upang mapanatili ang isang maayos at matatag na daloy ng trapiko at pinapaliit nito ang pagkakataon ng mga aksidente. Maaari naming gawin ang proyektong ito sa isang maliit na breadboard. Ipunin namin ang ilang impormasyon tungkol sa proyektong ito at magsimulang magtrabaho.



Hakbang 1: Pagkolekta ng Mga Bahagi

Ang pinakamahusay na diskarte upang simulan ang anumang proyekto ay upang gumawa ng isang listahan ng mga kumpletong bahagi sa simula at dumaan sa isang maikling pag-aaral ng bawat bahagi. Tumutulong ito sa amin sa pag-iwas sa mga abala sa gitna ng proyekto. Ang isang kumpletong listahan ng lahat ng mga sangkap na ginamit sa proyektong ito ay ibinibigay sa ibaba.



  • Seeeduino V4.2
  • Jumper Wires
  • LED (4xGreen, 4xYellow, 4xRed)
  • 12V AC hanggang DC Adapter

Hakbang 2: Pag-aaral ng Mga Bahagi

Ngayon alam namin ang abstract ng aming proyekto at mayroon din kaming isang kumpletong listahan ng lahat ng mga bahagi, ilipat natin ang isang hakbang nang maaga at dumaan sa isang maikling pag-aaral ng mga sangkap na gagamitin namin.

Seeeduino v4.2 ay isa sa pinakamahusay na Arduino na katugmang board sa mundo na batay sa microcontroller Atmega 328 MCU. sapagkat ito ay madaling gamitin, mas matatag at mukhang mas mahusay ito kaysa sa maraming iba pang mga board. Ito ay batay sa Arduino bootloader. mayroon itong isang ATMEGA16U2 bilang isang UART-to-USB converter dahil oof kung saan maaari itong magamit bilang isang FTDI chip. ito ay konektado sa computer sa pamamagitan ng paggamit ng isang micro USB cable na sa pangkalahatan ay tinatawag na isang android cable. Ang isang DC jack ay maaari ding magamit upang mapalakas ang board. ang input power ay dapat na mula 7V hanggang 15V.

Seeeduino



SA Breadboard ay isang solderless na aparato. Ginagamit ito upang makagawa at subukan ang pansamantalang prototype electronic circuit at disenyo. Karamihan sa mga elektronikong sangkap ay nakakonekta lamang sa isang breadboard sa pamamagitan lamang ng pagpasok ng kanilang mga pin sa breadboard. Ang isang strip ng metal ay inilalagay sa mga butas ng breadboard at ang mga butas ay konektado sa isang tiyak na paraan. Ang mga koneksyon ng mga butas ay ipinapakita sa diagram sa ibaba:

Breadboard

Hakbang 3: Prinsipyo sa Paggawa

Dumaan tayo sa isang maikling pagpapakilala sa prinsipyo ng pagtatrabaho ng 4-way na proyekto ng Traffic Signal. Dahil ito ay isang 4-way, kakailanganin namin ng labindalawang LEDs at apat na kumbinasyon ng tatlong LEDs. Ang code ay nakasulat upang kung ang isang kombinasyon ay nagpapakita ng berdeng ilaw, ang lahat ng iba pang mga kumbinasyon ay magpapakita ng pulang ilaw. Kung ang isang senyas ay nagbabago mula berde hanggang dilaw o pula hanggang dilaw, ang isa pang kumbinasyon ng mga LED ay magpapakita rin ng isang transaksyon mula sa pula hanggang dilaw o dilaw hanggang pula ayon sa pagkakasunod.

Ang lahat ng ito ay gagawin sa isang pagkaantala ng oras sa pagitan ng paglipat ng mga signal. Halimbawa, ang isang LED ay mananatiling berde sa halos labinlimang segundo, isang LED ay mananatiling dilaw ng halos dalawang segundo. Ang tagal ng Red LED ay nakasalalay sa tagal ng berdeng LED. Nangangahulugan ito na kung ang isang LED ay berde sa labinlimang segundo, ang lahat ng iba pang mga pulang LED ay mananatili sa labinlimang segundo.

Hakbang 4: Paggawa ng Circuit

Ngayon alam na natin ang pangunahing pagtatrabaho ng mga bahagi, magpatuloy tayo at simulan ang pag-iipon ng mga bahagi upang gawin ang circuit. Dumaan sa mga sumusunod na hakbang upang maikonekta nang tama ang lahat ng mga bahagi sa breadboard.

  1. Una sa lahat, kunin ang lahat ng mga LED at ikonekta ang mga ito sa breadboard sa tamang pagkakasunud-sunod bilang pula, dilaw at berde.
  2. Gumawa ng isang pangkaraniwang koneksyon ng mga bakuran ng al the LEDs. Mas mahusay na ikonekta ang isang resistor ng 220-ohm sa positibong terminal ng LED.
  3. Ngayon ikonekta ang mga wires na nagkokonekta nang naaayon.
  4. Ikonekta ngayon ang mga LED sa Arduino tulad ng ipinakita sa circuit diagram sa ibaba. Ang LED-1, LED-2 hanggang sa LED-12 ay konektado sa pin1, pin2 hanggang sa pin12 ng Arduino Uno board.
  5. I-upload ang code sa Arduino Uno at paandarin ito sa pamamagitan ng paggamit ng isang Laptop o AC sa DC adapter.
  6. Ang circuit ay magiging hitsura ng imaheng ipinakita sa ibaba:

    Diagram ng Circuit

Hakbang 5: Pagsisimula Sa Arduino

Kung hindi ka pamilyar sa Arduino IDE dati, huwag mag-alala dahil sa ibaba, maaari mong makita ang mga malinaw na hakbang ng nasusunog na code sa board ng microcontroller gamit ang Arduino IDE. Maaari mong i-download ang pinakabagong bersyon ng Arduino IDE mula sa dito at sundin ang mga hakbang na nabanggit sa ibaba:

1). Kapag ang Arduino board ay konektado sa iyong PC, buksan ang 'Control panel' at mag-click sa 'Hardware at Sound'. Pagkatapos mag-click sa 'Mga Device at Printer'. Hanapin ang pangalan ng port kung saan nakakonekta ang iyong Arduino board. Sa aking kaso ito ay 'COM14' ngunit maaaring magkakaiba ito sa iyong PC.

Paghanap ng Port

2). Ngayon buksan ang Arduino IDE. Mula sa Mga Tool, itakda ang Arduino board sa Arduino / Genuino UNO.

Setting Board

3). Mula sa parehong menu ng Tool, itakda ang numero ng port na nakita mo sa control panel.

Setting Port

4). I-download ang code na nakalakip sa ibaba at kopyahin ito sa iyong IDE. Upang mai-upload ang code, mag-click sa upload button.

I-upload

Maaari mong i-download ang code sa pamamagitan ng pag-click dito

Hakbang 6: Code

Ang code ay mahusay na nagkomento at nagpapaliwanag ng sarili ngunit gayon pa man, ang ilang bahagi ng code ay maikling ipinaliwanag sa ibaba.

1. Sa simula, ang lahat ng mga pin ay pinangalanan, na makokonekta sa Arduino sa paglaon.

int led1 = 1; // red light 1 int led2 = 2; // dilaw na ilaw 1 int led3 = 3; // green light 1 int led4 = 4; // red light 2 int led5 = 5; // dilaw na ilaw 2 int led6 = 6; // green light 2 int led7 = 7; // red light 3 int led8 = 8; // dilaw na ilaw 3 int led9 = 9; // green light 3 int led10 = 10; // red light 4 int led11 = 11; // dilaw na ilaw 4 int led12 = 12; // green light 4

2. walang bisa ang pag-setup () ay isang pagpapaandar kung saan idineklara namin ang lahat ng mga pin ng Arduino board na gagamitin bilang INPUT o OUTPUT. Ang Baud Rate ay naka-set din sa pagpapaandar na ito. Ang Baud Rate ay ang bilis ng komunikasyon sa mga bit bawat segundo kung saan nakikipag-usap ang lupon ng microcontroller sa mga panlabas na aparato. Gumagawa lamang ang pagpapaandar na ito nang isang beses kapag ang pindutan ng paganahin ang board ng microcontroller ay pinindot.

void setup () {Serial.begin (9600;) // Baud Rate ay nakatakda sa 9600 pinMode (led1, OUTPUT); // Ang lahat ng mga pin na konektado sa LEDs ay itinakda bilang 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); }

Ang 3. void loop ay isang pagpapaandar na paulit-ulit na tumatakbo sa isang loop. Sa pagpapaandar na ito, ise-code namin ang buong pamamaraan kung saan makokontrol ng microcontroller ang mga panlabas na LED. Ang isang maliit na tipak ng code ay ibinibigay sa ibaba. Narito ang berdeng ilaw ng unang panig ay nakabukas at lahat ng iba pang mga panig ay may ilaw na pula. Ang mga ilaw na ito ay mananatili sa estado na ito sa loob ng 15 segundo. Pagkatapos ng 15 segundo, ang dilaw na ilaw ng una at pangalawang bahagi ay bubukas sa iba pang dalawang panig na mananatili ang kanilang pulang ilaw. Matapos ang isang pagkaantala ng dalawang segundo, ang unang bahagi ay magkakaroon ng pulang ilaw nito at ang pangalawang bahagi ay may ilaw na berde. Mangyayari ito hanggang sa ang lahat ng apat na panig ay nakabukas ang kanilang berdeng ilaw, sa kanilang pagliko at pagkatapos ay paulit-ulit ang loop.

digitalWrite (led1, LOW); // Ang pulang ilaw ng unang panig ay naka-off sa digitalWrite (led2, LOW); // dilaw na ilaw f unang bahagi ay naka-off sa digitalWrite (led3, HIGH); // Green Light of First side ay nasa digitalWrite (led4, HIGH); // Red light ng seconf side ay nasa digitalWrite (led5, LOW); // dilaw na ilaw ng pangalawang panig ay naka-off sa digitalWrite (led6, LOW); // green light ng pangalawang bahagi ay naka-off sa digitalWrite (led7, HIGH); // Ang pulang ilaw ng pangatlong panig ay nasa digitalWrite (led8, LOW); // dilaw na ilaw ng pangatlong panig ay naka-off sa digitalWrite (led9, LOW); // green light ng pangatlong panig ay naka-off sa digitalWrite (led10, HIGH); // pulang ilaw ng ika-apat na bahagi ay nasa digitalWrite (led11, LOW); // dilaw na ilaw ng ikaapat na bahagi ay naka-off sa digitalWrite (led12, LOW); // green light ng ikaapat na bahagi ay hindi naantala (15000); // dahil sa isang pagkaantala ng 15 segundo, ang berdeng ilaw ng unang bahagi at ang mga pulang ilaw ng iba pang tatlong panig ay mananatiling nakabukas sa loob ng 15 segundo digitalWrite (led1, LOW); // pulang ilaw ng unang bahagi ay naka-off sa digitalWrite (led2, HIGH); // Yellow light ng unang panig ay nasa digitalWrite (led3, LOW); // green light ng unang panig ay naka-off sa digitalWrite (led4, LOW); // pulang ilaw ng pangalawang bahagi ay naka-off sa digitalWrite (led5, HIGH); // Dilaw na ilaw ng pangalawang panig ay nasa digitalWrite (led6, LOW); // green light ng pangalawang bahagi ay naka-off sa digitalWrite (led7, HIGH); // Ang pulang ilaw ng pangatlong panig ay nasa digitalWrite (led8, LOW); // dilaw na ilaw ng pangatlong panig ay naka-off sa digitalWrite (led9, LOW); // green light ng pangatlong panig ay naka-off sa digitalWrite (led10, HIGH); // pulang ilaw ng ika-apat na bahagi ay nasa digitalWrite (led11, LOW); // dilaw na ilaw ng ikaapat na bahagi ay naka-off sa digitalWrite (led12, LOW); // green light ng ikaapat na bahagi ay hindi naantala (2000); // dahil sa isang pagkaantala ng 2 segundo, ang dilaw na ilaw ng una at seond na bahagi ay mananatiling nakabukas

Kaya, ito ang buong pamamaraan upang makagawa ng isang 4-way na signal ng trapiko. Ngayon, masisiyahan ka sa paggawa nito para sa iyong pag-aaral o isang proyekto sa paaralan.