SILICON LABS Lab 3B – Ubah Panduan Pengguna Hidup/Mati
Latihan langsung ini akan menunjukkan cara melakukan modifikasi pada salah satu sampaplikasi yang dikirimkan sebagai bagian dari Z-Wave SDK.
Latihan ini merupakan bagian dari seri “Kursus Z-Wave 1 Hari”.
- Sertakan penggunaan SmartStart
- Dekripsi Frame RF Z-Wave menggunakan Zniffer
- 3A: Kompilasi Switch On/Off dan Aktifkan Debug
3B: Ubah Sakelar Hidup/Mati - Memahami perangkat FLiRS
FITUR UTAMA
- Ubah GPIO
- Terapkan PWM
- Gunakan LED RGB on-board
1. Pendahuluan
Latihan ini merupakan pengembangan dari latihan sebelumnya “3A: Kompilasi Switch On/Off dan aktifkan debug”, yang menunjukkan cara mengkompilasi dan menggunakan perintah Switch On/Off.ampaplikasi.
Dalam latihan ini kita akan melakukan modifikasi pada sample application, dengan mengubah GPIO yang mengendalikan LED. Selain itu, kita akan menggunakan LED RGB dan mempelajari cara menggunakan PWM untuk mengubah warna.
1.1 Persyaratan Perangkat Keras
- 1 Papan Pengembangan Utama WSTK
- 1 Papan Pengembangan Radio Z-Wave: Modul SiP ZGM130S
- 1 Pengendali UZB
- 1 buah pelacak USB
1.2 Persyaratan Perangkat Lunak
- Studio Kesederhanaan v4
- SDK Z-Wave 7
- Pengontrol PC Z-Wave
- Pelacak Z-Wave
Gambar 1: Papan Pengembangan Utama dengan Modul Z-Wave SiP
1.3 Prasyarat
Latihan Praktis sebelumnya telah membahas cara menggunakan PC Controller dan aplikasi Zniffer untuk membangun jaringan Z-Wave dan menangkap komunikasi RF untuk tujuan pengembangan. Latihan ini mengasumsikan Anda sudah familier dengan alat-alat ini.
Latihan Praktis sebelumnya juga membahas cara menggunakan sampaplikasi yang disertakan dengan Z-Wave SDK. Latihan ini mengasumsikan Anda sudah terbiasa menggunakan dan mengkompilasi salah satu sampaplikasi.
Kerangka kerja Z-Wave dilengkapi dengan lapisan abstraksi perangkat keras (HAL) yang ditentukan oleh board.h dan board.c, yang menyediakan kemungkinan memiliki implementasi untuk setiap platform perangkat keras Anda.
Hardware Abstraction Layer (HAL) adalah kode program antara perangkat keras dan perangkat lunak suatu sistem yang menyediakan antarmuka yang konsisten untuk aplikasi yang dapat berjalan pada beberapa platform perangkat keras yang berbeda. Untuk mengambil keuntungantagDengan kemampuan ini, aplikasi harus mengakses perangkat keras melalui API yang disediakan oleh HAL, bukan secara langsung. Kemudian, saat Anda pindah ke perangkat keras baru, Anda hanya perlu memperbarui HAL.
2.1 Buka Sample Proyek
Untuk latihan ini Anda perlu membuka tombol Switch On / Offampaplikasi. Jika Anda telah menyelesaikan latihan “3A Compile Switch OnOff and enable debug”, latihan tersebut seharusnya sudah terbuka di IDE Simplicity Studio Anda.
Pada bagian ini kita akan melihat papan filedan memahami bagaimana LED diinisialisasi.
- Dari utama file “SwitchOnOff.c”, cari “ApplicationInit()” dan perhatikan panggilan ke Board_Init().
- Tempatkan courser Anda pada Board_Init() dan tekan F3 untuk membuka deklarasi.
3. Dalam Board_Init() perhatikan bagaimana LED yang terdapat dalam BOARD_LED_COUNT diinisialisasi dengan memanggil Board_Con-figLed()
4. Tempatkan courser Anda pada BOARD_LED_COUNT dan tekan F3 untuk membuka deklarasi.
5. LED yang didefinisikan dalam led_id_t adalah sebagai berikut:
6. Kembali ke papan.c file.
7. Tempatkan courser Anda pada Board_ConfigLed() dan tekan F3 untuk membuka deklarasi.
8. Perhatikan semua LED yang didefinisikan dalam led_id_t kemudian dikonfigurasi dalam Board_ConfigLed() sebagai output.
Artinya, semua LED pada papan pengembangan sudah ditetapkan sebagai keluaran dan siap digunakan.
3. Lakukan Modifikasi pada Z-Wave SampAplikasi
Dalam latihan ini kita akan memodifikasi GPIO yang digunakan untuk LED di Switch On/Offampaplikasi. Pada bagian sebelumnya kita telah mempelajari bagaimana semua LED pada papan pengembangan sudah diinisialisasi sebagai output dan siap digunakan.
3.1 Gunakan LED RGB
Kami akan menggunakan LED RGB terintegrasi pada modul pengembangan Z-Wave, bukan LED pada papan tombol.
1. Temukan fungsi RefreshMMI, seperti yang terlihat pada Gambar 6, di aplikasi utama SwitchOnOff.c file.
Gambar 6: RefreshMMI tanpa modifikasi apa pun
2. Kita akan menggunakan fungsi “Board_SetLed” tetapi mengubah GPIO menjadi
Papan_RGB1_R
papan_RGB1_G
papan_RGB1_B
3. Panggil “Board_SetLed” 3 kali baik dalam keadaan OFF maupun ON, seperti yang ditunjukkan pada Gambar 7.
Modifikasi baru kami sekarang telah diimplementasikan dan Anda siap untuk mengompilasinya.
Langkah-langkah untuk memprogram perangkat dibahas dalam latihan “3A Kompilasi Nyalakan dan Matikan dan aktifkan debug”, dan diulang secara singkat di sini:
- Klik pada “Bangun”
untuk mulai membangun proyek.
- Ketika proses build selesai, perluas folder “Binaries” dan klik kanan pada file *.hex file untuk memilih “Flash ke Perangkat..”.
- Pilih perangkat keras yang terhubung di jendela pop-up. “Flash Programmer” kini telah terisi dengan semua data yang dibutuhkan, dan Anda siap untuk mengeklik “Program”.
- Klik "Program".
Setelah beberapa saat, pemrograman selesai dan perangkat akhir Anda kini di-flash dengan versi Switch On/Off yang telah dimodifikasi.
3.1.1 Uji fungsionalitas
Dalam latihan sebelumnya, kami telah menyertakan perangkat ke dalam jaringan Z-Wave yang aman menggunakan SmartStart. Lihat latihan “Sertakan menggunakan SmartStart” untuk petunjuk.
Petunjuk Internal file Sistem tidak terhapus di antara pemrograman ulang. Hal ini memungkinkan node tetap berada dalam jaringan dan menyimpan kunci jaringan yang sama saat Anda memprogram ulangnya.
Jika Anda perlu mengubah, misalnya, frekuensi pengoperasian modul atau DSK, Anda perlu "Menghapus" chip sebelum frekuensi baru ditulis ke NVM internal.
Dengan demikian, perangkat Anda sudah termasuk dalam jaringan.
Uji fungsionalitas dengan memverifikasi bahwa Anda dapat menghidupkan dan mematikan LED RGB.
- Uji fungsionalitas menggunakan “Basic Set ON” dan “Basic Set OFF” di PC Controller. LED RGB seharusnya menyala dan mati.
- LED RGB juga dapat dihidupkan dan dimatikan menggunakan BTN0 pada perangkat keras.
Kami sekarang telah memverifikasi bahwa modifikasi berfungsi seperti yang diharapkan dan telah berhasil mengubah GPIO yang digunakan dalam SampAplikasi
3.2 Mengubah komponen warna RGB
Pada bagian ini, kita akan memodifikasi LED RGB dan mencoba mencampur komponen warna.
“Warna dalam model warna RGB dijelaskan dengan menunjukkan seberapa banyak warna merah, hijau, dan biru yang disertakan. Warna tersebut dinyatakan sebagai triplet RGB (r, g, b), yang setiap komponennya dapat bervariasi dari nol hingga nilai maksimum yang ditentukan. Jika semua komponen berada pada angka nol, hasilnya adalah hitam; jika semuanya berada pada angka maksimum, hasilnya adalah putih yang paling terang yang dapat direpresentasikan.”
Dari Wikipedia di Model Warna RGB.
Karena kita mengaktifkan semua komponen warna di bagian sebelumnya, LED RGB berwarna putih saat AKTIF. Dengan menyalakan dan mematikan masing-masing komponen, kita dapat mengubah LED. Selain itu, dengan menyesuaikan intensitas setiap komponen warna, kita dapat membuat semua warna di antaranya. Untuk itu, kita akan menggunakan PWM untuk mengendalikan GPIO.
- Dalam ApplicationTask() inisialisasi PwmTimer dan atur pin RGB ke PWM, seperti yang ditunjukkan pada Gambar 9.
- Dalam RefreshMMI(), kita akan menggunakan angka acak untuk setiap komponen warna. Gunakan rand() untuk mendapatkan nilai baru setiap kali LED dinyalakan.
- Gunakan DPRINTF() untuk menulis nilai yang baru dihasilkan ke port debug serial.
- Ganti Board_SetLed() dengan Board_RgbLedSetPwm(), untuk menggunakan nilai acak.
- Lihat Gambar 10 untuk RefreshMMI() yang diperbarui.
Gambar 10: RefreshMMI diperbarui dengan PWM
Modifikasi baru kami sekarang telah diimplementasikan dan Anda siap untuk mengompilasinya.
- Klik pada “Bangun”
untuk mulai membangun proyek.
- Ketika proses build selesai, perluas folder “Binaries” dan klik kanan pada file *.hex file untuk memilih “Flash ke Perangkat..”.
- Pilih perangkat keras yang terhubung di jendela pop-up. “Flash Programmer” kini telah terisi dengan semua data yang dibutuhkan, dan Anda siap untuk mengeklik “Program”.
- Klik "Program".
Setelah beberapa saat, pemrograman selesai dan perangkat akhir Anda kini di-flash dengan versi Switch On/Off yang telah dimodifikasi.
3.2.1 Uji Fungsionalitas
Uji fungsionalitas dengan memverifikasi apakah Anda dapat mengubah warna LED RGB.
- Uji fungsionalitas menggunakan “Basic Set ON” di PC Controller.
- Klik “Basic Set ON” untuk melihat perubahan warna.
Kami sekarang telah memverifikasi bahwa modifikasi berfungsi seperti yang diharapkan dan telah berhasil mengubah GPIO untuk menggunakan PWM.
4 Diskusi
Dalam latihan ini, kami telah mengubah Switch On/Off dari mengendalikan LED sederhana menjadi mengendalikan LED multiwarna. Bergantung pada nilai PWM, kini kami dapat mengubah ke warna dan intensitas apa pun.
- Haruskah “Binary Switch” digunakan sebagai Jenis Perangkat untuk aplikasi ini?
- Kelas perintah mana yang lebih cocok untuk LED multiwarna?
Untuk menjawab pertanyaan tersebut, Anda harus merujuk pada spesifikasi Z-Wave:
- Spesifikasi Jenis Perangkat Z-Wave Plus v2
- Spesifikasi Kelas Perintah Aplikasi Z-Wave
Ini menyimpulkan tutorial tentang cara memodifikasi dan mengubah GPIO Z-Wave SampAplikasi.
Baca Selengkapnya Tentang Manual Ini & Unduh PDF:
Dokumen / Sumber Daya
![]() |
SILICON LABS Lab 3B - Ubah Sakelar On/Off [Bahasa Indonesia:] Panduan Pengguna Lab 3B, Modifikasi Switch, On, Off, Z-Wave, SDK |