SILICON LOGO

SILICON LABS Lab 3B – Փոփոխել անջատիչի միացման/անջատման ուղեցույցը

SILICON LABS Lab 3B - Փոփոխել անջատիչը միացնել/անջատել

Այս գործնական վարժությունը ցույց կտա, թե ինչպես կարելի է փոփոխություն կատարել s-երից մեկի վրաampհավելվածներ, որոնք առաքվում են որպես Z-Wave SDK-ի մաս:

Այս վարժությունը «Z-Wave 1-օրյա դասընթաց» շարքի մի մասն է:

  1. Ներառեք SmartStart-ի օգտագործումը
  2. Ապակոդավորել Z-Wave ՌԴ շրջանակները՝ օգտագործելով Zniffer-ը
  3. 3A. Կազմել անջատիչը/անջատել և միացնել վրիպազերծումը
    3B. Փոփոխել անջատիչը միացնել/անջատել
  4. Հասկացեք FLiRS սարքերը

 

ՀԻՄՆԱԿԱՆ ԱՌԱՆՁՆԱՀԱՏԿՈՒԹՅՈՒՆՆԵՐ

  • Փոխել GPIO-ն
  • Իրականացնել PWM
  • Օգտագործեք ներկառուցված RGB LED

 

1. Ներածություն

Այս վարժությունը կառուցված է նախորդ վարժության վրա՝ «3A. Compile Switch On/Off and enable debug», որը ցույց է տվել, թե ինչպես կարելի է կազմել և օգտագործել Switch On/Off s-ը:ampհայտը.

Այս վարժությունում մենք փոփոխություններ ենք կատարելու sample հավելվածը, փոխելով GPIO-ն, որը վերահսկում է LED-ը: Բացի այդ, մենք կօգտագործենք RGB LED և կսովորենք, թե ինչպես օգտագործել PWM գույները փոխելու համար:

1.1 Սարքավորումների պահանջներ

  • 1 WSTK Գլխավոր Զարգացման Խորհուրդ
  • 1 Z-Wave ռադիոյի մշակման տախտակ՝ ZGM130S SiP մոդուլ
  • 1 UZB վերահսկիչ
  • 1 USB Zniffer

1.2 Ծրագրային ապահովման պահանջներ

  • Simplicity Studio v4
  • Z-Wave 7 SDK
  • Z-Wave PC Controller
  • Z-Wave Zniffer

ՆԿ 1 Զարգացման հիմնական տախտակ Z-Wave SiP մոդուլով

Նկար 1: Զարգացման հիմնական տախտակ Z-Wave SiP մոդուլով

1.3 Նախադրյալներ
Նախորդ Hands-On վարժություններն անդրադարձել են, թե ինչպես օգտագործել PC Controller-ը և Zniffer հավելվածը՝ Z-Wave ցանց կառուցելու և ՌԴ հաղորդակցությունը զարգացնելու նպատակով: Այս վարժությունը ենթադրում է, որ դուք ծանոթ եք այս գործիքներին:

Նախորդ Hands-On վարժությունները նաև անդրադարձել են, թե ինչպես օգտագործել sampհավելվածներ, որոնք առաքվում են Z-Wave SDK-ով: Այս վարժությունը ենթադրում է, որ դուք ծանոթ եք ս.-ներից մեկի օգտագործմանն ու կազմմանըampհայտերը։

 

2. Նավարկեք տախտակի ինտերֆեյսի վրա

Z-Wave շրջանակը գալիս է ապարատային աբստրակցիոն շերտով (HAL), որը սահմանված է board.h-ի և board.c-ի կողմից, ինչը հնարավորություն է տալիս իրականացնել ձեր ապարատային պլատֆորմներից յուրաքանչյուրի համար:

Սարքավորումների աբստրակցիոն շերտը (HAL) ծրագրային կոդ է համակարգի սարքաշարի և դրա ծրագրաշարի միջև, որն ապահովում է հետևողական ինտերֆեյս հավելվածների համար, որոնք կարող են աշխատել մի քանի տարբեր ապարատային հարթակներում: Առաջ տանելtagԱյս հնարավորությունից ելնելով, հավելվածները պետք է մուտք ունենան սարքավորում HAL-ի կողմից տրամադրված API-ի միջոցով, այլ ոչ թե ուղղակիորեն: Այնուհետև, երբ տեղափոխվում եք նոր սարքաշար, ձեզ միայն անհրաժեշտ է թարմացնել HAL-ը:

2.1 Բաց Սample Project
Այս վարժության համար անհրաժեշտ է բացել Switch On / Off sampհայտը. Եթե ​​ավարտել եք «3A Compile Switch OnOff and enable debug» վարժությունը, այն արդեն պետք է բացվի ձեր Simplicity Studio IDE-ում:

Այս բաժնում մենք կանդրադառնանք տախտակին files և հասկանալ, թե ինչպես են լուսադիոդները սկզբնավորվում:

  1. Հիմնականից file «SwitchOnOff.c», գտնեք «ApplicationInit()» և նկատեք զանգը Board_Init():
  2. Տեղադրեք ձեր դասընթացավարը Board_Init()-ում և սեղմեք F3՝ հայտարարությունը բացելու համար:

ՆԿ 2 Բացեք Սample Project

3. Board_Init()-ում նկատեք, թե ինչպես են BOARD_LED_COUNT-ում պարունակվող LED-ները սկզբնավորվում Board_Con-figLed() կոչվող միջոցով:

ՆԿ 3 Բացեք Սample Project

4. Տեղադրեք ձեր դասընթացավարը BOARD_LED_COUNT-ի վրա և սեղմեք F3՝ հայտարարությունը բացելու համար:
5. led_id_t-ում սահմանված LED-ները հետևյալն են.

ՆԿ 4 Բացեք Սample Project

6. Վերադարձ դեպի տախտակ.գ file.
7. Տեղադրեք ձեր դասընթացավարը Board_ConfigLed()-ի վրա և սեղմեք F3՝ հայտարարությունը բացելու համար:
8. Ուշադրություն դարձրեք, որ led_id_t-ում սահմանված բոլոր LED-ները այնուհետև կազմաձևված են Board_ConfigLed()-ում՝ որպես ելք:

ՆԿ 5 Բացեք Սample Project

Սա նշանակում է, որ զարգացման տախտակի բոլոր LED-ները արդեն սահմանված են որպես ելքեր և պատրաստ են օգտագործման:

 

3. Փոփոխություն կատարեք Z-Wave S-ումample Դիմում

Այս վարժությունում մենք կփոփոխենք GPIO-ները, որոնք օգտագործվում են LED-ի համար միացնել/անջատել s-ում:ampհայտը. Նախորդ բաժնում մենք իմացանք, թե ինչպես են մշակման տախտակի բոլոր LED-ները արդեն իսկ սկզբնավորվել որպես ելք և պատրաստ են օգտագործման:

3.1 Օգտագործեք RGB LED-ը

Մենք կօգտագործենք ներքին RGB LED-ը Z-Wave մշակման մոդուլի վրա՝ կոճակի տախտակի LED-ի փոխարեն:

1. Տեղադրեք RefreshMMI ֆունկցիան, ինչպես երևում է Նկար 6-ում, SwitchOnOff.c հիմնական հավելվածում: file.

ՆԿ 6 RefreshMMI առանց որևէ փոփոխության

Նկար 6. RefreshMMI առանց որևէ փոփոխության

2. Մենք կօգտագործենք «Board_SetLed» ֆունկցիան, բայց կփոխենք GPIO-ը
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B

3. Կանչեք «Board_SetLed»-ը 3 անգամ և՛ OFF, և՛ ON վիճակում, ինչպես ցույց է տրված Նկար 7-ում:

ՆԿ 7 RefreshMMI փոփոխված RGB LED-ն օգտագործելու համար

Մեր նոր փոփոխությունն այժմ իրականացվել է, և դուք պատրաստ եք կազմելու:
Սարքը ծրագրավորելու քայլերն ընդգրկված են «3A Compile Switch OnOff and enable Debug» վարժությունում և հակիրճ կրկնվել այստեղ.

  1. Սեղմեք «Կառուցել» ԻԿՈՆ 1 կոճակ՝ նախագիծը սկսելու համար:
  2. Երբ կառուցումն ավարտվի, ընդլայնեք «Բինարներ» պանակը և աջ սեղմեք *.hex-ի վրա file «Flash to Device...» ընտրելու համար:
  3. Բացվող պատուհանում ընտրեք միացված սարքավորումը: «Flash Programmer»-ն այժմ նախապես լցված է բոլոր անհրաժեշտ տվյալներով, և դուք պատրաստ եք սեղմել «Ծրագիր»:
  4. Սեղմեք «Ծրագիր»:

Կարճ ժամանակ անց ծրագրավորումն ավարտվում է, և ձեր վերջնական սարքն այժմ փայլատակում է Switch On/Off-ի փոփոխված տարբերակով:

3.1.1 Փորձարկել ֆունկցիոնալությունը

Նախորդ վարժություններում մենք արդեն ներառել ենք սարքը SmartStart-ի միջոցով ապահով Z-Wave ցանցում: Հրահանգների համար տե՛ս «Ներառել SmartStart-ի օգտագործումը» վարժությունը:

Հուշում Ներքին file համակարգը չի ջնջվում վերածրագրավորման միջև: Սա թույլ է տալիս հանգույցին մնալ ցանցում և պահել նույն ցանցի բանալիները, երբ այն վերածրագրավորեք:

Եթե ​​Ձեզ անհրաժեշտ է փոխել, օրինակ, մոդուլի աշխատանքի հաճախականությունը կամ DSK-ը, դուք պետք է «Ջնջեք» չիպը, նախքան նոր հաճախականությունը կգրվի ներքին NVM-ում:

Որպես այդպիսին, ձեր սարքն արդեն ներառված է ցանցում:

Ստուգեք ֆունկցիոնալությունը՝ հաստատելով, որ կարող եք միացնել և անջատել RGB LED-ը:

  • Ստուգեք ֆունկցիոնալությունը՝ օգտագործելով «Basic Set ON» և «Basic Set OFF» համակարգչի կարգավորիչում: RGB LED-ը պետք է միացվի և անջատվի:
  • RGB LED-ը կարող է նաև միացնել և անջատվել սարքավորման վրա BTN0-ի միջոցով:

Մենք այժմ ստուգել ենք, որ փոփոխությունն աշխատում է այնպես, ինչպես սպասվում էր, և հաջողությամբ փոխել ենք GPIO-ն, որն օգտագործվում է S-ումample Դիմում

3.2 Փոխել RGB գույնի բաղադրիչը

Այս բաժնում մենք կփոփոխենք RGB LED-ը և կփորձենք խառնել գունային բաղադրիչները:

«RGB գունային մոդելի գույնը նկարագրվում է՝ նշելով, թե կարմիր, կանաչ և կապույտ յուրաքանչյուրից որքան է ներառված: Գույնը արտահայտվում է որպես RGB եռյակ (r,g,b), որի յուրաքանչյուր բաղադրիչ կարող է տատանվել զրոյից մինչև սահմանված առավելագույն արժեք: Եթե ​​բոլոր բաղադրիչները զրոյական են, արդյունքը սև է. եթե բոլորը առավելագույնն են, արդյունքը ամենավառ ներկայացված սպիտակն է»:

Վիքիպեդիայից սկսած RGB գույնի մոդել:

FIG 8 RGB գույնի բաղադրիչները խառնված են միասին

Քանի որ նախորդ բաժնում միացրել ենք բոլոր գունային բաղադրիչները, RGB LED-ը սպիտակ է, երբ միացված է: Անհատական ​​բաղադրիչները միացնելով և անջատելով՝ մենք կարող ենք փոխել LED-ը: Բացի այդ, յուրաքանչյուր գունային բաղադրիչի ինտենսիվությունը կարգավորելով, մենք կարող ենք բոլոր գույները դարձնել դրանց միջև: Դրա համար մենք կօգտագործենք PWM՝ GPIO-ները կառավարելու համար:

  1. ApplicationTask()-ում սկզբնավորեք PwmTimer-ը և կարգավորեք RGB կապերը PWM-ում, ինչպես ցույց է տրված Նկար 9-ում:                                                                                ՆԿ 9 PWM սկզբնավորվել է ApplicationTask-ում
  2. RefreshMMI()-ում մենք կօգտագործենք պատահական թիվ յուրաքանչյուր գունային բաղադրիչի համար: Օգտագործեք rand()՝ ամեն անգամ, երբ LED-ը միացված է, նոր արժեք ստանալու համար:
  3. Օգտագործեք DPRINTF()՝ նոր ստեղծված արժեքը սերիական կարգաբերման պորտում գրելու համար:
  4. Փոխարինեք Board_SetLed()-ով Board_RgbLedSetPwm(), որպեսզի օգտագործեք պատահական արժեքը:
  5. Թարմացված RefreshMMI()-ի համար տես Նկար 10-ը:

ՆԿ 10 RefreshMMI թարմացվել է PWM-ով

Նկար 10. RefreshMMI-ը թարմացվել է PWM-ով

Մեր նոր փոփոխությունն այժմ իրականացվել է, և դուք պատրաստ եք կազմելու:

  1. Սեղմեք «Կառուցել» ԻԿՈՆ 1 կոճակ՝ նախագիծը սկսելու համար:
  2. Երբ կառուցումն ավարտվի, ընդլայնեք «Բինարներ» պանակը և աջ սեղմեք *.hex-ի վրա file «Flash to Device...» ընտրելու համար:
  3. Բացվող պատուհանում ընտրեք միացված սարքավորումը: «Flash Programmer»-ն այժմ նախապես լցված է բոլոր անհրաժեշտ տվյալներով, և դուք պատրաստ եք սեղմել «Ծրագիր»:
  4. Սեղմեք «Ծրագիր»:

Կարճ ժամանակ անց ծրագրավորումն ավարտվում է, և ձեր վերջնական սարքն այժմ փայլատակում է Switch On/Off-ի փոփոխված տարբերակով:

3.2.1 Փորձարկել ֆունկցիոնալությունը

Ստուգեք ֆունկցիոնալությունը՝ հաստատելով, որ կարող եք փոխել RGB LED-ի գույնը:

  1. Փորձարկեք ֆունկցիոնալությունը՝ օգտագործելով «Basic Set ON» PC Controller-ում:
  2. Գույնի փոփոխություն տեսնելու համար սեղմեք «Basic Set ON»:

Այժմ մենք հաստատել ենք, որ փոփոխությունն աշխատում է այնպես, ինչպես սպասվում էր, և հաջողությամբ փոխել ենք GPIO-ն՝ PWM-ի օգտագործման համար:

4 Քննարկում

Այս վարժությունում մենք փոփոխել ենք «Միացում/անջատումը»՝ պարզ լուսադիոդի կառավարումից մինչև բազմագույն լուսադիոդի կառավարում: Կախված PWM արժեքներից, այժմ մենք կարող ենք փոխել ցանկացած գույնի և ինտենսիվության:

  • Արդյո՞ք այս հավելվածի համար «Երկուական անջատիչ» պետք է օգտագործվի որպես Սարքի տեսակ:
  • Հրամանների ո՞ր դասերն են ավելի հարմար բազմագույն LED-ի համար:

Հարցին պատասխանելու համար դուք պետք է դիմեք Z-Wave բնութագրին.

  • Z-Wave Plus v2 Սարքի տեսակի ճշգրտում
  • Z-Wave հավելվածի հրամանի դասի ճշգրտում

Սա ավարտում է ձեռնարկը, թե ինչպես փոփոխել և փոխել Z-Wave S-ի GPIO-ներըample Դիմում.

 

Կարդացեք ավելին այս ձեռնարկի մասին և ներբեռնեք PDF.

Փաստաթղթեր / ռեսուրսներ

SILICON LABS Lab 3B - Փոփոխել անջատիչը միացնել/անջատել [pdf] Օգտագործողի ուղեցույց
Lab 3B, Modify Switch, On, Off, Z-Wave, SDK

Հղումներ

Թողնել մեկնաբանություն

Ձեր էլփոստի հասցեն չի հրապարակվի: Պարտադիր դաշտերը նշված են *