Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Vifaa
- Hatua ya 2: Fafanua Jinsi Inapaswa Kufanya Kazi
- Hatua ya 3: Kuingilia Mashine ya Serikali
- Hatua ya 4: Udhibiti wa HMI
- Hatua ya 5: Shughulikia Nchi
- Hatua ya 6: Saa ya saa
- Hatua ya 7: Kukabiliana
- Hatua ya 8: Uigaji
- Hatua ya 9: Pata Mfano
Video: Arduino HMI Kutumia Mashine za Serikali: Hatua 9
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Katika hii inayoweza kufundishwa, nitakuonyesha jinsi ya kutumia Zana za Jimbo la Jimbo la YAKINDU kutambua HMI rahisi na inayoweza kupanuka kwa kutumia Shield ya Keypad ya 16x2 ya Arduino.
Mashine ya Jimbo la Finite (FSM) ni muundo mzuri wa muundo wa kukuza miingiliano tata ya Mashine za Binadamu (HMI). Kwa kuwa utendaji wa HMI unaweza kuongezeka, ni muhimu kutumia muundo wa muundo kama mashine za serikali.
Mfano kamili umeingizwa katika Zana za Jimbo la YAKINDU. Kwa kuongezea, Eclipse C ++ IDE ya Programu ya Arduino imekuwa ikitumika kuandaa na kuwasha katika IDE.
Muhtasari mfupi wa Zana za Jimbo la YAKINDU
Pamoja na chombo hiki, inawezekana kuunda mashine za hali ya picha. Inaruhusu mtumiaji kuzalisha C, C ++ au msimbo wa Java kutoka kwa mashine ya serikali. Kwa njia hii, mfano unaweza kubadilishwa au kupanuliwa na mtumiaji anaweza tena kuzalisha nambari hiyo na sio lazima aandike nambari ya chanzo wazi.
Vifaa
Sehemu:
- Arduino (Uno, Mega)
- Kebo ya USB
- Ngao ya keypad ya 16x2 LCD
Zana:
- Zana za Jimbo la YAKINDU
- Eclipse C ++ IDE ya Arduino
Hatua ya 1: Vifaa
Keypad Shield ya LCD inaweza tu kuingizwa kwenye Arduino. Ina 16x2 LCD Display na kwa kuongeza ilipata vifungo sita vya kushinikiza:
- Kushoto
- Haki
- Juu
- Chini
- Chagua
- (Weka upya)
Kwa wazi, tano kati yao zinaweza kutumika. Funguo zimeunganishwa kwa msuluhishi wa voltage na hugunduliwa kwa kutumia Pin A0 kulingana na voltage. Nimetumia utatuzi wa programu kugundua kwa usahihi.
Hatua ya 2: Fafanua Jinsi Inapaswa Kufanya Kazi
Programu inapaswa kuwa na uwezo wa kufanya vitu vitatu.
- Handle States Hapa nataka kutumia vifungo kusafiri kati ya majimbo matano: Juu, Kati, Chini, Kushoto na Kulia
- Stopwatch rahisi, ambayo inaweza kuanza, kusimamishwa na kuweka upya. Inapaswa kuongezwa kila millisecond 100
- Kaunta Sehemu ya tatu ina kaunta rahisi ya juu / chini. Inapaswa kuwa na uwezo wa kuhesabu nambari nzuri na inapaswa kubadilishwa
Menyu inayotumika (au serikali) itaonyeshwa kwenye 16x2 LCD kwenye mstari wa juu. Programu (Jimbo, Timer au Counter) itaonyeshwa kwenye mstari wa chini. Kwa urambazaji, kitufe cha kushinikiza kushoto na kulia kinapaswa kutumiwa.
Hatua ya 3: Kuingilia Mashine ya Serikali
Vifungo vitashushwa na kushonwa kwa mashine ya serikali. Wanaweza kutumika kama katika hafla kwenye mashine ya serikali. Kwa kuongeza, shughuli hufafanuliwa kuonyesha menyu ya sasa. Na angalau vigezo viwili, moja kwa kipima muda na moja kwa kaunta, hufafanuliwa.
kiolesura:
// vifungo kama hafla za kuingiza katika tukio kulia ikiwa tukio limebaki katika tukio chini katika tukio chagua: kamili) operesheni waziLCDDRow (nafasi: nambari) ya ndani: // anuwai ya kuhifadhi var cnt: nambari kamili ya varCnt: integer = 0
Baada ya kutengeneza nambari ya C ++, hafla hizo lazima zionyeshwe na kushonwa kwa kiolesura. Kijisehemu hiki cha nambari kinaonyesha jinsi ya kufanya hivyo.
Mara ya kwanza, vifungo vitafafanuliwa:
#fasili HAKUNA 0 # fafanua CHAGUA 1 #fafanua KUSHOTO 2 #fafanua CHINI 3 #fafanua UP 4 #fafanua HAKI 5
Halafu kuna kazi iliyofafanuliwa kusoma kitufe. Thamani zinaweza kutofautiana, kulingana na mtengenezaji wa LCD Shield.
tuli int readButton () {int result = 0; matokeo = AnalogSoma (0); ikiwa (matokeo <50) {kurudi KULIA; } ikiwa (matokeo <150) {kurudi UP; } ikiwa (matokeo <300) {rudi chini; } ikiwa (matokeo <550) {kurudi KUSHOTO; } ikiwa (matokeo <850) {kurudi CHAGUA; } kurudi HAKUNA; }
Mwishowe, vifungo vitaondolewa. Nilifanya matokeo mazuri na 80 ms. Mara baada ya kifungo kutolewa, itainua kulingana na tukio.
int oldState = HAPANA; kuchelewesha (80); oldState = kifungoBonyeza; ikiwa (oldState! = HAKUNA && readButton () == HAKUNA) {switch (oldState) {case SELECT: {stateMachine-> raise_select (); kuvunja; kesi KUSHOTO: {stateMachine-> raise_left (); kuvunja; } kesi chini: {stateMachine-> raise_down (); kuvunja; } kesi UP: {stateMachine-> raise_up (); kuvunja; } kesi HAKI: {stateMachine-> raise_right (); kuvunja; } chaguomsingi: {break; }}}}
Hatua ya 4: Udhibiti wa HMI
Kila jimbo hutumiwa kwa sehemu moja ya menyu. Kuna majimbo madogo, ambapo programu - kwa mfano saa ya saa - itatekelezwa.
Kwa muundo huu, kiolesura kinaweza kupanuliwa kwa urahisi. Menyu za ziada zinaweza kuongezwa tu kwa kutumia muundo sawa wa muundo. Kusoma thamani ya sensa na kuionyesha kwenye kipengee cha menyu ya nne sio jambo kubwa.
Kwa sasa, kushoto na kulia tu hutumiwa kama udhibiti. Lakini juu na chini pia inaweza kutumika kama ugani wa urambazaji kwenye menyu kuu. Kitufe cha kuchagua tu kitatumika kuingiza kipengee maalum cha menyu.
Hatua ya 5: Shughulikia Nchi
Menyu ya majimbo ya kushughulikia hutumiwa tu kama mfano zaidi wa urambazaji. Kutumia juu, chini, kulia au kushoto inaruhusu kugeuza kati ya majimbo. Hali ya sasa itachapishwa kila wakati kwenye laini ya pili kwenye Uonyesho wa LCD.
Hatua ya 6: Saa ya saa
Saa ya saa ni rahisi sana. Hapo awali, thamani ya kipima muda itawekwa upya. Kipima muda kinaweza kuanza kwa kutumia kitufe cha kushoto na kugeuzwa kwa kutumia kushoto na kulia. Kutumia juu au chini huweka upya kipima muda. Kipima muda kinaweza pia kuwekwa tena kwa sifuri kwa kutumia kitufe cha kuchagua mara mbili - ukiacha menyu na uiingie mara nyingine tena, kwani kipima muda kitawekwa sifuri kwa kuingia mwanzoni mwa saa.
Hatua ya 7: Kukabiliana
Angalau, kuna kaunta iliyotekelezwa. Kuingia katika hali ya kaunta huweka upya kaunta. Inaweza kuanza kwa kutumia kitufe chochote cha kushinikiza, isipokuwa kitufe cha kuchagua. Imetekelezwa kama kaunta rahisi juu / chini, ambayo thamani haiwezi kuwa ndogo kuliko 0.
Hatua ya 8: Uigaji
Hatua ya 9: Pata Mfano
Unaweza kupakua IDE hapa: Zana za Jimbo la YAKINDU
Mara tu unapopakua IDE, unapata mfano kupitia Faili -> N ew -> Mfano
Ni bure kutumia kwa wanaovutia, lakini pia unaweza kutumia jaribio la siku 30.
Ilipendekeza:
Mashine ya Serikali ya kumaliza kwenye MSP430: Hatua 6
Mashine ya Jimbo la Kumaliza kwenye MSP430: Nitawaonyesha jinsi ya kupanga Launchpad ya MSP430G2 na Mashine za Jimbo la Finite (FSM) kutumia Zana za Jimbo la YAKINDU moja kwa moja katika Studio ya Mtunzi wa Kanuni za Ala za Texas. Mafunzo haya yana hatua sita: Kusakinisha Zana za Jimbo la YAKINDU kama
Arduino Otto Robot Na Mashine ya Serikali: Hatua 4
Arduino Otto Robot Pamoja na Mashine ya Serikali: Muhtasari wa Mradi Katika mradi huu, nataka kukuonyesha njia ya kupanga Otto Robot, ambayo ni Arduino inayotokana na robot ya DIY. Kutumia Zana za Jimbo la Jimbo la YAKINDU (bure kwa biashara isiyo ya kibiashara) tunaweza kutumia mashine za serikali kwa urahisi kuonyesha mfano wa tabia hiyo
Mashine ya Serikali kwenye Arduino - Taa ya Trafiki ya Watembea kwa miguu: Hatua 6 (na Picha)
Mashine ya Serikali kwenye Arduino - Taa ya Trafiki ya Watembea kwa miguu: Haya hapo! Nitakuonyesha jinsi ya kupanga taa ya trafiki ya watembea kwa miguu kwa Arduino katika C ++ na mashine ya serikali inayokamilika kwa kutumia Zana za Jimbo la Jimbo la YAKINDU. Hii itaonyesha nguvu ya mashine za serikali na inaweza kutumika kama ramani ya kuendelea zaidi
Mashine ya Serikali na Utaftaji mwingi juu ya Arduino na Wapanishi wa SPI: 3 Hatua
Mashine ya Serikali na Utaftaji mwingi juu ya Arduino na Wapanishi wa SPI: Wiki iliyopita, nilikuwa nauliza kuunda mfumo wa majaribio ya fataki na arduino. Ilihitaji matokeo kama 64 ya kudhibiti moto. Njia moja ya kuifanya ni kutumia viongezaji vya IC. Kwa hivyo suluhisho 2 zinapatikana: - upanuzi wa I2C lakini inahitaji inverter wakati unapo
Arduino PLC 32 I / O + Mashine ya Serikali + SCADA au HMI: Hatua 8
Arduino PLC 32 I / O + State Machine + SCADA au HMI: Njia nyingi za kupanga, kudhibiti na kusimamia mfumo wa viwanda na arduino