Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-23 15:13
Hey there! Ipapakita ko sa iyo kung paano mag-program ng ilaw ng trapiko ng pedestrian para sa Arduino sa C ++ gamit ang isang may takdang makina ng estado sa pamamagitan ng paggamit ng YAKINDU Statechart Tools. Ipapakita nito ang lakas ng mga machine ng estado at maaaring magamit bilang isang blueprint para sa karagdagang mga proyekto.
Mga gamit
Kailangan mo lamang ng isang Arduino, ilang mga pushbutton, LEDs, Jumper at resistors.
Hardware
- 2x Pushbutton
- 2x Traffic Lights o maaari mong gamitin ang mga LED na may 220 Ohm resistors
- 2x 10k Ohm resistors
- Breadboard
- Jumper
- Arduino Uno / Mega (o anumang iba pa, nakakuha ng hindi bababa sa 8 GPIO)
Software
- YAKINDU Statechart Tools
- Eclipse C ++ IDE para sa Arduino
Hakbang 1: Tukuyin Kung Paano Ito Gumagana: Banayad na Trapiko ng Pedestrian
Sa una, kailangan naming tukuyin kung paano dapat gumana ang ilaw ng trapiko ng pedestrian. Sinubukan kong buod ang mga puntos ng bala:
- Ginamit ang dalawang ilaw sa trapiko - isa para sa mga kotse, ang isa para sa mga naglalakad
- Ang ilaw ng trapiko ay maaaring i-on sa pamamagitan ng paggamit ng isang pindutan
- Maaaring humiling ang taong naglalakad sa pagtawid sa kalye sa pamamagitan ng pagpindot sa isang pindutan
- Ang pinatay na ilaw ng trapiko ay ipinahiwatig sa pamamagitan ng pagpikit sa parehong dilaw na mga LED
- Pagkatapos ng pag-on, ang ilaw ng trapiko ay naghihintay ng 10 segundo sa ligtas na mode
- Pagkatapos ng ligtas na mode, ang mga kotse ay palaging may berdeng yugto hanggang sa magsimula ang isang pedestrian ng isang kahilingan
- Ang kahilingan sa pedestrian para sa tawiran ay ipinahiwatig ng toggling dilaw na LED
Bilang karagdagan, mayroong ilang mga kaganapan sa oras depende sa paraan ng kung paano gumagana ang isang ilaw trapiko.
Hakbang 2: Buuin ang Circuit
Simulan natin ang pag-set up ng circuit. Sa aking halimbawa, tulad ng nakikita mo sa preview ng imahe, gumamit ako ng isang Arduino Mega 2560, ngunit ang bawat iba pang Arduino na may hindi bababa sa walong mga GPIO ay dapat na maayos. Bilang karagdagan, bumili ako ng ilang mga ilaw na trapiko ng 5V sa Amazon. Maghanap lang para sa Traffic Light Arduino. Kung hindi man, maaari mo lamang gamitin ang anim na magkakaibang mga LED. Bukod dito, kailangan mo ng dalawang push button at dalawang 10k Ohm resistors.
Ang tatlong kaliwang LED ay ginagamit para sa trapiko ng kotse at ang tatlong kanang LED para sa mga naglalakad, kung saan maaaring ipahiwatig ng dilaw ang isang kahilingan.
Hakbang 3: Paglikha ng State Machine
Kaya, tulad ng nakikita mo mayroong dalawang pangunahing mga estado na may mga miyembro ng pinaghalo - estado at patayin ang estado. Maaari kang magpalipat-lipat sa pagitan ng parehong mga estado sa pamamagitan ng paggamit ng kaganapan saOff, na naka-wire sa pindutang ON / OFF. Sa paunang estado, ang off state, ang parehong mga dilaw na LED ay nagsisimulang kumukurap bawat segundo. Kapag na-on na ang ilaw ng trapiko, nagsisimula ito sa Ligtas. Pagkatapos ng 10 segundo ang tipikal na pag-uugali ng mga ilaw ng trapiko ay hahawakan. Ang pula at dilaw na LED ay bubuksan sa estado ng StreetPrepare at ang ilaw ng trapiko ay magiging berde pagkatapos ng 2 pang segundo. Mula ngayon, naghihintay ang makina ng estado para sa kaganapan sa pedestrianRequest, na naka-wire sa pangalawang pindutan. Matapos ipadala ang kaganapan ang kahilingan ay ipahiwatig sa pamamagitan ng pag-toggle ng dilaw na LED bawat segundo sa estado ng PedWating. Pagkalipas ng 7 segundo ang ilaw ng trapiko ay lilipat muna sa dilaw at pagkatapos ay pula hanggang sa makuha ng mga pedestrian ang signal upang pumunta sa estado ng PedestrianGreen. Pagkatapos nito, ang PedestrianRed ay isinaaktibo at ang pag-ikot ay paulit-ulit. Maaari lamang itong makagambala sa pamamagitan ng pag-patay muli ng ilaw ng trapiko.
Hakbang 4: Pagpapatakbo ng Halimbawa
Hakbang 5: Binuo ang C ++ Code
Ang nabuong C ++ code ay isang klasikong switch-case upang hawakan ang lohika ng makina ng estado. Isa lamang itong code snippet ng hitsura nito:
walang bisa TrafficLightCtrl:: runCycle () {clearOutEvents (); para sa (stateConfVectorPosition = 0; stateConfVectorPosition <maxOrthogonalStates; stateConfVectorPosition ++) {switch (stateConfVector [stateConfVectorPosition]) {case main_region_on_r1_StreetGreen: {main_region_on_r1_StreetGreen_react (true); pahinga; } case main_region_on_r1_PedWaiting_r1_waitOn: {main_region_on_r1_PedWaiting_r1_waitOn_react (totoo); pahinga; } default: masira; } clearInEvents (); }
Hakbang 6: Kunin ang Halimbawa
Ang buong halimbawa ay handa nang mag-ipon at magpatakbo. Dumarating ito sa YAKINDU Statechart Tools, na libre para sa hindi komersyal na paggamit. Pagkatapos mag-download, maaari mong mai-import ang halimbawa nang direkta sa tool:
File -> Bago -> Halimbawa -> Mga Halimbawa ng YAKINDU Statechart -> Susunod -> Traffic Light (C ++) para sa Arduino
> DITO maaari mong i-download ang YAKINDU Statechart Tools <<
Maaari kang magsimula sa isang 30 araw na pagsubok. Pagkatapos, kailangan mong makakuha ng isang lisensya, na libre para sa hindi pang-komersyal na paggamit!
Inirerekumendang:
LED Light ng Trapiko: 4 na Hakbang
LED Light Traffic: Nagmula sa: https://www.makeuseof.com/tag/arduino-traffic-ligh..Ang Arduino Traffic Light ay isang mabilis, madali, at kasiya-siyang proyekto na maaaring magawa nang mas mababa sa isang oras. Ginawang mga pagbabago: - ButtonAng orihinal na proyekto ay ito ay pinapanatili lamang ang pagbabago ng
Singa sa Trapiko ng Trapiko - Naka-print ang DIY 3D: 8 Hakbang (na may Mga Larawan)
Singa sa Trapiko ng Trapiko - Naka-print ang DIY 3D: Ang lahat ng mga tao ay nais na gumana sa katahimikan at Mahalaga na magkaroon ng isang mahusay na kapaligiran sa pagtatrabaho. Ang katahimikan ay humahantong sa isang mahusay na trabaho. Ginawa namin ang proyektong ito upang maabot ang panukalang ito. Ang ilaw trapiko sa ingay ay binubuo ng isang 'ilaw ng trapiko' na kumokontrol sa dB
6 na Taong Lumang Lumilikha ng Pangunahing Liwanag ng Trapiko Na May Scratch para sa Arduino: 3 Mga Hakbang
6 na Taong Lumang Paglikha ng Pangunahing Liwanag ng Trapiko Na May Scratch para sa Arduino: Ang aking anak na lalaki ay nausisa sa aking mga proyekto sa Arduino. Naglaro siya sandali sa Snap Circuits at nagsimula rin ang LEGOHe na bumuo ng ilang mga proyekto sa Scratch. Ito ay kaunting oras lamang para makapaglaro kami sa Scratch para sa Arduino. Ito ang aming unang proyekto. Ob
Arduino Traffic Light Project [Sa Paglalakad ng Pedestrian]: 3 Mga Hakbang
Arduino Traffic Light Project [Sa Pedestrian Crossing]: Kung naghahanap ka para sa isang bagay na madali, simple at sa parehong oras na nais mong mapahanga ang lahat sa iyong Arduino kung gayon ang proyekto sa ilaw ng trapiko ay marahil ang pinakamahusay na pagpipilian lalo na kapag ikaw ay isang nagsisimula sa mundo ng Arduino. Una naming makikita ang
Mga LED Light Light Pens: Mga tool para sa Drawing Light Doodles: 6 Mga Hakbang (na may Mga Larawan)
Mga LED Light Light Pens: Mga tool para sa Drawing Light Doodles: Ang aking asawa na si Lori ay isang walang tigil na doodler at naglaro ako ng mahabang pagkakalantad ng litrato sa loob ng maraming taon. May inspirasyon ng PikaPika light artistry group at ang kadalian ng mga digital camera na kinuha namin sa light drawing art form upang makita kung ano ang magagawa. Mayroon kaming lar