SILICON LABS Lab 3B - Rekebisha Washa/Zima Mwongozo wa Mtumiaji
Zoezi hili la mikono litaonyesha jinsi ya kufanya marekebisho kwenye moja ya sample maombi ambayo husafirishwa kama sehemu ya SDK ya Z-Wave.
Zoezi hili ni sehemu ya mfululizo "Kozi ya Siku 1 ya Z-Wave".
- Jumuisha kutumia SmartStart
- Simbua Muafaka wa RF wa Z-Wave kwa kutumia Zniffer
- 3A: Unganisha Washa/Zima na Washa Utatuzi
3B: Rekebisha Washa/Zima - Kuelewa vifaa vya FLiRS
SIFA MUHIMU
- Badilisha GPIO
- Tekeleza PWM
- Tumia LED ya RGB kwenye ubao
1. Utangulizi
Zoezi hili linaendelea juu ya zoezi la awali "3A: Unganisha Washa/Zima na uwashe utatuzi", ambalo lilionyesha jinsi ya kukusanya na kutumia Kiwasha/Kuzima s.ampmaombi.
Katika zoezi hili tutafanya marekebisho ya sample application, kwa kubadilisha GPIO inayodhibiti LED. Kwa kuongeza, tutakuwa tukitumia RGB LED na kujifunza jinsi ya kutumia PWM kubadilisha rangi.
1.1 Mahitaji ya Vifaa
- 1 Bodi Kuu ya Maendeleo ya WSTK
- 1 Bodi ya Maendeleo ya Redio ya Z-Wave: Moduli ya ZGM130S SiP
- Kidhibiti 1 cha UZB
- 1 USB Zniffer
1.2 Mahitaji ya Programu
- Studio ya Urahisi v4
- Z-Wave 7 SDK
- Kidhibiti cha PC cha Z-Wave
- Z-Wave Zniffer
Kielelezo cha 1: Bodi Kuu ya Maendeleo yenye Moduli ya Z-Wave SiP
1.3 Mahitaji
Mazoezi ya awali ya Kuweka Mikono yameshughulikia jinsi ya kutumia Kidhibiti cha Kompyuta na programu ya Zniffer ili kujenga mtandao wa Z-Wave na kunasa mawasiliano ya RF kwa madhumuni ya maendeleo. Zoezi hili linadhania kuwa unafahamu zana hizi.
Mazoezi ya awali ya Kuweka Mikono pia yameshughulikia jinsi ya kutumia sample programu ambazo husafirishwa na SDK ya Z-Wave. Zoezi hili linadhania kuwa unajua kutumia na kuandaa moja ya sample maombi.
Mfumo wa Z-Wave unakuja na safu ya uondoaji ya maunzi (HAL) iliyofafanuliwa na board.h na board.c, ikitoa uwezekano wa kuwa na utekelezaji kwa kila moja ya mifumo yako ya maunzi.
Safu ya Uondoaji wa Vifaa (HAL) ni msimbo wa programu kati ya maunzi ya mfumo na programu yake ambayo hutoa kiolesura thabiti cha programu zinazoweza kufanya kazi kwenye majukwaa kadhaa ya maunzi. Kuchukua advantage ya uwezo huu, programu zinapaswa kufikia maunzi kupitia API iliyotolewa na HAL, badala ya moja kwa moja. Kisha, unapohamia kwenye maunzi mapya, unahitaji tu kusasisha HAL.
2.1 Fungua Sampna Mradi
Kwa zoezi hili unahitaji kufungua Switch On / Off sampmaombi. Ikiwa ulikamilisha zoezi la "3A Compile Switch OnOff na uwashe utatuzi", inapaswa kuwa tayari kufunguliwa katika IDE yako ya Studio ya Urahisi.
Katika sehemu hii tutaangalia bodi files na kuelewa jinsi LEDs zinaanzishwa.
- Kutoka kuu file “SwitchOnOff.c”, tafuta “ApplicationInit()” na utambue wito kwa Board_Init().
- Weka kozi yako kwenye Board_Init() na ubonyeze F3 ili kufungua tamko.
3. Katika Board_Init()ona jinsi LED zilizo katika BOARD_LED_COUNT zinavyoanzishwa kwa kuitwa Board_Con-figLed()
4. Weka kozi yako kwenye BOARD_LED_COUNT na ubonyeze F3 ili kufungua tamko.
5. Taa zilizofafanuliwa katika led_id_t ni kama ifuatavyo:
6. Rudi kwenye ubao.c file.
7. Weka mkufunzi wako kwenye Board_ConfigLed() na ubonyeze F3 ili kufungua tamko.
8. Angalia LED zote zilizofafanuliwa katika led_id_t kisha zimesanidiwa katika Board_ConfigLed() kama pato.
Maana yake ni kwamba LED zote kwenye ubao wa ukuzaji tayari zimefafanuliwa kama matokeo na ziko tayari kutumika.
3. Fanya Marekebisho kwa Z-Wave Sample Maombi
Katika zoezi hili tutakuwa tunarekebisha GPIO zinazotumika kwa LED katika Kuzima/Kuzima sampmaombi. Katika sehemu iliyotangulia tulijifunza jinsi LED zote kwenye ubao wa ukuzaji tayari zimeanzishwa kama pato na tayari kutumika.
3.1 Tumia LED ya RGB
Tutakuwa tukitumia onboard RGB LED kwenye moduli ya ukuzaji ya Z-Wave, badala ya LED kwenye ubao wa vitufe.
1. Tafuta kitendakazi cha RefreshMMI, kama inavyoonekana kwenye Mchoro 6, katika programu-tumizi kuu ya SwitchOnOff.c. file.
Kielelezo cha 6: Onyesha upyaMMI bila marekebisho yoyote
2. Tutatumia kitendakazi "Board_SetLed" lakini tubadilishe GPIO kuwa
o BOARD_RGB1_R
o BOARD_RGB1_G
o BODI_RGB1_B
3. Piga simu "Board_SetLed" mara 3 katika hali ya ZIMWA na IMEWASHWA, kama inavyoonyeshwa kwenye Mchoro 7.
Marekebisho yetu mapya sasa yametekelezwa, na uko tayari kutayarisha.
Hatua za kupanga kifaa zinashughulikiwa katika zoezi la "3A Compile Switch OnOff na kuwezesha utatuzi", na kurudiwa kwa ufupi hapa:
- Bonyeza "Kujenga"
kitufe ili kuanza kujenga mradi.
- Wakati ujenzi ukamilika, panua folda ya "Binaries" na ubofye kulia kwenye *.hex file ili kuchagua "Mweko hadi Kifaa..".
- Chagua maunzi yaliyounganishwa kwenye dirisha ibukizi. "Kipanga programu cha Flash" sasa kimejazwa awali na data zote zinazohitajika, na uko tayari kubofya "Programu".
- Bonyeza "Programu".
Baada ya muda mfupi upangaji utakamilika, na kifaa chako cha mwisho sasa kinamulika na toleo lako lililorekebishwa la Kuzima/Kuzima.
3.1.1 Jaribu utendakazi
Katika mazoezi ya awali tayari tumejumuisha kifaa kwenye mtandao salama wa Z-Wave kwa kutumia SmartStart. Rejelea zoezi "Jumuisha kutumia SmartStart" kwa maagizo.
Kidokezo cha ndani file mfumo haujafutwa kati ya kupanga upya. Hii inaruhusu nodi kukaa katika mtandao na kuweka funguo sawa za mtandao unapoipanga upya.
Iwapo unahitaji kubadilisha kwa mfano mara kwa mara ambapo moduli hufanya kazi au DSK, unahitaji "Kufuta" chip kabla ya masafa mapya kuandikwa kwa NVM ya ndani.
Kwa hivyo, kifaa chako tayari kimejumuishwa kwenye mtandao.
Jaribu utendakazi kwa kuthibitisha kuwa unaweza KUWASHA na KUZIMA RGB LED.
- Pima utendakazi kwa kutumia "Weka Msingi" na "Weka Msingi" katika Kidhibiti cha Kompyuta. LED ya RGB inapaswa kuwa IMEWASHA na KUZIMWA.
- LED ya RGB pia inaweza KUWASHWA na KUZIMWA kwa kutumia BTN0 kwenye maunzi.
Sasa tumethibitisha kuwa urekebishaji unafanya kazi kama inavyotarajiwa na tumefanikiwa kubadilisha GPIO inayotumika katika faili ya Sample Maombi
3.2 Badilisha sehemu ya rangi ya RGB
Katika sehemu hii, tutakuwa tukibadilisha RGB LED na jaribu kuchanganya vipengele vya rangi.
"Rangi katika muundo wa rangi ya RGB inaelezewa kwa kuonyesha ni kiasi gani cha kila moja ya nyekundu, kijani kibichi na bluu imejumuishwa. Rangi inaonyeshwa kama sehemu tatu ya RGB (r,g,b), ambayo kila sehemu inaweza kutofautiana kutoka sifuri hadi thamani ya juu iliyobainishwa. Ikiwa viunga vyote viko kwenye sifuri matokeo ni nyeusi; ikiwa zote ziko katika kiwango cha juu zaidi, matokeo yake ni nyeupe inayong'aa zaidi."
Kutoka Wikipedia kuendelea Mfano wa rangi ya RGB.
Kwa kuwa tuliwasha vipengele vyote vya rangi katika sehemu ya awali RGB LED ni nyeupe wakati IMEWASHWA. Kwa kuwasha na kuzima vipengele vya mtu binafsi, tunaweza kubadilisha LED. Kwa kuongeza, kwa kurekebisha ukubwa wa kila vipengele vya rangi, tunaweza kufanya rangi zote katikati. Kwa hilo, tutakuwa tukitumia PWM kudhibiti GPIO.
- Katika ApplicationTask() anzisha PwmTimer na usanidi pini za RGB kwa PWM, kama inavyoonyeshwa kwenye Mchoro 9.
- Katika RefreshMMI(), tutakuwa tukitumia nambari nasibu kwa kila sehemu ya rangi. Tumia rand() kupata thamani mpya kila wakati LED IMEWASHWA.
- Tumia DPRINTF() kuandika thamani mpya inayotolewa kwenye mlango wa utatuzi wa mfululizo.
- Badilisha Board_SetLed() na Board_RgbLedSetPwm(), ili utumie thamani nasibu.
- Rejelea Mchoro 10 kwa RefreshMMI().
Kielelezo 10: Onyesha upyaMMI imesasishwa na PWM
Marekebisho yetu mapya sasa yametekelezwa, na uko tayari kutayarisha.
- Bonyeza "Kujenga"
kitufe ili kuanza kujenga mradi.
- Wakati ujenzi ukamilika, panua folda ya "Binaries" na ubofye kulia kwenye *.hex file ili kuchagua "Mweko hadi Kifaa..".
- Chagua maunzi yaliyounganishwa kwenye dirisha ibukizi. "Kipanga programu cha Flash" sasa kimejazwa awali na data zote zinazohitajika, na uko tayari kubofya "Programu".
- Bonyeza "Programu".
Baada ya muda mfupi upangaji utakamilika, na kifaa chako cha mwisho sasa kinamulika na toleo lako lililorekebishwa la Kuzima/Kuzima.
3.2.1 Pima Utendaji
Jaribu utendakazi kwa kuthibitisha kuwa unaweza kubadilisha rangi ya RGB LED.
- Jaribu utendakazi kwa kutumia "Weka Msingi" kwenye Kidhibiti cha Kompyuta.
- Bofya kwenye "Weka Msingi" ili kuona mabadiliko ya rangi.
Sasa tumethibitisha kuwa urekebishaji unafanya kazi inavyotarajiwa na tumefaulu kubadilisha GPIO kutumia PWM.
4 Majadiliano
Katika zoezi hili tumerekebisha Washa/Zima kutoka kudhibiti LED rahisi hadi kudhibiti LED ya rangi nyingi. Kulingana na maadili ya PWM, sasa tunaweza kubadilisha rangi na ukubwa wowote.
- Je, "Badili ya Njia mbili" inapaswa kutumika kama Aina ya Kifaa kwa programu hii?
- Ni madarasa gani ya amri yanafaa zaidi kwa LED ya rangi nyingi?
Ili kujibu swali, unapaswa kurejelea uainishaji wa Z-Wave:
- Uainishaji wa Aina ya Kifaa cha Z-Wave Plus v2
- Uainisho wa Darasa la Amri ya Maombi ya Z-Wave
Hii inahitimisha mafunzo ya jinsi ya kurekebisha na kubadilisha GPIO za Z-Wave Sample Maombi.
Soma Zaidi Kuhusu Mwongozo Huu & Pakua PDF:
Nyaraka / Rasilimali
![]() |
SILICON LABS Lab 3B - Rekebisha Washa/Zima [pdf] Mwongozo wa Mtumiaji Lab 3B, Rekebisha Swichi, Washa, Zima, Z-Wave, SDK |