Daftar Isi:

Kontrol DIY Warna LED RGB Melalui Bluetooth: 5 Langkah
Kontrol DIY Warna LED RGB Melalui Bluetooth: 5 Langkah

Video: Kontrol DIY Warna LED RGB Melalui Bluetooth: 5 Langkah

Video: Kontrol DIY Warna LED RGB Melalui Bluetooth: 5 Langkah
Video: lampu LED strip 10 meter lengkap dengan remote control untuk ganti warna dan mode | link di komen 2024, Juli
Anonim
Kontrol DIY Warna LED RGB Melalui Bluetooth
Kontrol DIY Warna LED RGB Melalui Bluetooth

Bohlam pintar semakin populer akhir-akhir ini dan terus menjadi bagian penting dari perangkat rumah pintar. Bola lampu pintar memungkinkan pengguna untuk mengontrol cahayanya melalui aplikasi khusus pada ponsel pintar pengguna; bohlam dapat dinyalakan dan dimatikan dan warnanya dapat diubah dari antarmuka aplikasi. Dalam proyek ini, kami membangun pengontrol bohlam pintar yang dapat dikontrol dari tombol manual atau aplikasi seluler melalui Bluetooth. Untuk menambahkan beberapa bakat untuk proyek ini kami telah menambahkan beberapa fitur yang memungkinkan pengguna untuk memilih warna pencahayaan dari daftar warna yang termasuk dalam antarmuka aplikasi. Itu juga dapat mengaktifkan "campuran otomatis" untuk menghasilkan efek warna dan mengubah pencahayaan setiap setengah detik. Pengguna dapat membuat campuran warna sendiri menggunakan fitur PWM yang juga dapat digunakan sebagai dimmer untuk tiga warna dasar (merah, hijau, biru). Kami juga menambahkan tombol eksternal ke sirkuit sehingga pengguna dapat beralih ke mode manual dan mengubah warna cahaya dari tombol eksternal.

Instruksi ini terdiri dari dua bagian; desain GreenPAK™ dan desain aplikasi Android. Desain GreenPAK didasarkan pada penggunaan antarmuka UART untuk komunikasi. UART dipilih karena didukung oleh sebagian besar modul Bluetooth, serta sebagian besar periferal lainnya, seperti modul WIFI. Akibatnya, desain GreenPAK dapat digunakan di banyak jenis koneksi.

Untuk membangun proyek ini, kita akan menggunakan SLG46620 CMIC, modul Bluetooth, dan LED RGB. IC GreenPAK akan menjadi inti kendali dari proyek ini; ia menerima data dari modul Bluetooth dan/atau tombol eksternal, kemudian memulai prosedur yang diperlukan untuk menampilkan pencahayaan yang benar. Ini juga menghasilkan sinyal PWM dan mengeluarkannya ke LED. Gambar 1 di bawah ini menunjukkan diagram blok.

Perangkat GreenPAK yang digunakan dalam proyek ini berisi antarmuka koneksi SPI, blok PWM, FSM dan banyak blok tambahan berguna lainnya dalam satu IC. Hal ini juga ditandai dengan ukurannya yang kecil dan konsumsi energi yang rendah. Ini akan memungkinkan produsen untuk membangun sirkuit praktis kecil menggunakan IC tunggal, sehingga biaya produksi akan diminimalkan jika dibandingkan dengan sistem serupa.

Dalam proyek ini, kami mengontrol satu LED RGB. Untuk membuat proyek layak secara komersial, sebuah sistem mungkin perlu meningkatkan tingkat luminositas dengan menghubungkan banyak LED secara paralel dan menggunakan transistor yang sesuai; rangkaian daya perlu dipertimbangkan juga.

Anda dapat melalui semua langkah untuk memahami bagaimana chip GreenPAK telah diprogram untuk mengontrol Warna LED RGB melalui Bluetooth. Namun, jika Anda hanya ingin memprogram IC dengan mudah tanpa memahami semua sirkuit dalam, unduh perangkat lunak GreenPAK untuk melihat File Desain GreenPAK yang sudah selesai. Colokkan GreenPAK Development Kit ke komputer Anda dan tekan program untuk membuat IC khusus untuk mengontrol Warna LED RGB melalui Bluetooth.

Desain GreenPAK terdiri dari penerima UART, unit PWM, dan unit kontrol yang dijelaskan dalam langkah-langkah di bawah ini.

Langkah 1: Penerima UART

Penerima UART
Penerima UART

Pertama, kita perlu mengatur modul Bluetooth. Sebagian besar IC Bluetooth mendukung protokol UART untuk komunikasi. UART adalah singkatan dari Universal Asynchronous Receiver/Transmitter. UART dapat mengkonversi data bolak-balik antara format paralel dan serial. Ini termasuk penerima serial ke paralel dan konverter paralel ke serial yang keduanya di-clock secara terpisah.

Data yang diterima dalam modul Bluetooth akan dikirimkan ke perangkat GreenPAK kami. Status idle untuk Pin10 adalah TINGGI. Setiap karakter yang dikirim dimulai dengan bit awal logika LOW, diikuti dengan sejumlah bit data yang dapat dikonfigurasi dan satu atau lebih bit stop logika HIGH.

Pemancar UART mengirimkan 1 bit START, 8 bit data, dan satu bit STOP. Biasanya, baud rate default untuk modul Bluetooth UART adalah 9600. Kami akan mengirimkan byte data dari IC Bluetooth ke blok SPI GreenPAK™ SLG46620.

Karena blok GreenPAK SPI tidak memiliki kontrol bit START atau STOP, kami akan menggunakan bit tersebut untuk mengaktifkan dan menonaktifkan sinyal clock SPI (SCLK). Ketika Pin10 menjadi RENDAH, kami tahu kami telah menerima bit MULAI, jadi kami menggunakan detektor tepi jatuh PDLY untuk mengidentifikasi awal komunikasi. Detektor tepi jatuh itu mencatat DFF0, yang memungkinkan sinyal SCLK mencatat blok SPI.

Baud rate kami adalah 9600 bit per detik, jadi periode SCLK kami harus 1/9600 = 104 s. Oleh karena itu, kami mengatur frekuensi OSC ke 2MHz dan menggunakan CNT0 sebagai pembagi frekuensi.

2 MHz-1 = 0,5 s

(104 s / 0,5 s) - 1 = 207

Oleh karena itu, kami ingin nilai pencacah CNT0 menjadi 207. Untuk memastikan bahwa kami tidak melewatkan data apa pun, kami perlu menunda jam SPI setengah siklus jam sehingga blok SPI di-clock pada waktu yang tepat. Kami menyelesaikan ini dengan menggunakan CNT6, 2-bit LUT1, dan Jam Eksternal blok OSC. Output CNT6 tidak akan tinggi hingga 52 s setelah DFF0 di-clock, yang merupakan setengah dari periode SCLK 104 s kami. Ketika CNT6 tinggi, gerbang AND 2-bit LUT1 memungkinkan sinyal OSC 2MHz untuk masuk ke EXT. input CLK0, yang outputnya terhubung ke CNT0.

Langkah 2: Unit PWM

Satuan PWM
Satuan PWM

Sinyal PWM dihasilkan menggunakan PWM0 dan generator pulsa clock terkait (CNT8/DLY8). Karena lebar pulsa dapat dikontrol oleh pengguna, kami menggunakan FSM0 (yang dapat dihubungkan ke PWM0) untuk menghitung data pengguna.

Di SLG46620, FSM1 8-bit dapat digunakan dengan PWM1 dan PWM2. Modul Bluetooth harus terhubung, yang berarti output paralel SPI harus digunakan. Bit output paralel SPI 0 hingga 7 di-mux dengan DCMP1, DMCP2, dan OUT1 dan OUT0 LF OSC CLK. PWM0 memperoleh outputnya dari FSM0 16-bit. Jika tidak diubah, ini menyebabkan lebar pulsa menjadi kelebihan beban. Untuk membatasi nilai counter pada 8 bit FSM lain ditambahkan; FSM1 digunakan sebagai penunjuk untuk mengetahui kapan pencacah mencapai 0 atau 255. FSM0 digunakan untuk membangkitkan pulsa PWM. FSM0 dan FSM1 harus disinkronkan. Karena kedua FSM memiliki opsi jam prasetel, CNT1 dan CNT3 digunakan sebagai mediator untuk meneruskan CLK ke kedua FSM. Kedua penghitung diatur ke nilai yang sama, yaitu 25 untuk Instruksi ini. Kita dapat mengubah laju perubahan nilai PWM dengan mengubah nilai penghitung ini.

Nilai FSM dinaikkan dan diturunkan oleh sinyal '+' dan '-', yang berasal dari SPI Parallel Output.

Langkah 3: Unit Kontrol

Unit Kontrol
Unit Kontrol

Di dalam unit kontrol, byte yang diterima diambil dari modul Bluetooth ke Output Paralel SPI dan kemudian diteruskan ke fungsi terkait. Pada awalnya, output PWM CS1 dan PWM CS2 akan diperiksa untuk melihat apakah pola PWM diaktifkan atau tidak. Jika diaktifkan maka akan menentukan saluran mana yang akan mengeluarkan PWM melalui LUT4, LUT6, dan LUT7.

LUT9, LUT11, dan LUT14 bertanggung jawab untuk memeriksa status dua LED lainnya. LUT10, LUT12, dan LUT13 memeriksa apakah tombol Manual diaktifkan atau tidak. Jika mode Manual aktif, maka output RGB beroperasi sesuai dengan status output D0, D1, D2, yang berubah setiap kali tombol Warna ditekan. Ini berubah dengan tepi naik yang berasal dari CNT9, yang digunakan sebagai debouncer tepi naik.

Pin 20 dikonfigurasi sebagai input dan digunakan untuk beralih antara kontrol Manual dan Bluetooth.

Jika mode Manual dinonaktifkan dan mode Mixer otomatis diaktifkan, maka warna berubah setiap 500 ms dengan tepi naik yang berasal dari CNT7. LUT1 4-bit digunakan untuk mencegah status '000' untuk D0 D1 D2, karena status ini menyebabkan lampu mati selama mode Auto mixer.

Jika mode Manual, mode PWM, dan mode Mixer otomatis tidak diaktifkan maka perintah SPI merah, hijau dan biru mengalir ke Pin 12, 13 dan 14, yang dikonfigurasi sebagai output dan terhubung ke LED RGB eksternal.

DFF1, DFF2 dan DFF3 digunakan untuk membangun penghitung biner 3-bit. Nilai penghitung meningkat dengan pulsa CNT7 yang melewati P14 dalam mode Mixer otomatis, atau dari sinyal yang berasal dari tombol Warna(PIN3) dalam mode manual.

Langkah 4: Aplikasi Android

Aplikasi Android
Aplikasi Android
Aplikasi Android
Aplikasi Android
Aplikasi Android
Aplikasi Android
Aplikasi Android
Aplikasi Android

Di bagian ini, kita akan membangun aplikasi Android yang akan memantau dan menampilkan pilihan kontrol pengguna. Antarmuka terdiri dari dua bagian: bagian pertama berisi sekumpulan tombol yang memiliki warna yang telah ditentukan sebelumnya sehingga ketika salah satu tombol ini ditekan, LED dengan warna yang sama akan menyala. Bagian kedua (kotak CAMPURAN) menciptakan warna campuran untuk pengguna.

Di bagian pertama, pengguna memilih pin LED yang mereka inginkan untuk dilewati sinyal PWM; sinyal PWM hanya dapat dilewatkan ke satu pin pada satu waktu. Daftar bawah mengontrol dua warna lainnya secara logis hidup/mati selama mode PWM.

Tombol auto mixer bertanggung jawab untuk menjalankan pola perubahan lampu otomatis dimana lampu akan berubah setiap setengah detik. Bagian MIX berisi dua daftar kotak centang sehingga pengguna dapat memutuskan dua warna mana yang akan digabungkan.

Kami membangun aplikasi menggunakan situs web penemu aplikasi MIT. Ini adalah situs yang memungkinkan pembuatan aplikasi Android tanpa pengalaman perangkat lunak sebelumnya menggunakan blok perangkat lunak grafis.

Pada awalnya, kami merancang antarmuka grafis dengan menambahkan satu set tombol yang bertanggung jawab untuk menampilkan warna yang telah ditentukan, kami juga menambahkan dua daftar kotak centang, dan setiap daftar memiliki 3 elemen; setiap elemen diuraikan dalam kotak individualnya, seperti yang ditunjukkan pada Gambar 5.

Tombol-tombol dalam antarmuka pengguna ditautkan ke perintah perangkat lunak: semua perintah yang akan dikirim aplikasi melalui Bluetooth akan dalam format byte, dan setiap bit bertanggung jawab atas fungsi tertentu. Tabel 1 menunjukkan bentuk frame perintah yang dikirim ke GreenPAK.

Tiga bit pertama, B0, B1 dan B2, akan menahan status LED RGB dalam mode pengontrolan langsung dengan tombol warna yang telah ditentukan sebelumnya. Jadi, ketika mengklik salah satu dari mereka, nilai tombol yang sesuai akan dikirim, seperti yang ditunjukkan pada Tabel 2.

Bit B3 dan B4 memegang perintah '+' dan '-', yang bertanggung jawab untuk menambah dan mengurangi lebar pulsa. Ketika tombol ditekan nilai bit akan menjadi 1, dan ketika tombol dilepaskan nilai bit akan menjadi 0.

Bit B5 dan B6 bertanggung jawab untuk memilih pin (warna) yang akan dilalui oleh sinyal PWM: penunjukan warna bit ini ditunjukkan pada tabel 3. Bit terakhir, B7, bertanggung jawab untuk mengaktifkan mixer otomatis.

Gambar 6 dan Gambar 7 menunjukkan proses menghubungkan tombol dengan blok pemrograman yang bertanggung jawab untuk mengirimkan nilai sebelumnya.

Untuk melihat desain lengkap aplikasi, Anda dapat mengunduh file terlampir “.aia” dengan file proyek dan membukanya di situs utama.

Gambar 8 di bawah ini menunjukkan diagram sirkuit tingkat atas.

Langkah 5: Hasil

Kontroler telah diuji dengan sukses dan pencampuran warna, bersama dengan fitur lainnya, terbukti berfungsi dengan baik.

Kesimpulan

Dalam Instruksi ini, sirkuit bohlam pintar dibangun untuk dikendalikan secara nirkabel oleh aplikasi Android. CMIC GreenPAK yang digunakan dalam proyek ini juga membantu mempersingkat dan menanamkan beberapa komponen penting untuk kontrol cahaya ke dalam satu IC kecil.

Direkomendasikan: