Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Määritä, miten se toimii: Jalankulkijoiden liikennevalot
- Vaihe 2: Rakenna piiri
- Vaihe 3: Tilakoneen luominen
- Vaihe 4: Esimerkin suorittaminen
- Vaihe 5: Luotu C ++ -koodi
- Vaihe 6: Hae esimerkki
Video: Osavaltion kone Arduinolla - jalankulkijoiden liikennevalo: 6 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Hei! Aion näyttää sinulle, kuinka ohjelmoida jalankulkijoiden liikennevalot Arduinolle C ++: ssa äärellisellä tilakoneella käyttämällä YAKINDU Statechart Tools -työkalua. Tämä osoittaa valtion koneiden voiman ja sitä voidaan käyttää suunnitelmana tuleville projekteille.
Tarvikkeet
Tarvitset vain Arduinon, joitain painikkeita, LED -valoja, jumpperia ja vastuksia.
Laitteisto
- 2x painike
- 2x liikennevalot tai voit käyttää 220 ohmin vastuksen LED -valoja
- 2x 10 k ohmin vastukset
- Leipälauta
- Jumpperi
- Arduino Uno/Mega (tai mikä tahansa muu, joka sai vähintään 8 GPIO: ta)
Ohjelmisto
- YAKINDU Statechart Tools
- Eclipse C ++ IDE Arduinolle
Vaihe 1: Määritä, miten se toimii: Jalankulkijoiden liikennevalot
Aluksi meidän on määriteltävä, miten jalankulkijoiden liikennevalojen pitäisi toimia. Yritin tiivistää luetelmakohdat:
- Käytössä on kaksi liikennevaloa - toinen autoille, toinen jalankulkijoille
- Liikennevalot voidaan kytkeä päälle painikkeella
- Jalankulkija voi pyytää kadun ylittämistä painamalla painiketta
- Liikennevalojen sammuttaminen ilmaistaan, kun molemmat keltaiset LED -valot vilkkuvat
- Sytyttämisen jälkeen liikennevalo odottaa 10 sekuntia vikasietotilassa
- Turvatilan jälkeen autoissa on aina vihreä vaihe, kunnes jalankulkija käynnistää pyynnön
- Jalankulkijoiden ylityspyyntö näkyy keltaisella LED -valolla
Lisäksi liikennevalojen toiminnasta riippuen on joitakin aikatapahtumia.
Vaihe 2: Rakenna piiri
Aloitetaan piirin asettaminen. Esimerkissäni, kuten voit nähdä esikatselukuvassa, olen käyttänyt Arduino Mega 2560: ta, mutta jokaisen muun Arduinon, jossa on vähintään kahdeksan GPIO: ta, pitäisi olla kunnossa. Lisäksi olen ostanut joitain 5V liikennevaloja Amazonista. Etsi vain liikennevalot Arduino. Muussa tapauksessa voit käyttää kuutta eri LEDiä. Lisäksi tarvitset kaksi painonappia ja kaksi 10 k ohmin vastusta.
Kolme vasenta LEDiä käytetään autoliikenteeseen ja kolme oikeaa LED -valoa jalankulkijoihin, joissa keltainen voi ilmaista pyynnön.
Vaihe 3: Tilakoneen luominen
Joten, kuten näette, on kaksi päätilaa, joissa on yhdistettyjä jäseniä - tila päällä ja tila pois. Voit vaihtaa molempien tilojen välillä käyttämällä ONOff -tapahtumaa, joka on kytketty ON/OFF -painikkeeseen. Alkutilassa, pois päältä, molemmat keltaiset LED -valot alkavat vilkkua joka sekunti. Kun liikennevalo on kytketty päälle, se alkaa turvallisessa tilassa. 10 sekunnin kuluttua liikennevalojen tyypillinen käyttäytyminen käsitellään. Punainen ja keltainen LED -valo syttyy StreetPrepare -tilassa ja liikennevalo muuttuu vihreäksi vielä 2 sekunnin kuluttua. Tästä lähtien tilakone odottaa jalankulkijan pyynnön tapahtumaa, joka on kytketty toiseen painikkeeseen. Tapahtuman lähettämisen jälkeen pyyntö ilmaistaan vaihtamalla keltaista LEDiä joka sekunti PedWating -tilassa. 7 sekuntia myöhemmin liikennevalot muuttuvat ensin keltaisiksi ja sitten punaisiksi, kunnes jalankulkijat saavat signaalin mennä jalankulkijoiden vihreä -tilaan. Tämän jälkeen PedestrianRed aktivoituu ja sykli toistuu. Tämä voidaan keskeyttää vain sammuttamalla liikennevalo uudelleen.
Vaihe 4: Esimerkin suorittaminen
Vaihe 5: Luotu C ++ -koodi
Luotu C ++ -koodi on klassinen kytkinkotelo tilakoneen logiikan käsittelemiseksi. Tämä on vain koodinpätkä miltä se näyttää:
mitätön TrafficLightCtrl:: runCycle () {clearOutEvents (); for (stateConfVectorPosition = 0; stateConfVectorPosition <maxOrthogonalStates; stateConfVectorPosition ++) {kytkin (stateConfVector [stateConfVectorPosition]) {case main_region_on_r1_StreetGreen: {main_region_on_reen_reach tauko; } case main_region_on_r1_PedWaiting_r1_waitOn: {main_region_on_r1_PedWaiting_r1_waitOn_react (tosi); tauko; } oletus: break; } clearInEvents (); }
Vaihe 6: Hae esimerkki
Koko esimerkki on valmis koottavaksi ja suoritettavaksi. Sen mukana tulee YAKINDU Statechart Tools, joka on ilmainen ei-kaupalliseen käyttöön. Lataamisen jälkeen voit tuoda esimerkin suoraan työkaluun:
Tiedosto -> Uusi -> Esimerkki -> YAKINDU Statechart Esimerkit -> Seuraava -> Liikennevalot (C ++) Arduinolle
> TÄSTÄ voit ladata YAKINDU Statechart Tools <<
Voit aloittaa 30 päivän kokeilujaksolla. Jälkeenpäin sinun on hankittava lisenssi, joka on ilmainen ei-kaupalliseen käyttöön!
Suositeltava:
Arduino -liikennevalo -ohjain RBG -ledin avulla - 4-suuntainen: 3 vaihetta
Arduino -liikennevalo -ohjain RBG -ledin avulla | 4-suuntainen: Tässä viestissä opit tekemään Arduinon liikennevalo-ohjaimen. Tätä liikennevalojen ohjainta käytetään liikenteen ohjaamiseen. Näitä voidaan soveltaa suurilla liikennealueilla liikenneruuhkien tai onnettomuuksien välttämiseksi
LIIKENNEVALO Suunnittelija VISHNU C SABU: 3 vaihetta
LIIKENNEVALO Suunnittelija VISHNU C SABU: Ne auttavat liikettä ja auttavat hallitsemaan järjestyksessä virtaa antamalla etumatkan joillekin autoille eivätkä toisille. Ne eivät ainoastaan tee autoliikenteestä paljon turvallisempaa, vaan myös jalankulkuliikennettä. Ne auttavat vähentämään onnettomuuksien määrää ja tekemään törmäyksiä risteyksessä
Arduino -liikennevalo: 3 vaihetta (kuvilla)
Arduino-liikennevalo: Tämä ohje on peräisin: Arduino-Traffic-Light-Simulator Olen käyttänyt tämän ohjeen piirustusta erillisen liikennevalon luomiseen. Tein seuraavat muutokset: LEDien reiät ovat pienempiä, 5 mm: n LEDeille (10 mm: n LEDien sijaan)
Arduino -liikennevalo: 8 vaihetta (kuvilla)
Arduino-liikennevalo: Tämä projekti tehtiin 5 mm: n LED-valolla ja LED-kiinnityslaitteella T1-3/4 Clear Standard paremman visualisoinnin saavuttamiseksi, joten käyttämällä kolmea LED-valoa sen värien näyttämiseksi erikseen Punainen, Keltainen & Vihreä vastaavasti
Älykäs interaktiivinen liikennevalo: 5 vaihetta (kuvilla)
Älykäs interaktiivinen liikennevalo: Oletko valmis rakentamaan maailman parhaan ja interaktiivisimman liikennevalon? Hyvä! Tässä opetusohjelmassa selitämme, kuinka voit rakentaa sen itse käyttämällä Arduinoa. Tarvittavat komponentit:- Arduino (..duh)- LM317 Mosfet- 2x 60 cm: n analogiset RGB-LED-nauhat (12V)- PVC-putki