LOGO SILICON

SILICON LABS Lab 3B - Addasu Canllaw Defnyddiwr Diffodd / Diffodd

SILICON LABS Lab 3B - Addasu Diffodd / Diffodd

Bydd yr ymarfer ymarferol hwn yn dangos sut i wneud addasiad i un o'r aample cymwysiadau sy'n llongau fel rhan o'r SDK Z-Wave.

Mae'r ymarfer hwn yn rhan o'r gyfres “Cwrs 1-Diwrnod Z-Wave”.

  1. Cynhwyswch ddefnyddio SmartStart
  2. Dadgryptio Fframiau RF Z-Wave gan ddefnyddio'r Zniffer
  3. 3A: Llunio Diffoddwch / Diffoddwch a Galluogi Debug
    3B: Addasu Diffodd / Diffodd
  4. Deall dyfeisiau FLiRS

 

NODWEDDION ALLWEDDOL

  • Newid GPIO
  • Gweithredu PWM
  • Defnyddiwch RGB LED ar fwrdd

 

1. Rhagymadrodd

Mae'r ymarfer hwn yn adeiladu ar ben yr ymarfer blaenorol “3A: Llunio Diffodd / Diffoddwch a galluogi dadfygio”, a ddangosodd sut i lunio a defnyddio'r switsh On / Off sample cais.

Yn yr ymarfer hwn byddwn yn gwneud addasiad i'r aample application, trwy newid y GPIO sy'n rheoli'r LED. Yn ogystal, byddwn yn defnyddio LED RGB ac yn dysgu sut i ddefnyddio PWM i newid lliwiau.

1.1 Gofynion Caledwedd

  • 1 Prif Fwrdd Datblygu WSTK
  • 1 Bwrdd Datblygu Radio Z-Wave: Modiwl SiP ZGM130S
  • 1 Rheolwr UZB
  • 1 Zniffer USB

1.2 Gofynion Meddalwedd

  • Stiwdio Symlrwydd v4
  • Z-Wave 7 SDK
  • Rheolwr PC Z-Wave
  • Z-Wave Zniffer

Prif Fwrdd Datblygu FIG 1 gyda Modiwl SiP Z-Wave

Ffigur 1: Prif Fwrdd Datblygu gyda Modiwl Si-Z-Wave

1.3 Rhagofynion
Mae ymarferion ymarferol blaenorol wedi ymdrin â sut i ddefnyddio'r cymhwysydd Rheolwr PC a Zniffer i adeiladu rhwydwaith Z-Wave a dal y cyfathrebu RF at ddibenion datblygu. Mae'r ymarfer hwn yn tybio eich bod chi'n gyfarwydd â'r offer hyn.

Mae ymarferion ymarferol blaenorol hefyd wedi ymdrin â sut i ddefnyddio'r sample cymwysiadau sy'n llongau gyda'r Z-Wave SDK. Mae'r ymarfer hwn yn tybio eich bod chi'n gyfarwydd â defnyddio a llunio un o'r sampgyda cheisiadau.

 

2. Llywiwch Ryngwyneb y Bwrdd

Daw'r fframwaith Z-Wave gyda haen tynnu caledwedd (HAL) a ddiffinnir gan board.h a board.c, gan ddarparu'r posibilrwydd o gael gweithrediadau ar gyfer pob un o'ch platfformau caledwedd.

Cod haen rhwng caledwedd system a'i feddalwedd yw'r Haen Tynnu Caledwedd (HAL) sy'n darparu rhyngwyneb cyson ar gyfer cymwysiadau a all redeg ar sawl platfform caledwedd gwahanol. I gymryd advantagO'r gallu hwn, dylai cymwysiadau gyrchu caledwedd trwy'r API a ddarperir gan yr HAL, yn hytrach nag yn uniongyrchol. Yna, pan fyddwch chi'n symud i galedwedd newydd, dim ond diweddaru'r HAL sydd ei angen arnoch chi.

2.1 Agored S.ample Prosiect
Ar gyfer yr ymarfer hwn mae angen ichi agor y Switch On / Off sample cais. Os gwnaethoch gwblhau ymarfer “3A Compile Switch OnOff a galluogi dadfygio”, dylid ei agor eisoes yn eich IDE Studio Simplicity.

Yn yr adran hon byddwn yn edrych ar y bwrdd files a deall sut mae'r LEDs yn cael eu cychwyn.

  1. O'r prif file “SwitchOnOff.c”, dod o hyd i “ApplicationInit ()” a sylwi ar yr alwad i Board_Init ().
  2. Rhowch eich cwrs ar Board_Init () a phwyswch ar F3 i agor y datganiad.

FIG 2 Agored S.ample Prosiect

3. Yn Board_Init () sylwch ar sut mae LEDau sydd wedi'u cynnwys yn BOARD_LED_COUNT yn cael eu cychwyn gan yr enw Board_Con-figLed ()

FIG 3 Agored S.ample Prosiect

4. Rhowch eich cwrs ar BOARD_LED_COUNT a phwyswch ar F3 i agor y datganiad.
5. Mae'r LEDau a ddiffinnir yn led_id_t fel a ganlyn:

FIG 4 Agored S.ample Prosiect

6. Dychwelwch i'r bwrdd.c. file.
7. Rhowch eich cwrs ar Board_ConfigLed () a phwyswch ar F3 i agor y datganiad.
8. Sylwch fod yr holl LEDau a ddiffinnir yn led_id_t wedyn yn cael eu ffurfweddu yn Board_ConfigLed () fel allbwn.

FIG 5 Agored S.ample Prosiect

Beth mae hyn yn ei olygu yw, bod pob LED ar y bwrdd datblygu eisoes wedi'i ddiffinio fel allbynnau ac yn barod i'w defnyddio.

 

3. Gwneud Addasiad i Z-Wave S.ample Cais

Yn yr ymarfer hwn byddwn yn addasu'r GPIOs a ddefnyddir ar gyfer y LED yn y Switch On / Off sample cais. Yn yr adran flaenorol fe wnaethon ni ddysgu sut mae'r holl LEDau ar y bwrdd datblygu eisoes yn cael eu cychwyn fel allbwn ac yn barod i'w defnyddio.

3.1 Defnyddiwch y RGB LED

Byddwn yn defnyddio'r LED RGB ar fwrdd ar y modiwl datblygu Z-Wave, yn lle'r LED ar y bwrdd botwm.

1. Lleolwch y swyddogaeth RefreshMMI, fel y gwelir yn Ffigur 6, ym mhrif gymhwysiad SwitchOnOff.c file.

FIG 6 RefreshMMI heb unrhyw addasiadau

Ffigur 6: RefreshMMI heb unrhyw addasiadau

2. Byddwn yn defnyddio'r swyddogaeth “Board_SetLed” ond yn newid y GPIO i
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B

3. Ffoniwch “Board_SetLed” 3 gwaith yn y wladwriaeth ODDI ac yn nhalaith ON, fel y dangosir yn Ffigur 7.

FIG 7 RefreshMMI wedi'i addasu i ddefnyddio RGB LED

Mae ein haddasiad newydd bellach wedi'i weithredu, ac rydych chi'n barod i'w lunio.
Mae'r camau i raglennu dyfais wedi'u cynnwys yn ymarfer “3A Compile Switch OnOff and enable debug”, ac yn cael ei ailadrodd yn fyr yma:

  1. Cliciwch ar yr “Adeiladu” EICON 1 botwm i ddechrau adeiladu'r prosiect.
  2. Pan fydd yr adeiladu'n gorffen, ehangwch y ffolder “Binaries” a chliciwch ar y dde ar y * .hex file i ddewis “Flash to Device ..”.
  3. Dewiswch y caledwedd cysylltiedig yn y ffenestr naid. Mae'r “Rhaglennydd Flash” bellach wedi'i rag-lenwi â'r holl ddata sydd ei angen, ac rydych chi'n barod i glicio ar “Programme”.
  4. Cliciwch “Rhaglen”.

Ar ôl ychydig, mae'r rhaglennu'n gorffen, ac mae'ch dyfais ddiwedd bellach wedi'i fflachio â'ch fersiwn wedi'i haddasu o Switch On / Off.

3.1.1 Profwch yr ymarferoldeb

Mewn ymarferion blaenorol rydym eisoes wedi cynnwys y ddyfais mewn rhwydwaith Z-Wave diogel gan ddefnyddio SmartStart. Cyfeiriwch at ymarfer “Cynnwys defnyddio SmartStart” i gael cyfarwyddiadau.

Awgrym Y mewnol file nid yw'r system yn cael ei dileu rhwng ailraglennu. Mae hyn yn caniatáu i nod aros mewn rhwydwaith a chadw'r un allweddi rhwydwaith pan fyddwch chi'n ei ailraglennu.

Os oes angen i chi newid ee pa mor aml y mae'r modiwl yn gweithredu neu'r DSK, mae angen i chi "Dileu" y sglodyn cyn i'r amledd newydd gael ei ysgrifennu at yr NVM mewnol.

O'r herwydd, mae'ch dyfais eisoes wedi'i chynnwys yn y rhwydwaith.

Profwch yr ymarferoldeb trwy wirio y gallwch droi ymlaen a diffodd y RGB LED.

  • Profwch y swyddogaeth gan ddefnyddio'r “Basic Set ON” a “Basic Set OFF” yn y Rheolwr PC. Dylai'r LED RGB fod yn troi ymlaen ac i ffwrdd.
  • Gellir troi'r RGB LED ymlaen a diffodd hefyd gan ddefnyddio BTN0 ar y caledwedd.

Rydym bellach wedi gwirio bod yr addasiad yn gweithio yn ôl y disgwyl ac wedi llwyddo i newid y GPIO a ddefnyddir mewn A.ample Cais

3.2 Newid cydran lliw RGB

Yn yr adran hon, byddwn yn addasu'r RGB LED ac yn ceisio cymysgu'r cydrannau lliw.

“Disgrifir lliw yn y model lliw RGB trwy nodi faint o bob un o’r coch, gwyrdd a glas sydd wedi’i gynnwys. Mynegir y lliw fel tripled RGB (r, g, b), a gall pob cydran ohono amrywio o sero i werth uchaf diffiniedig. Os yw'r holl gyfansoddion yn sero mae'r canlyniad yn ddu; os yw pob un ar y mwyaf, y canlyniad yw'r gwyn cynrychioliadol mwyaf disglair. "

O Wikipedia ymlaen Model Lliw RGB.

Cydrannau Lliw FIG 8 RGB wedi'u Cymysgu Gyda'i Gilydd

Ers i ni alluogi'r holl gydrannau lliw yn yr adran flaenorol, mae'r RGB LED yn wyn pan ON. Trwy droi ymlaen ac i ffwrdd y cydrannau unigol, gallwn newid y LED. Yn ogystal, trwy addasu dwyster pob cydran lliw, gallwn wneud yr holl liwiau rhyngddynt. Ar gyfer hynny, byddwn yn defnyddio PWM i reoli'r GPIOs.

  1. Yn ApplicationTask () dechreuwch y PwmTimer a gosod y pinnau RGB i PWM, fel y dangosir yn Ffigur 9.                                                                                Cychwynnwyd FIG 9 PWM yn ApplicationTask
  2. Yn RefreshMMI (), byddwn yn defnyddio rhif ar hap ar gyfer pob cydran lliw. Defnyddiwch rand () i gael gwerth newydd bob tro mae'r LED yn cael ei droi ymlaen.
  3. Defnyddiwch DPRINTF () i ysgrifennu'r gwerth sydd newydd ei gynhyrchu i'r porthladd dadfygio cyfresol.
  4. Amnewid Board_SetLed () gyda Board_RgbLedSetPwm (), er mwyn defnyddio'r gwerth ar hap.
  5. Cyfeiriwch at Ffigur 10 ar gyfer y RefreshMMI () wedi'i ddiweddaru.

Diweddarwyd FIG 10 RefreshMMI gyda PWM

Ffigur 10: Diweddarwyd RefreshMMI gyda PWM

Mae ein haddasiad newydd bellach wedi'i weithredu, ac rydych chi'n barod i'w lunio.

  1. Cliciwch ar yr “Adeiladu” EICON 1 botwm i ddechrau adeiladu'r prosiect.
  2. Pan fydd yr adeiladu'n gorffen, ehangwch y ffolder “Binaries” a chliciwch ar y dde ar y * .hex file i ddewis “Flash to Device ..”.
  3. Dewiswch y caledwedd cysylltiedig yn y ffenestr naid. Mae'r “Rhaglennydd Flash” bellach wedi'i rag-lenwi â'r holl ddata sydd ei angen, ac rydych chi'n barod i glicio ar “Programme”.
  4. Cliciwch “Rhaglen”.

Ar ôl ychydig, mae'r rhaglennu'n gorffen, ac mae'ch dyfais ddiwedd bellach wedi'i fflachio â'ch fersiwn wedi'i haddasu o Switch On / Off.

3.2.1 Profi'r Ymarferoldeb

Profwch yr ymarferoldeb trwy wirio y gallwch chi newid lliw y LED RGB.

  1. Profwch y swyddogaeth gan ddefnyddio'r “Basic Set ON” yn y Rheolwr PC.
  2. Cliciwch ar “Basic Set ON” i weld newid mewn lliw.

Rydym bellach wedi gwirio bod yr addasiad yn gweithio yn ôl y disgwyl ac wedi newid y GPIO yn llwyddiannus i ddefnyddio PWM.

4 Trafodaeth

Yn yr ymarfer hwn rydym wedi addasu Switch On / Off o reoli LED syml i reoli LED aml-liw. Yn dibynnu ar y gwerthoedd PWM, gallwn nawr newid i unrhyw liw a dwyster.

  • A ddylid defnyddio “Newid Deuaidd” fel Math o Ddychymyg ar gyfer y cais hwn?
  • Pa ddosbarthiadau gorchymyn sy'n fwy addas ar gyfer LED aml-liw?

Er mwyn ateb y cwestiwn, dylech gyfeirio at y fanyleb Z-Wave:

  • Manyleb Math Dyfais Z-Wave Plus v2
  • Manyleb Dosbarth Gorchymyn Cais Z-Wave

Mae hyn yn cloi'r tiwtorial ar sut i addasu a newid GPIOs Z-Wave S.ample Cais.

 

Darllenwch Fwy Am y Llawlyfr Hwn a Lawrlwythwch PDF:

Dogfennau / Adnoddau

SILICON LABS Lab 3B - Addasu Diffodd / Diffodd [pdfCanllaw Defnyddiwr
Lab 3B, Addasu Newid, Ymlaen, Diffodd, Z-Wave, SDK

Cyfeiriadau

Gadael sylw

Ni fydd eich cyfeiriad e-bost yn cael ei gyhoeddi. Mae meysydd gofynnol wedi'u marcio *