SILICIO LOGOTIPAS

SILICON LABS Lab 3B – keitimo įjungimo/išjungimo vartotojo vadovas

SILICON LABS Lab 3B – modifikuoti jungiklį įjungti/išjungti

Šis praktinis pratimas parodys, kaip pakeisti vieną iš sample programas, kurios pristatomos kaip Z-Wave SDK dalis.

Šis pratimas yra serijos „Z-Wave 1-day Course“ dalis.

  1. Įtraukite naudodami SmartStart
  2. Iššifruokite Z-Wave RF rėmelius naudodami Zniffer
  3. 3A: Kompiliavimo įjungimas / išjungimas ir įgalinimas derinimas
    3B: Keisti jungiklį įjungti/išjungti
  4. Supraskite FLiRS įrenginius

 

PAGRINDINĖS SAVYBĖS

  • Pakeiskite GPIO
  • Įdiekite PWM
  • Naudokite integruotą RGB šviesos diodą

 

1. Įvadas

Šis pratimas yra paremtas ankstesniu pratimu „3A: Kompiliavimo įjungimas/išjungimas ir derinimo įgalinimas“, kuriame buvo parodyta, kaip kompiliuoti ir naudoti įjungimo/išjungimo funkciją.ample paraiška.

Šiame pratime mes pakeisime sampprogramoje, pakeisdami GPIO, valdantį šviesos diodą. Be to, naudosime RGB šviesos diodą ir išmoksime naudoti PWM keisti spalvas.

1.1 Techninės įrangos reikalavimai

  • 1 WSTK pagrindinė plėtros valdyba
  • 1 Z-Wave radijo kūrimo plokštė: ZGM130S SiP modulis
  • 1 UZB valdiklis
  • 1 USB Zniffer

1.2 Programinės įrangos reikalavimai

  • Simplicity Studio v4
  • Z-Wave 7 SDK
  • Z-Wave kompiuterio valdiklis
  • Z-Wave Zniffer

1 pav. Pagrindinė kūrimo plokštė su Z-Wave SiP moduliu

1 paveikslas: Pagrindinė plėtros plokštė su Z-Wave SiP moduliu

1.3 Būtinos sąlygos
Ankstesnėse praktinėse pratybose buvo aprašyta, kaip naudoti kompiuterio valdiklį ir „Zniffer“ programą kuriant „Z-Wave“ tinklą ir fiksuojant RF ryšį tobulinimo tikslais. Šis pratimas daro prielaidą, kad esate susipažinę su šiais įrankiais.

Ankstesniuose praktiniuose pratimuose taip pat buvo aprašyta, kaip naudoti sample programas, kurios pristatomos su Z-Wave SDK. Atliekant šį pratimą daroma prielaida, kad esate susipažinęs su vieno iš s naudojimu ir sudarymuample paraiškas.

 

2. Naršykite lentos sąsają

„Z-Wave“ sistemoje yra aparatinės įrangos abstrakcijos sluoksnis (HAL), kurį apibrėžia board.h ir board.c, suteikiantis galimybę įgyvendinti kiekvieną jūsų aparatinės įrangos platformą.

Hardware Abstraction Layer (HAL) yra programos kodas tarp sistemos aparatinės įrangos ir jos programinės įrangos, suteikiantis nuoseklią sąsają programoms, kurios gali veikti keliose skirtingose ​​aparatinės įrangos platformose. Paimti advanątagNaudojant šią galimybę, programos turėtų pasiekti aparatinę įrangą per API, kurią suteikia HAL, o ne tiesiogiai. Tada, kai pereinate prie naujos aparatinės įrangos, tereikia atnaujinti HAL.

2.1 Atidarykite Sample projektas
Norėdami atlikti šį pratimą, turite atidaryti įjungimo / išjungimo mygtukąample paraiška. Jei atlikote pratimą „3A kompiliavimo įjungimas ir įjungimas ir derinimo įjungimas“, jis jau turėtų būti atidarytas jūsų Simplicity Studio IDE.

Šiame skyriuje apžvelgsime lentą files ir suprasti, kaip inicijuojami šviesos diodai.

  1. Iš pagrindinio file „SwitchOnOff.c“, suraskite „ApplicationInit()“ ir pastebėkite iškvietimą į Board_Init ().
  2. Įdėkite kurso dalyvį į Board_Init() ir paspauskite F3, kad atidarytumėte deklaraciją.

2 pav. Atidarykite Sample projektas

3. Board_Init() atkreipkite dėmesį, kaip BOARD_LED_COUNT esantys šviesos diodai inicijuojami pavadinimu Board_Con-figLed()

3 pav. Atidarykite Sample projektas

4. Padėkite kurso dalyvį ant BOARD_LED_COUNT ir paspauskite F3, kad atidarytumėte deklaraciją.
5. LED_id_t apibrėžti šviesos diodai yra tokie:

4 pav. Atidarykite Sample projektas

6. Grįžti į lentą.c file.
7. Įveskite kurso dalyvį į Board_ConfigLed() ir paspauskite F3, kad atidarytumėte deklaraciją.
8. Pastebėkite, kad visi LED, apibrėžti led_id_t, sukonfigūruojami kaip išvestis Board_ConfigLed().

5 pav. Atidarykite Sample projektas

Tai reiškia, kad visi kūrimo plokštės šviesos diodai jau yra apibrėžti kaip išėjimai ir paruošti naudoti.

 

3. Atlikite Z-Wave S modifikacijąample Taikymas

Šiame pratime pakeisime GPIO, naudojamus įjungimo/išjungimo šviesos dioduiample paraiška. Ankstesniame skyriuje sužinojome, kaip visi kūrimo plokštės šviesos diodai jau inicijuojami kaip išvestis ir paruošti naudoti.

3.1 Naudokite RGB šviesos diodą

„Z-Wave“ kūrimo modulyje naudosime integruotą RGB šviesos diodą, o ne mygtukų plokštėje esantį LED.

1. Raskite funkciją RefreshMMI, kaip parodyta 6 paveiksle, pagrindinėje SwitchOnOff.c programoje. file.

6 pav. RefreshMMI be jokių pakeitimų

6 pav.: RefreshMMI be jokių pakeitimų

2. Mes naudosime funkciją „Board_SetLed“, bet pakeisime GPIO į
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B

3. Skambinkite „Board_SetLed“ 3 kartus ir išjungtoje, ir įjungtoje būsenoje, kaip parodyta 7 pav.

7 pav. RefreshMMI modifikuotas naudoti RGB LED

Mūsų nauja modifikacija dabar įdiegta, ir jūs pasiruošę kompiliuoti.
Įrenginio programavimo veiksmai aprašyti pratime „3A Kompiliavimo įjungimas ir įjungimas ir derinimo įjungimas“ ir trumpai kartojami čia:

  1. Spustelėkite „Sukurti“ „ICON 1“ mygtuką, kad pradėtumėte kurti projektą.
  2. Kai kūrimas bus baigtas, išplėskite aplanką „Binaries“ ir dešiniuoju pelės mygtuku spustelėkite *.hex file kad pasirinktumėte „Flash to Device...“.
  3. Iššokančiajame lange pasirinkite prijungtą aparatinę įrangą. „Flash programuotojas“ dabar yra užpildytas visais reikalingais duomenimis, ir jūs esate pasirengę spustelėti „Programa“.
  4. Spustelėkite „Programa“.

Po kurio laiko programavimas baigiamas, o jūsų galutiniame įrenginyje rodoma modifikuota įjungimo / išjungimo versija.

3.1.1 Išbandykite funkcionalumą

Ankstesniuose pratimuose įrenginį jau įtraukėme į saugų Z-Wave tinklą naudodami SmartStart. Instrukcijas rasite pratime „Įtraukti naudojant SmartStart“.

Užuomina Vidinis file sistema neištrinama tarp perprogramavimo. Tai leidžia mazgui likti tinkle ir išlaikyti tuos pačius tinklo raktus, kai jį perprogramuojate.

Jei reikia pakeisti, pvz., dažnį, kuriuo veikia modulis arba DSK, turite „Ištrinti“ lustą, kad naujas dažnis būtų įrašytas į vidinį NVM.

Taigi jūsų įrenginys jau įtrauktas į tinklą.

Išbandykite funkcionalumą patikrindami, ar galite įjungti ir išjungti RGB šviesos diodą.

  • Išbandykite funkcionalumą naudodami „Basic Set ON“ ir „Basic Set OFF“ kompiuterio valdiklyje. RGB šviesos diodas turi įsijungti ir IŠJUNGTI.
  • RGB šviesos diodą taip pat galima įjungti ir išjungti naudojant aparatūros BTN0.

Dabar patikrinome, ar modifikacija veikia taip, kaip tikėtasi, ir sėkmingai pakeitėme GPIO, naudojamą Sample Taikymas

3.2 Pakeiskite RGB spalvų komponentą

Šiame skyriuje mes pakeisime RGB šviesos diodą ir bandysime sumaišyti spalvų komponentus.

„RGB spalvų modelio spalva apibūdinama nurodant, kiek yra raudonos, žalios ir mėlynos spalvos. Spalva išreiškiama kaip RGB tripletas (r,g,b), kurio kiekvienas komponentas gali skirtis nuo nulio iki nustatytos didžiausios vertės. Jei visi komponentai yra lygūs nuliui, rezultatas yra juodas; jei visi yra maksimaliai, rezultatas yra ryškiausia balta spalva.

Iš Vikipedijos toliau RGB spalvų modelis.

8 pav. Sumaišyti RGB spalvų komponentai

Kadangi ankstesniame skyriuje įjungėme visus spalvų komponentus, RGB šviesos diodas yra baltas, kai įjungtas. Įjungdami ir išjungdami atskirus komponentus, galime pakeisti šviesos diodą. Be to, reguliuodami kiekvienos spalvos komponento intensyvumą, galime padaryti visas spalvas tarp jų. Tam naudosime PWM, kad valdytume GPIO.

  1. Programoje ApplicationTask() inicijuokite PwmTimer ir nustatykite RGB kaiščius į PWM, kaip parodyta 9 paveiksle.                                                                                9 pav. PWM inicijuotas „ApplicationTask“.
  2. RefreshMMI () kiekvienam spalvos komponentui naudosime atsitiktinį skaičių. Naudokite rand(), kad gautumėte naują reikšmę kiekvieną kartą, kai įjungiamas šviesos diodas.
  3. Naudokite DPRINTF(), kad įrašytumėte naujai sugeneruotą reikšmę į nuoseklųjį derinimo prievadą.
  4. Pakeiskite Board_SetLed() į Board_RgbLedSetPwm(), kad būtų naudojama atsitiktinė reikšmė.
  5. Žr. 10 pav. atnaujintą RefreshMMI().

10 pav. RefreshMMI atnaujintas naudojant PWM

10 pav. RefreshMMI atnaujintas naudojant PWM

Mūsų nauja modifikacija dabar įdiegta, ir jūs pasiruošę kompiliuoti.

  1. Spustelėkite „Sukurti“ „ICON 1“ mygtuką, kad pradėtumėte kurti projektą.
  2. Kai kūrimas bus baigtas, išplėskite aplanką „Binaries“ ir dešiniuoju pelės mygtuku spustelėkite *.hex file kad pasirinktumėte „Flash to Device...“.
  3. Iššokančiajame lange pasirinkite prijungtą aparatinę įrangą. „Flash programuotojas“ dabar yra užpildytas visais reikalingais duomenimis, ir jūs esate pasirengę spustelėti „Programa“.
  4. Spustelėkite „Programa“.

Po kurio laiko programavimas baigiamas, o jūsų galutiniame įrenginyje rodoma modifikuota įjungimo / išjungimo versija.

3.2.1 Išbandykite funkcionalumą

Išbandykite funkcionalumą patikrindami, ar galite pakeisti RGB LED spalvą.

  1. Išbandykite funkcionalumą naudodami „Basic Set ON“ kompiuterio valdiklyje.
  2. Spustelėkite „Basic Set ON“, kad pamatytumėte spalvos pasikeitimą.

Dabar patikrinome, ar modifikacija veikia taip, kaip tikėtasi, ir sėkmingai pakeitėme GPIO, kad būtų naudojamas PWM.

4 Diskusija

Šiame pratime mes pakeitėme įjungimo/išjungimo jungiklį nuo paprasto šviesos diodo valdymo iki kelių spalvų šviesos diodo valdymo. Priklausomai nuo PWM verčių, dabar galime pakeisti bet kokią spalvą ir intensyvumą.

  • Ar „Dvejetainis jungiklis“ turėtų būti naudojamas kaip įrenginio tipas šiai programai?
  • Kurios komandų klasės labiau tinka kelių spalvų šviesos diodams?

Norėdami atsakyti į klausimą, turėtumėte susipažinti su Z-Wave specifikacija:

  • Z-Wave Plus v2 įrenginio tipo specifikacija
  • „Z-Wave“ programos komandų klasės specifikacija

Tai baigia pamoką, kaip modifikuoti ir pakeisti Z-Wave S GPIO.ample Taikymas.

 

Skaitykite daugiau apie šį vadovą ir atsisiųskite PDF:

Dokumentai / Ištekliai

SILICON LABS Lab 3B – modifikuoti jungiklį įjungti/išjungti [pdfVartotojo vadovas
3B laboratorija, modifikavimo jungiklis, įjungta, išjungta, „Z-Wave“, SDK

Nuorodos

Palikite komentarą

Jūsų el. pašto adresas nebus skelbiamas. Privalomi laukai pažymėti *