LOGO SILIKON

SILICON LABS Lab 3B – Ngowahi Ngalih On/Off Pandhuan pangguna

SILICON LABS Lab 3B - Ngowahi Ngalih On / Off

Latihan tangan iki bakal nduduhake carane nggawe modifikasi ing salah siji saka sample aplikasi sing kapal minangka bagéan saka Z-Wave SDK.

Latihan iki minangka bagéan saka seri "Z-Wave 1-Day Course".

  1. Kalebu nggunakake SmartStart
  2. Dekripsi Z-Wave RF Frames nggunakake Zniffer
  3. 3A: Kompilasi Ngalih On/Off lan Aktifake Debug
    3B: Ngowahi Ngalih On/Off
  4. Ngerti piranti FLiRS

 

FITUR UTAMA

  • Ngganti GPIO
  • Implementasi PWM
  • Gunakake on-board RGB LED

 

1. Pambuka

Latihan iki dibangun ing ndhuwur latihan sadurunge "3A: Compile Switch On / Off lan aktifake debug", sing nuduhake carane ngumpulake lan nggunakake Switch On / Off s.ampl aplikasi.

Ing latihan iki kita bakal nggawe modifikasi kanggo sampaplikasi le, dening ngganti GPIO sing kontrol LED. Kajaba iku, kita bakal nggunakake LED RGB lan sinau carane nggunakake PWM kanggo ngganti werna.

1.1 Persyaratan Hardware

  • 1 Papan Pengembangan Utama WSTK
  • 1 Papan Pangembangan Radio Z-Wave: Modul SiP ZGM130S
  • 1 Kontroler UZB
  • 1 USB Zniffer

1.2 Requirements Piranti Lunak

  • Studio Kesederhanaan v4
  • Z-Wave 7 SDK
  • Z-Wave PC Controller
  • Z-Gelombang Zniffer

FIG 1 Papan Pangembangan Utama kanthi Modul SiP Gelombang Z

Gambar 1: Papan Pangembangan Utama kanthi Modul SiP Gelombang Z

1.3 Prasyarat
Latihan Hands-On sadurunge wis nutupi carane nggunakake PC Controller lan aplikasi Zniffer kanggo mbangun jaringan Z-Wave lan njupuk komunikasi RF kanggo tujuan pembangunan. Latihan iki nganggep sampeyan wis kenal karo alat kasebut.

Latihan Hands-On sadurungé uga wis nutupi carane nggunakake sample aplikasi sing kapal karo Z-Wave SDK. ngleksanani iki nganggep sampeyan menowo nggunakake lan ngumpulake siji saka sample aplikasi.

 

2. Navigasi Papan Antarmuka

Kerangka Z-Wave dilengkapi lapisan abstraksi hardware (HAL) sing ditetepake dening board.h lan board.c, nyedhiyakake kemungkinan implementasine kanggo saben platform hardware.

Hardware Abstraction Layer (HAL) minangka kode program ing antarane piranti keras sistem lan piranti lunak sing nyedhiyakake antarmuka sing konsisten kanggo aplikasi sing bisa mlaku ing sawetara platform hardware sing beda. Kanggo njupuk advantagKanthi kemampuan iki, aplikasi kudu ngakses hardware liwat API sing diwenehake dening HAL, tinimbang langsung. Banjur, nalika sampeyan pindhah menyang hardware anyar, sampeyan mung kudu nganyari HAL.

2.1 Bukak Samplan Proyek
Kanggo latihan iki, sampeyan kudu mbukak Switch On / Off sampl aplikasi. Yen sampeyan ngrampungake latihan "3A Compile Switch OnOff lan aktifake debug", mesthine wis dibukak ing IDE Studio Simplicity sampeyan.

Ing bagean iki kita bakal katon ing Papan files lan ngerti carane LED sing initialized.

  1. Saka utama file "SwitchOnOff.c", nemokake "ApplicationInit ()" lan sok dong mirsani telpon kanggo Board_Init ().
  2. Selehake courser ing Board_Init () lan penet ing F3 kanggo mbukak deklarasi.

Gbr 2 Buka Samplan Proyek

3. Ing Board_Init () sok dong mirsani carane LED sing ana ing BOARD_LED_COUNT lagi initialized dening disebut Board_Con-figLed ()

Gbr 3 Buka Samplan Proyek

4. Selehake courser sampeyan ing BOARD_LED_COUNT banjur pencet F3 kanggo mbukak deklarasi.
5. LED sing ditetepake ing led_id_t kaya ing ngisor iki:

Gbr 4 Buka Samplan Proyek

6. Bali menyang papan.c file.
7. Selehake courser ing Board_ConfigLed () lan penet ing F3 kanggo mbukak wara-wara.
8. Kabar kabeh LED ditetepake ing led_id_t banjur diatur ing Board_ConfigLed () minangka output.

Gbr 5 Buka Samplan Proyek

Apa tegese, kabeh LED ing papan pangembangan wis ditetepake minangka output lan siap digunakake.

 

3. Nggawe Modifikasi menyang Z-Wave Sample Aplikasi

Ing latihan iki kita bakal ngowahi GPIOs digunakake kanggo LED ing Ngalih On / Off sampl aplikasi. Ing bagean sadurunge kita sinau carane kabeh LED ing Papan pembangunan wis initialized minangka output lan siap kanggo nggunakake.

3.1 Gunakake LED RGB

Kita bakal nggunakake LED RGB onboard ing modul pangembangan Z-Wave, tinimbang LED ing papan tombol.

1. Goleki fungsi RefreshMMI, kaya sing katon ing Gambar 6, ing aplikasi utama SwitchOnOff.c file.

FIG 6 RefreshMMI tanpa modifikasi

Gambar 6: RefreshMMI tanpa modifikasi

2. Kita bakal nggunakake fungsi "Board_SetLed" nanging ngganti GPIO kanggo
o PAPAN_RGB1_R
o PAPAN_RGB1_G
o PAPAN_RGB1_B

3. Telpon "Board_SetLed" 3 kaping ing negara OFF lan ing negara ON, minangka ditampilake ing Figure 7.

FIG 7 RefreshMMI diowahi nggunakake RGB LED

Modifikasi anyar kita saiki wis dileksanakake, lan sampeyan siyap kanggo ngumpulake.
Langkah-langkah kanggo program piranti kalebu ing latihan "3A Compile Switch OnOff lan aktifake debug", lan baleni maneh ing kene:

  1. Klik ing "Build" IKON 1 tombol kanggo miwiti mbangun project.
  2. Nalika mbangun rampung, nggedhekake folder "Binaries" lan klik tengen ing *.hex file kanggo milih "Flash to Device..".
  3. Pilih hardware sing disambungake ing jendela pop-up. "Flash Programmer" saiki wis diisi kabeh data sing dibutuhake, lan sampeyan siyap ngeklik "Program".
  4. Klik "Program".

Sawise sawetara wektu pemrograman rampung, lan piranti pungkasan sampeyan saiki wis kelip-kelip nganggo versi Switch On/Off sing wis diowahi.

3.1.1 Tes fungsi

Ing latihan sadurunge, kita wis nglebokake piranti kasebut menyang jaringan Z-Wave sing aman nggunakake SmartStart. Deleng latihan "Kalebu nggunakake SmartStart" kanggo instruksi.

Petunjuk internal file sistem ora dibusak antarane reprogramming. Iki ngidini simpul tetep ing jaringan lan tetep tombol jaringan sing padha nalika sampeyan reprogram.

Yen sampeyan kudu ngganti contone frekuensi ing modul utawa DSK, sampeyan kudu "Busak" chip sadurunge frekuensi anyar bakal ditulis kanggo NVM internal.

Dadi, piranti sampeyan wis kalebu ing jaringan.

Tes fungsi kanthi verifikasi sampeyan bisa ngaktifake lan mateni LED RGB.

  • Tes fungsi nggunakake "Basic Set ON" lan "Basic Set OFF" ing PC Controller. LED RGB kudu diuripake lan OFF.
  • RGB LED uga bisa diuripake lan OFF nggunakake BTN0 ing hardware.

Saiki kita wis verifikasi manawa modifikasi kasebut bisa digunakake kaya sing dikarepake lan wis sukses ngganti GPIO sing digunakake ing Sample Aplikasi

3.2 Ngganti komponen werna RGB

Ing bagean iki, kita bakal ngowahi LED RGB lan nyoba nyampur komponen warna.

"Warna ing model warna RGB diterangake kanthi nuduhake jumlah saben abang, ijo, lan biru sing kalebu. Werna kasebut minangka triplet RGB (r,g,b), sing saben komponen bisa beda-beda saka nol nganti nilai maksimum sing ditemtokake. Yen kabeh compo-nents ing nul asil ireng; yen kabeh wis maksimal, asile putih sing paling padhang.

Saka Wikipedia ing Model Warna RGB.

FIG 8 Komponen Warna RGB Dicampur Bareng

Awit kita ngaktifake kabeh komponen werna ing bagean sadurungé, RGB LED putih nalika ON. Kanthi nguripake lan mateni komponen individu, kita bisa ngganti LED. Kajaba iku, kanthi nyetel intensitas saben komponen warna, kita bisa nggawe kabeh warna ing antarane. Kanggo iku, kita bakal nggunakake PWM kanggo ngontrol GPIOs.

  1. Ing ApplicationTask() initialize PwmTimer lan persiyapan lencana RGB kanggo PWM, minangka ditampilake ing Figure 9.                                                                                FIG 9 PWM diinisialisasi ing ApplicationTask
  2. Ing RefreshMMI (), kita bakal nggunakake nomer acak kanggo saben komponèn werna. Gunakake rand () kanggo entuk nilai anyar saben LED diuripake.
  3. Gunakake DPRINTF () kanggo nulis nilai mentas kui menyang port debug serial.
  4. Ganti Board_SetLed () karo Board_RgbLedSetPwm (), kanggo nggunakake Nilai acak.
  5. Waca Figure 10 kanggo RefreshMMI dianyari ().

FIG 10 RefreshMMI dianyari karo PWM

Gambar 10: RefreshMMI dianyari karo PWM

Modifikasi anyar kita saiki wis dileksanakake, lan sampeyan siyap kanggo ngumpulake.

  1. Klik ing "Build" IKON 1 tombol kanggo miwiti mbangun project.
  2. Nalika mbangun rampung, nggedhekake folder "Binaries" lan klik tengen ing *.hex file kanggo milih "Flash to Device..".
  3. Pilih hardware sing disambungake ing jendela pop-up. "Flash Programmer" saiki wis diisi kabeh data sing dibutuhake, lan sampeyan siyap ngeklik "Program".
  4. Klik "Program".

Sawise sawetara wektu pemrograman rampung, lan piranti pungkasan sampeyan saiki wis kelip-kelip nganggo versi Switch On/Off sing wis diowahi.

3.2.1 Tes Fungsionalitas

Tes fungsi kanthi verifikasi sampeyan bisa ngganti warna RGB LED.

  1. Tes fungsi nggunakake "Basic Set ON" ing PC Controller.
  2. Klik ing "Basic Set ON" kanggo ndeleng owah-owahan ing werna.

Saiki kita wis verifikasi manawa modifikasi kasebut bisa digunakake kaya sing dikarepake lan wis sukses ngganti GPIO kanggo nggunakake PWM.

4 Rembug

Ing latihan iki kita wis ngowahi Ngalih On / Off saka kontrol LED prasaja kanggo kontrol LED multi-werna. Gumantung ing nilai PWM, saiki kita bisa ngganti warna lan intensitas apa wae.

  • Apa "Binary Switch" digunakake minangka Jinis Piranti kanggo aplikasi iki?
  • Kelas printah endi sing luwih cocog kanggo LED multi-werna?

Kanggo mangsuli pitakon, sampeyan kudu ngrujuk menyang spesifikasi Gelombang Z:

  • Spesifikasi Jinis Piranti Z-Wave Plus v2
  • Spesifikasi Kelas Komando Aplikasi Gelombang Z

Iki ngrampungake tutorial babagan carane ngowahi lan ngganti GPIO saka Z-Wave Sampl Aplikasi.

 

Waca Liyane Babagan Manual Iki & Unduh PDF:

Dokumen / Sumber Daya

SILICON LABS Lab 3B - Ngowahi Ngalih On / Off [pdf] Pandhuan pangguna
Lab 3B, Modify Switch, On, Off, Z-Wave, SDK

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *