Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-23 15:08
Pozdravljeni, pokazal vam bom, kako programirati semafor za pešce za Arduino v C ++ s končnim strojem stanja z orodji YAKINDU Statechart Tools. To bo pokazalo moč državnih strojev in se lahko uporabi kot načrt za nadaljnje projekte.
Zaloge
Potrebujete samo Arduino, nekaj gumbov, LED, skakalec in upore.
Strojna oprema
- 2x gumb
- 2x semaforja ali pa uporabite LED z upori 220 Ohm
- 2x 10k ohmski upori
- Ogledna plošča
- Skakalec
- Arduino Uno/Mega (ali kateri koli drug, ki ima vsaj 8 GPIO -jev)
Programska oprema
- Orodja za grafikone stanja YAKINDU
- Eclipse C ++ IDE za Arduino
1. korak: Določite, kako deluje: Semafor za pešce
Najprej moramo določiti, kako naj deluje semafor za pešce. Poskušal sem povzeti glavne točke:
- Uporabljata se dva semaforja - eden za avtomobile, drugi za pešce
- Semafor lahko vklopite z gumbom
- Pešec lahko zahteva prehod ulice s pritiskom na gumb
- Izklopljen semafor je označen z utripanjem obeh rumenih LED
- Po vklopu semafor v varnem načinu počaka 10 sekund
- Po varnem načinu imajo avtomobili vedno zeleno fazo, dokler pešec ne poda zahteve
- Zahteva za prehod pešca je označena s preklopom rumene LED
Poleg tega obstaja nekaj časovnih dogodkov, odvisno od načina delovanja semaforja.
2. korak: Zgradite vezje
Začnimo z nastavitvijo vezja. V mojem primeru, kot lahko vidite na predogledni sliki, sem uporabil Arduino Mega 2560, vendar bi moral biti vsak drugi Arduino z vsaj osmimi GPIO -ji v redu. Poleg tega sem kupil nekaj 5V semaforjev pri Amazonu. Samo poiščite semafor Arduino. V nasprotnem primeru lahko preprosto uporabite šest različnih LED. Poleg tega potrebujete dva potisna gumba in dva upora 10k Ohm.
Tri leve LED diode se uporabljajo za avtomobilski promet in tri desne LED za pešce, kjer rumena označuje zahtevo.
3. korak: Ustvarjanje državnega stroja
Kot vidite, obstajata dve glavni stanji s sestavljenimi člani - stanje vklopljeno in stanje izklopljeno. Med obema stanjema lahko preklapljate z dogodkom onOff, ki je povezan z gumbom za vklop/izklop. V začetnem stanju, izklopljenem, obe rumeni LED utripata vsako sekundo. Ko je semafor prižgan, se prične v Safestatu. Po 10 sekundah bo obravnavano tipično vedenje semaforjev. Rdeča in rumena LED bosta prižgani v stanju StreetPrepare, semafor pa po 2 sekundah zasveti zeleno. Od zdaj naprej državni stroj čaka na dogodek pedestrianRequest, ki je povezan z drugim gumbom. Po pošiljanju dogodka bo zahteva prikazana s preklopom rumene LED vsako sekundo v stanju PedWating. 7 sekund kasneje bo semafor najprej preklopil na rumeno in nato na rdečo, dokler pešci ne dobijo signala, da gredo v stanje pešca. Po tem se aktivira Rdeči pešec in cikel se ponovi. To lahko prekinete le tako, da ponovno ugasnete semafor.
4. korak: Zaženite primer
5. korak: Ustvarjena koda C ++
Ustvarjena koda C ++ je klasična stikalna omarica za obravnavo logike strojnega stanja. To je le delček kode, kako izgleda:
void TrafficLightCtrl:: runCycle () {clearOutEvents (); for (stateConfVectorPosition = 0; stateConfVectorPosition <maxOrthogonalStates; stateConfVectorPosition ++) {stikalo (stateConfVector [stateConfVectorPosition]) {primer main_region_on_r1_StreetGreen: {main_regionSon_trin zlom; } primer main_region_on_r1_PedWaiting_r1_waitOn: {main_region_on_r1_PedWaiting_r1_waitOn_react (true); zlom; } privzeto: break; } clearInEvents (); }
6. korak: Pridobite primer
Celoten primer je pripravljen za sestavljanje in izvajanje. Na voljo je z orodji YAKINDU Statechart Tools, ki je brezplačna za nekomercialno uporabo. Po prenosu lahko primer uvozite neposredno v orodje:
Datoteka -> Novo -> Primer -> Primeri grafikonov stanja YAKINDU -> Naprej -> Semafor (C ++) za Arduino
> TUKAJ si lahko naložite orodja YAKINDU Statechart Tools <<
Začnete lahko s 30 -dnevno preskusno različico. Nato morate pridobiti licenco, ki je brezplačna za nekomercialno uporabo!
Priporočena:
Komplet bobnov MIDI na Pythonu in Arduinu: 5 korakov (s slikami)
Komplet bobnov MIDI na Pythonu in Arduinu: Že od malega sem si vedno želel kupiti komplet bobnov. Takrat vsa glasbena oprema ni imela vseh digitalnih aplikacij, kot jih imamo danes veliko, zato so bile cene skupaj s pričakovanji previsoke. Pred kratkim sem se odločil kupiti c
Končni državni stroj na MSP430: 6 korakov
Stroj končnih držav na MSP430: Pokazal vam bom, kako programirati lansirno ploščo MSP430G2 s končnimi državnimi stroji (FSM) z orodji YAKINDU Statechart Tools neposredno v studiu Texas Instruments Code Composer. Ta vadnica vsebuje šest korakov: Namestitev orodij grafikonov stanja YAKINDU kot
Projekt semaforja Arduino [s prehodom za pešce]: 3 koraki
Projekt semaforja Arduino [s prehodom za pešce]: Če iščete nekaj lahkega, preprostega in hkrati želite s svojim Arduinom navdušiti vse, je projekt semaforja verjetno najboljša izbira, še posebej, če ste začetnik na svetu Arduina. Najprej bomo videli ho
Državni stroj in večopravilnost na Arduinu z razširitvami SPI: 3 koraki
Državni stroj in večopravilnost na Arduinu z razširitvami SPI: Prejšnji teden sem prosil, naj se ustvari sistem za pilotiranje ognjemeta z arduinom. Za nadzor požarov je potreboval približno 64 izhodov. Eden od načinov za to je uporaba ekspanderjev IC. Na voljo sta torej dve rešitvi:- I2C ekspander, vendar potrebuje pretvornik, ko
Arduino PLC 32 V/I+državni stroj+SCADA ali HMI: 8 korakov
Arduino PLC 32 I/O+State Machine+SCADA ali HMI: Veliko načinov programiranja, nadzora in nadzora industrijskega sistema z arduinom