SILICON LOGO

SILICON LABS Lab 3B – Breyta kveikja/slökkva notendahandbók

SILICON LABS Lab 3B - Breyta kveikja/slökkva

Þessi praktíska æfing mun sýna hvernig á að gera breytingar á einni af sample forrit sem eru send sem hluti af Z-Wave SDK.

Þessi æfing er hluti af röðinni „Z-Wave 1-dags námskeið“.

  1. Notaðu SmartStart með
  2. Afkóða Z-Wave RF ramma með Zniffer
  3. 3A: Settu saman Kveiktu/slökktu á og virkjaðu villuleit
    3B: Breyta kveikja/slökkva
  4. Skilja FLiRS tæki

 

LYKILEIGNIR

  • Breyttu GPIO
  • Innleiða PWM
  • Notaðu innbyggða RGB LED

 

1. Inngangur

Þessi æfing er að byggja ofan á fyrri æfingu „3A: Compile Switch On/Off and enable debug“, sem sýndi hvernig á að safna saman og nota kveikja/slökkvaample umsókn.

Í þessari æfingu munum við gera breytingar á sampLe umsókn, með því að breyta GPIO sem stjórnar LED. Að auki munum við nota RGB LED og læra hvernig á að nota PWM til að breyta litum.

1.1 Vélbúnaðarkröfur

  • 1 Aðalþróunarráð WSTK
  • 1 Z-Wave Radio Development Board: ZGM130S SiP Module
  • 1 UZB stjórnandi
  • 1 USB Zniffer

1.2 Hugbúnaðarkröfur

  • Simplicity Studio v4
  • Z-Wave 7 SDK
  • Z-Wave PC stjórnandi
  • Z-Wave Zniffer

MYND 1 Aðalþróunarborð með Z-Wave SiP Module

Mynd 1: Aðalþróunarborð með Z-Wave SiP Module

1.3 Forkröfur
Fyrri praktískar æfingar hafa fjallað um hvernig á að nota PC Controller og Zniffer forritið til að byggja upp Z-Wave net og fanga RF samskipti í þróunarskyni. Þessi æfing gerir ráð fyrir að þú þekkir þessi verkfæri.

Fyrri æfingar hafa einnig fjallað um hvernig á að nota sample forrit sem eru send með Z-Wave SDK. Þessi æfing gerir ráð fyrir að þú þekkir til að nota og setja saman eitt af sample umsóknir.

 

2. Farðu í borðviðmótið

Z-Wave ramminn kemur með vélbúnaðarabstraktlagi (HAL) sem er skilgreint af board.h og board.c, sem gefur möguleika á að hafa útfærslur fyrir hvern vélbúnaðarvettvang þinn.

Hardware Abstraction Layer (HAL) er forritskóði milli vélbúnaðar kerfis og hugbúnaðar þess sem veitir samræmt viðmót fyrir forrit sem geta keyrt á nokkrum mismunandi vélbúnaðarpöllum. Að taka forskottagMeð þessari getu ættu forrit að fá aðgang að vélbúnaði í gegnum API sem HAL gefur, frekar en beint. Síðan, þegar þú ferð yfir í nýjan vélbúnað þarftu aðeins að uppfæra HAL.

2.1 Opið SampLe Project
Fyrir þessa æfingu þarftu að opna Switch On / Off sample umsókn. Ef þú kláraðir æfingu „3A Compile Switch OnOff og virkjaðu kembiforrit“ ætti hún nú þegar að vera opnuð í Simplicity Studio IDE.

Í þessum hluta munum við skoða töfluna files og skilja hvernig LED eru frumstillt.

  1. Frá aðal file „SwitchOnOff.c“, finndu „ApplicationInit()“ og taktu eftir kallinu til Board_Init().
  2. Settu námskeiðið þitt á Board_Init() og ýttu á F3 til að opna yfirlýsinguna.

MYND 2 Opið SampLe Project

3. Í Board_Init() takið eftir því hvernig LED-ljós sem eru í BOARD_LED_COUNT eru frumstillt með því að kalla Board_Con-figLed()

MYND 3 Opið SampLe Project

4. Settu námskeiðið þitt á BOARD_LED_COUNT og ýttu á F3 til að opna yfirlýsinguna.
5. Ljósdídurnar sem skilgreindar eru í led_id_t eru sem hér segir:

MYND 4 Opið SampLe Project

6. Aftur á borð.c file.
7. Settu námskeiðið þitt á Board_ConfigLed() og ýttu á F3 til að opna yfirlýsinguna.
8. Taktu eftir að allar ljósdíóður sem eru skilgreindar í led_id_t eru síðan stilltar í Board_ConfigLed() sem úttak.

MYND 5 Opið SampLe Project

Það sem þetta þýðir er að allar LED á þróunarborðinu eru þegar skilgreindar sem úttak og tilbúnar til notkunar.

 

3. Gerðu breytingar á Z-Wave Sample Umsókn

Í þessari æfingu munum við breyta GPIOs sem notuð eru fyrir LED í kveikja/slökkvaample umsókn. Í fyrri hlutanum lærðum við hvernig allar LED á þróunarborðinu eru þegar frumstilltar sem úttak og tilbúnar til notkunar.

3.1 Notaðu RGB LED

Við munum nota innbyggða RGB LED á Z-Wave þróunareiningunni, í stað LED á hnappaborðinu.

1. Finndu RefreshMMI aðgerðina, eins og sést á mynd 6, í SwitchOnOff.c aðalforritinu file.

MYND 6 RefreshMMI án nokkurra breytinga

Mynd 6: RefreshMMI án nokkurra breytinga

2. Við munum nota aðgerðina „Board_SetLed“ en breyta GPIO í
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B

3. Hringdu í „Board_SetLed“ þrisvar sinnum bæði í OFF stöðu og í ON stöðu, eins og sýnt er á mynd 3.

MYND 7 RefreshMMI breytt til að nota RGB LED

Nýja breytingin okkar er nú innleidd og þú ert tilbúinn til að setja saman.
Farið er yfir skrefin til að forrita tæki í æfingu „3A Compile Switch OnOff og virkja villuleit“ og endurtekin stuttlega hér:

  1. Smelltu á „Build“ ICON 1 hnappinn til að hefja byggingu verkefnisins.
  2. Þegar smíðinni lýkur, stækkaðu „Binaries“ möppuna og hægrismelltu á *.hex file til að velja „Flash to Device...“.
  3. Veldu tengdan vélbúnað í sprettiglugganum. „Flash forritarinn“ er nú forfylltur með öllum nauðsynlegum gögnum og þú ert tilbúinn að smella á „Program“.
  4. Smelltu á „Program“.

Eftir stutta stund lýkur forritun og lokatækið þitt blikkar nú með breyttri útgáfu af Kveiktu/slökktu.

3.1.1 Prófaðu virknina

Í fyrri æfingum höfum við þegar sett tækið inn í öruggt Z-Wave net með SmartStart. Sjá æfingu „Include using SmartStart“ fyrir leiðbeiningar.

Vísbending Innri file kerfið er ekki eytt á milli endurforritunar. Þetta gerir hnút kleift að vera í neti og halda sömu netlyklum þegar þú endurforritar hann.

Ef þú þarft að breyta td tíðninni sem einingin starfar á eða DSK þarftu að „eyða“ flísinni áður en nýja tíðnin verður skrifuð á innri NVM.

Sem slíkt er tækið þitt þegar innifalið í netinu.

Prófaðu virknina með því að ganga úr skugga um að þú getur kveikt og slökkt á RGB LED.

  • Prófaðu virknina með því að nota „Basic Set ON“ og „Basic Set OFF“ í tölvustýringunni. RGB LED ætti að vera að kveikja og slökkva á.
  • Einnig er hægt að kveikja og slökkva á RGB LED með BTN0 á vélbúnaðinum.

Við höfum nú staðfest að breytingin virkar eins og búist var við og höfum breytt GPIO sem notað er í Sample Umsókn

3.2 Breyttu RGB litahlutanum

Í þessum hluta munum við breyta RGB LED og reyna að blanda litahlutunum.

„Lit í RGB litalíkaninu er lýst með því að gefa til kynna hversu mikið af hverjum rauða, græna og bláa er innifalinn. Liturinn er gefinn upp sem RGB þríhyrningur (r,g,b), þar sem hver hluti getur verið breytilegur frá núlli upp í skilgreint hámarksgildi. Ef allir þættirnir eru á núlli er útkoman svört; ef allt er í hámarki er útkoman bjartasta hvíta sem hægt er að tákna.“

Frá Wikipedia áfram RGB litalíkan.

MYND 8 RGB litahlutir blandaðir saman

Þar sem við kveiktum á öllum litahlutum í fyrri hluta er RGB LED hvítt þegar Kveikt er. Með því að kveikja og slökkva á einstökum íhlutum getum við breytt LED. Að auki, með því að stilla styrkleika hvers litahluta, getum við búið til alla litina þar á milli. Til þess munum við nota PWM til að stjórna GPIO.

  1. Í ApplicationTask() frumstilltu PwmTimer og settu RGB pinna upp á PWM, eins og sýnt er á mynd 9.                                                                                MYND 9 PWM frumstillt í ApplicationTask
  2. Í RefreshMMI() munum við nota slembitölu fyrir hvern litahluta. Notaðu rand() til að fá nýtt gildi í hvert sinn sem kveikt er á LED.
  3. Notaðu DPRINTF() til að skrifa nýmyndað gildi í raðkembiforritið.
  4. Skiptu um Board_SetLed() fyrir Board_RgbLedSetPwm(), til að nota slembigildið.
  5. Sjá mynd 10 fyrir uppfærða RefreshMMI().

MYND 10 RefreshMMI uppfærð með PWM

Mynd 10: RefreshMMI uppfært með PWM

Nýja breytingin okkar er nú innleidd og þú ert tilbúinn til að setja saman.

  1. Smelltu á „Build“ ICON 1 hnappinn til að hefja byggingu verkefnisins.
  2. Þegar smíðinni lýkur, stækkaðu „Binaries“ möppuna og hægrismelltu á *.hex file til að velja „Flash to Device...“.
  3. Veldu tengdan vélbúnað í sprettiglugganum. „Flash forritarinn“ er nú forfylltur með öllum nauðsynlegum gögnum og þú ert tilbúinn að smella á „Program“.
  4. Smelltu á „Program“.

Eftir stutta stund lýkur forritun og lokatækið þitt blikkar nú með breyttri útgáfu af Kveiktu/slökktu.

3.2.1 Prófaðu virkni

Prófaðu virknina með því að ganga úr skugga um að þú getur breytt lit RGB LED.

  1. Prófaðu virknina með því að nota „Basic Set ON“ í tölvustýringunni.
  2. Smelltu á „Basic Set ON“ til að sjá breytingu á lit.

Við höfum nú staðfest að breytingin virkar eins og búist var við og höfum breytt GPIO til að nota PWM.

4 Umræður

Í þessari æfingu höfum við breytt Switch On/Off frá því að stjórna einfaldri LED í að stjórna fjöllita LED. Það fer eftir PWM gildunum, við getum nú breytt í hvaða lit og styrkleika sem er.

  • Ætti að nota „Binary Switch“ sem tækjategund fyrir þetta forrit?
  • Hvaða stjórnunarflokkar henta betur fyrir fjöllita LED?

Til að svara spurningunni ættir þú að vísa til Z-Wave forskriftarinnar:

  • Z-Wave Plus v2 Tækjategundarforskrift
  • Z-Wave Application Command Class Specification

Þetta lýkur kennslunni um hvernig á að breyta og breyta GPIO fyrir Z-Wave Sample Umsókn.

 

Lestu meira um þessa handbók og halaðu niður PDF:

Skjöl / auðlindir

SILICON LABS Lab 3B - Breyta kveikja/slökkva [pdfNotendahandbók
Lab 3B, Breyta Switch, On, Off, Z-Wave, SDK

Heimildir

Skildu eftir athugasemd

Netfangið þitt verður ekki birt. Nauðsynlegir reitir eru merktir *