SİLİKON LOGO

SILICON LABS Lab 3B – Açma/Söndürmə İstifadəçi Təlimatını dəyişdirin

SILICON LABS Lab 3B - Açar/Söndürməni dəyişdirin

Bu praktiki məşq s-dən birində necə dəyişiklik etməyi nümayiş etdirəcəkampZ-Wave SDK-nın bir hissəsi kimi göndərilən proqramlar.

Bu məşq “Z-Wave 1 Günlük Kurs” seriyasının bir hissəsidir.

  1. SmartStart-dan istifadə edin
  2. Zniffer istifadə edərək Z-Wave RF Çərçivələrinin şifrəsini açın
  3. 3A: Açar/Söndürməni tərtib edin və Debug-u aktivləşdirin
    3B: Açar/Söndürməni dəyişdirin
  4. FLiRS cihazlarını anlayın

 

ƏSAS XÜSUSİYYƏTLƏR

  • GPIO dəyişdirin
  • PWM tətbiq edin
  • On-board RGB LED istifadə edin

 

1. Giriş

Bu məşq əvvəlki “3A: Açma/Söndürmə funksiyasını necə tərtib etməyi və istifadə etməyi nümayiş etdirən “XNUMXA: Kompilyasiya keçidini yandır/söndür və sazlamağı aktivləşdir” məşqinə əsaslanır.amptətbiq.

Bu məşqdə biz s-ə dəyişiklik edəcəyikampLED-i idarə edən GPIO-nu dəyişdirərək tətbiq. Bundan əlavə, biz RGB LED-dən istifadə edəcəyik və rəngləri dəyişdirmək üçün PWM-dən necə istifadə edəcəyimizi öyrənəcəyik.

1.1 Avadanlıq Tələbləri

  • 1 WSTK Əsas İnkişaf Şurası
  • 1 Z-Wave Radio İnkişaf Şurası: ZGM130S SiP Modulu
  • 1 UZB Nəzarətçi
  • 1 USB Zniffer

1.2 Proqram Tələbləri

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

ŞEKİL 1 Z-Wave SiP Modulu ilə Əsas İnkişaf Şurası

Şəkil 1: Z-Wave SiP Modulu ilə Əsas İnkişaf Şurası

1.3 İlkin şərtlər
Əvvəlki Təcrübəli Təlimlər Z-Wave şəbəkəsini qurmaq və inkişaf məqsədi ilə RF rabitəsini çəkmək üçün PC Controller və Zniffer proqramından necə istifadə etməyi əhatə edirdi. Bu məşq sizin bu alətlərlə tanış olduğunuzu güman edir.

Əvvəlki Hands-On məşqləri də s-dən necə istifadə etməyi əhatə etmişdirampZ-Wave SDK ilə göndərilən proqramlar. Bu məşq s-dən birini istifadə etmək və tərtib etmək ilə tanış olduğunuzu güman ediramptətbiqlər.

 

2. İdarə Heyətinin İnterfeysini gedin

Z-Wave çərçivəsi board.h və board.c tərəfindən müəyyən edilmiş aparat abstraksiya qatı (HAL) ilə gəlir və hər bir hardware platformanız üçün tətbiqetmə imkanını təmin edir.

Hardware Abstraction Layer (HAL) bir neçə fərqli aparat platformasında işləyə bilən tətbiqlər üçün ardıcıl interfeys təmin edən sistemin aparat təminatı ilə onun proqram təminatı arasında proqram kodudur. Advan almaqtagBu imkandan istifadə edərək, proqramlar avadanlığa birbaşa deyil, HAL tərəfindən təmin edilən API vasitəsilə daxil olmalıdır. Sonra, yeni aparata keçdiyiniz zaman yalnız HAL-ı yeniləməlisiniz.

2.1 S açınampLayihə
Bu məşq üçün Açma / Söndürmə düyməsini açmalısınızample tətbiqi. “3A Compile Switch On Off və debug aktivləşdirin” məşqini tamamlamış olsanız, o, Simplicity Studio IDE-də artıq açılmalıdır.

Bu bölmədə biz lövhəyə baxacağıq files və LED-lərin necə işə salındığını anlayın.

  1. Əsasdan file “SwitchOnOff.c”, “ApplicationInit()” tapın və Board_Init()-ə zəng edin.
  2. Kursunuzu Board_Init() üzərinə qoyun və bəyannaməni açmaq üçün F3 düyməsini basın.

ŞEKİL 2 Açıq SampLayihə

3. Board_Init()-də BOARD_LED_COUNT-da olan LED-lərin Board_Con-figLed() tərəfindən necə işə salındığına diqqət yetirin.

ŞEKİL 3 Açıq SampLayihə

4. Kursunuzu BOARD_LED_COUNT üzərinə qoyun və bəyannaməni açmaq üçün F3 düyməsini basın.
5. led_id_t-də müəyyən edilmiş LED-lər aşağıdakılardır:

ŞEKİL 4 Açıq SampLayihə

6. Şuraya qayıdın.c file.
7. Kursunuzu Board_ConfigLed() üzərinə yerləşdirin və bəyannaməni açmaq üçün F3 düyməsini sıxın.
8. Diqqət yetirin ki, led_id_t-də müəyyən edilmiş bütün LED-lər daha sonra Board_ConfigLed()-də çıxış kimi konfiqurasiya edilir.

ŞEKİL 5 Açıq SampLayihə

Bunun mənası budur ki, inkişaf lövhəsindəki bütün LED-lər artıq çıxış kimi müəyyən edilib və istifadəyə hazırdır.

 

3. Z-Dalğa S-ə Modifikasiya edinample Tətbiq

Bu məşqdə biz Yandırma/Söndürmə zamanı LED üçün istifadə olunan GPIO-ları dəyişdirəcəyikample tətbiqi. Əvvəlki bölmədə biz inkişaf lövhəsindəki bütün LED-lərin necə artıq çıxış kimi işə salındığını və istifadəyə hazır olduğunu öyrəndik.

3.1 RGB LED-dən istifadə edin

Düymə lövhəsindəki LED əvəzinə Z-Wave inkişaf modulunda daxili RGB LED-dən istifadə edəcəyik.

1. Şəkil 6-da göründüyü kimi RefreshMMI funksiyasını SwitchOnOff.c əsas proqramında tapın. file.

ŞEKİL 6 RefreshMMI heç bir dəyişiklik etmədən

Şəkil 6: RefreshMMI heç bir dəyişiklik etmədən

2. Biz “Board_SetLed” funksiyasından istifadə edəcəyik, lakin GPIO-nu dəyişdirəcəyik
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B

3. Şəkil 3-də göstərildiyi kimi həm OFF, həm də ON vəziyyətində “Board_SetLed”ə 7 dəfə zəng edin.

ŞEKİL 7 RefreshMMI RGB LED istifadə etmək üçün dəyişdirildi

Yeni modifikasiyamız artıq həyata keçirilir və siz tərtib etməyə hazırsınız.
Cihazı proqramlaşdırmaq üçün addımlar “3A Kompilyasiya keçidini yandırın və debug aktivləşdirin” məşqində əhatə olunub və burada qısaca təkrarlanır:

  1. "Yaratmaq" düyməsini basın İKON 1 layihəni qurmağa başlamaq üçün düyməni basın.
  2. Quraşdırma tamamlandıqda, "İkililər" qovluğunu genişləndirin və *.hex üzərinə sağ vurun file "Cihaza Flash.." seçin.
  3. Açılan pəncərədə qoşulmuş avadanlığı seçin. “Flash Programmer” indi bütün lazımi məlumatlarla doldurulub və siz “Proqram” üzərinə klikləməyə hazırsınız.
  4. "Proqram" düyməsini basın.

Qısa müddətdən sonra proqramlaşdırma başa çatır və son cihazınız indi Aktivləşdirmə/Söndürmənin dəyişdirilmiş versiyası ilə yanıb-sönür.

3.1.1 Funksionallığı yoxlayın

Əvvəlki məşqlərdə biz artıq SmartStart-dan istifadə edərək cihazı təhlükəsiz Z-Wave şəbəkəsinə daxil etmişik. Təlimatlar üçün “SmartStart-dan istifadə daxil edin” məşqinə baxın.

Ip ucu Daxili file sistem yenidən proqramlaşdırma arasında silinmir. Bu, qovşağın şəbəkədə qalmasına və onu yenidən proqramlaşdırdığınız zaman eyni şəbəkə düymələrini saxlamağa imkan verir.

Əgər siz modulun işlədiyi tezliyi və ya DSK-nı dəyişməlisinizsə, yeni tezlik daxili NVM-ə yazılmazdan əvvəl çipi “Silməlisiniz”.

Beləliklə, cihazınız artıq şəbəkəyə daxil edilib.

RGB LED-i yandırıb söndürə biləcəyinizi təsdiqləməklə funksionallığı yoxlayın.

  • PC Controller-də “Basic Set ON” və “Basic Set OFF”dan istifadə edərək funksionallığı yoxlayın. RGB LED yanmalı və söndürülməlidir.
  • RGB LED də aparatda BTN0 istifadə edərək yandırıla və söndürülə bilər.

İndi modifikasiyanın gözlənildiyi kimi işlədiyini və S-də istifadə olunan GPIO-nu uğurla dəyişdirdiyini təsdiqlədikample Tətbiq

3.2 RGB rəng komponentini dəyişdirin

Bu bölmədə biz RGB LED-ni dəyişdirəcəyik və rəng komponentlərini qarışdırmağa çalışacağıq.

“RGB rəng modelindəki rəng qırmızı, yaşıl və mavi rənglərin hər birinin nə qədərinin daxil edildiyini göstərməklə təsvir edilir. Rəng RGB üçlüyü (r,g,b) kimi ifadə edilir, onun hər bir komponenti sıfırdan müəyyən edilmiş maksimum dəyərə qədər dəyişə bilər. Bütün komponentlər sıfırdırsa, nəticə qaradır; əgər hamısı maksimumdursa, nəticə ən parlaq ağ rəngdir.

Vikipediyadan RGB Rəng Modeli.

ŞEKİL 8 RGB Rəng Komponentləri Qarışıqdır

Əvvəlki bölmədə bütün rəng komponentlərini aktivləşdirdiyimiz üçün RGB LED ON olduqda ağ olur. Ayrı-ayrı komponentləri yandırıb söndürməklə biz LED-i dəyişə bilərik. Bundan əlavə, hər bir rəng komponentinin intensivliyini tənzimləyərək, aralarındakı bütün rəngləri edə bilərik. Bunun üçün GPIO-ları idarə etmək üçün PWM-dən istifadə edəcəyik.

  1. ApplicationTask()-da PwmTimer-i işə salın və Şəkil 9-da göstərildiyi kimi RGB pinlərini PWM-ə quraşdırın.                                                                                ŞEKİL 9 PWM ApplicationTask-da işə salındı
  2. RefreshMMI() proqramında biz hər bir rəng komponenti üçün təsadüfi nömrədən istifadə edəcəyik. LED hər dəfə yandırıldıqda yeni dəyər əldə etmək üçün rand() istifadə edin.
  3. Yeni yaradılan dəyəri serial debug portuna yazmaq üçün DPRINTF() istifadə edin.
  4. Təsadüfi dəyərdən istifadə etmək üçün Board_SetLed() funksiyasını Board_RgbLedSetPwm() ilə əvəz edin.
  5. Yenilənmiş RefreshMMI() üçün Şəkil 10-a baxın.

FIG 10 RefreshMMI PWM ilə yeniləndi

Şəkil 10: RefreshMMI PWM ilə yeniləndi

Yeni modifikasiyamız artıq həyata keçirilir və siz tərtib etməyə hazırsınız.

  1. "Yaratmaq" düyməsini basın İKON 1 layihəni qurmağa başlamaq üçün düyməni basın.
  2. Quraşdırma tamamlandıqda, "İkililər" qovluğunu genişləndirin və *.hex üzərinə sağ vurun file "Cihaza Flash.." seçin.
  3. Açılan pəncərədə qoşulmuş avadanlığı seçin. “Flash Programmer” indi bütün lazımi məlumatlarla doldurulub və siz “Proqram” üzərinə klikləməyə hazırsınız.
  4. "Proqram" düyməsini basın.

Qısa müddətdən sonra proqramlaşdırma başa çatır və son cihazınız indi Aktivləşdirmə/Söndürmənin dəyişdirilmiş versiyası ilə yanıb-sönür.

3.2.1 Funksionallığı yoxlayın

RGB LED-in rəngini dəyişə biləcəyinizi təsdiqləməklə funksionallığı yoxlayın.

  1. PC Controller-də “Əsas Set ON”dan istifadə edərək funksionallığı yoxlayın.
  2. Rəng dəyişikliyini görmək üçün “Basic Set ON” üzərinə klikləyin.

İndi modifikasiyanın gözlənildiyi kimi işlədiyini və PWM-dən istifadə etmək üçün GPIO-nu uğurla dəyişdirdiyini təsdiqlədik.

4 Müzakirə

Bu məşqdə biz sadə LED-i idarə etməkdən çox rəngli LED-i idarə etmək üçün Açma/Söndürmə funksiyasını dəyişdirdik. PWM dəyərlərindən asılı olaraq, indi istənilən rəngə və intensivliyə dəyişə bilərik.

  • Bu proqram üçün Cihaz Tipi kimi “İkili keçid” istifadə edilməlidirmi?
  • Çox rəngli LED üçün hansı əmr sinifləri daha uyğundur?

Suala cavab vermək üçün Z-Wave spesifikasiyasına müraciət etməlisiniz:

  • Z-Wave Plus v2 Cihaz Tipinin Spesifikasiyası
  • Z-Wave Tətbiqi Komanda Sinfi Spesifikasiyası

Bu, Z-Wave S-in GPIO-larının dəyişdirilməsi və dəyişdirilməsi ilə bağlı təlimatı yekunlaşdırır.ample Tətbiq.

 

Bu Təlimat haqqında ətraflı oxuyun və PDF yükləyin:

Sənədlər / Resurslar

SILICON LABS Lab 3B - Açar/Söndürməni dəyişdirin [pdf] İstifadəçi təlimatı
Laboratoriya 3B, Dəyişdirmə açarı, On, Off, Z-Wave, SDK

İstinadlar

Şərh buraxın

E-poçt ünvanınız dərc olunmayacaq. Tələb olunan sahələr qeyd olunub *