- Adafruit 5X8 NeoPixel Shield untuk Arduino
- Memahami Proses Komunikasi Antara Aplikasi Blynk dan Arduino
- Komponen Diperlukan
- Adafruit RGB LED Shield dan Arduino - Sambungan Perkakasan
- Mengkonfigurasi Aplikasi Blynk
- Arduino Code Controlling Adafruit WS2812B RGB LED Shield
- Memuat naik Kod ke Arduino Board
Selama beberapa tahun, LED RGB semakin popular dari hari ke hari kerana warna, kecerahan, dan kesan pencahayaan yang menarik. Itulah sebabnya ia digunakan di banyak tempat sebagai barang hiasan, contohnya boleh menjadi rumah atau ruang pejabat. Kita juga boleh menggunakan lampu RGB di dapur dan juga di konsol permainan. Mereka juga hebat di bilik permainan kanak-kanak atau bilik tidur dari segi pencahayaan mood. Sebelum ini, Kami menggunakan WS2812B NeoPixel LED dan ARM Microcontroller untuk membina Music Spectrum Visualizer, jadi periksa apakah itu menarik bagi anda.
Itulah sebabnya dalam projek ini kita akan menggunakan perisai matriks LED RGB Neopixel, Arduino, dan aplikasi Blynk untuk menghasilkan banyak kesan dan warna animasi yang menarik yang dapat kita kendalikan dengan aplikasi Blynk. Jadi mari kita mulakan !!!
Adafruit 5X8 NeoPixel Shield untuk Arduino
Perisai NeoPixel yang serasi dengan Arduino mengandungi empat puluh LED RGB yang boleh ditujukan secara berasingan, masing-masing mempunyai pemacu WS2812b terpasang, yang disusun dalam matriks 5 × 8 untuk membentuk Perisai NeoPixel ini. Pelbagai NeoPixel Shields juga dapat disambungkan untuk membentuk Shield yang lebih besar jika itu adalah keperluan. Untuk mengawal LED RGB, pin Arduino tunggal diperlukan, jadi dalam tutorial ini, kami telah memutuskan untuk menggunakan pin 6 dari Arduino untuk melakukannya.
Dalam kes kami, LED dihidupkan dari pin 5V bawaan Arduino, yang cukup untuk menghidupkan "sepertiga LED" pada kecerahan penuh. Sekiranya anda perlu menghidupkan lebih banyak LED, maka anda boleh memotong jejak terbina dalam dan menggunakan bekalan 5v luaran untuk menghidupkan perisai menggunakan terminal 5V Luaran.
Memahami Proses Komunikasi Antara Aplikasi Blynk dan Arduino
Matriks LED 8 * 5 RGB yang digunakan di sini mempunyai empat puluh LED RGB yang boleh ditujukan secara individu berdasarkan pemacu WS2812B. Ia mempunyai kawalan warna 24-bit dan 16.8 juta warna per piksel. Ia dapat dikendalikan dengan metodologi "Satu wayar kawalan". Ini bermaksud kita dapat mengawal keseluruhan piksel LED menggunakan satu pin kawalan. Semasa bekerja dengan LED, saya telah melalui lembar data LED ini di mana saya dapati julat voltan operasi perisai adalah 4 V hingga 6 V dan penggunaan semasa didapati 50 mA per LED pada 5 V dengan warna merah, hijau, dan biru pada kecerahan penuh. Ia mempunyai perlindungan voltan terbalik pada pin kuasa luaran dan butang Reset pada Shield untuk menetapkan semula Arduino. Ia juga mempunyai pin input Daya Luaran untuk LED jika jumlah kuasa yang mencukupi tidak tersedia melalui litar dalaman.
Seperti yang ditunjukkan dalam rajah skematik di atas, kita perlu memuat turun dan memasang aplikasi Blynkpada telefon pintar kami di mana parameter seperti warna, kecerahan dapat dikawal. Setelah menetapkan parameter, jika ada perubahan yang terjadi pada aplikasi, itu adalah ke awan Blynk di mana PC kami juga terhubung dan siap menerima data yang dikemas kini. Arduino Uno disambungkan ke PC kami melalui kabel USB dengan port komunikasi dibuka, dengan port komunikasi ini (COM Port), data dapat ditukar antara awan Blynk dan Arduino UNO. PC meminta data dari awan Blynk pada selang waktu yang tetap dan apabila data yang dikemas kini diterima, ia memindahkannya ke Arduino dan membuat keputusan yang ditentukan pengguna seperti mengawal kecerahan dan Warna yang dipimpin RGB. Perisai LED RGB diletakkan pada Arduino LED dan disambungkan melalui satu pin data untuk komunikasi, secara lalai ia disambungkan melalui pin D6 Arduino.Data bersiri yang dihantar dari Arduino UNO dihantar ke Neopixel shied yang kemudian dipantulkan pada matriks LED.
Komponen Diperlukan
- Arduino UNO
- Perisai Matriks LED 8 * 5 RGB
- Kabel USB A / B untuk Arduino UNO
- Komputer riba / PC
Adafruit RGB LED Shield dan Arduino - Sambungan Perkakasan
LED WS2812B Neopixel mempunyai tiga pin, satu untuk data dan dua lagi digunakan untuk kuasa, tetapi perisai Arduino khusus ini menjadikan sambungan perkakasan sangat mudah, yang harus kita lakukan ialah meletakkan matriks LED Neopixel di bahagian atas Arduino UNO. Dalam kes kami, LED dihidupkan dari Arduino 5V Rail lalai. Setelah meletakkan Neopixel Shield, penyediaannya seperti di bawah:
Mengkonfigurasi Aplikasi Blynk
Blynk adalah aplikasi yang dapat berjalan di atas peranti Android dan IOS untuk mengawal sebarang peranti dan Peralatan IoT menggunakan telefon pintar kami. Pertama sekali, antara muka pengguna grafik (GUI) perlu dibuat untuk mengawal matriks LED RGB. Aplikasi akan menghantar semua parameter yang dipilih dari GUI ke Blynk Cloud. Di bahagian penerima, kami mempunyai Arduino yang disambungkan ke PC melalui kabel komunikasi bersiri. Oleh itu, PC meminta data dari awan Blynk, dan data ini dihantar ke Arduino untuk pemprosesan yang diperlukan. Oleh itu, mari kita mulakan dengan persediaan aplikasi Blynk.
Sebelum persediaan, muat turun Aplikasi Blynk dari gedung Google Play (pengguna IOS boleh memuat turun dari App Store). Selepas pemasangan, Daftar menggunakan id e-mel dan Kata Laluan anda.
Membuat Projek Baru:
Setelah pemasangan berjaya, buka aplikasi, dan di sana kita akan mendapatkan layar dengan pilihan " Projek Baru ". Klik di atasnya dan akan muncul skrin baru, di mana kita perlu menetapkan parameter seperti nama Projek, Papan, dan jenis sambungan. Dalam projek kami, pilih peranti sebagai " Arduino UNO " dan jenis sambungan sebagai " USB " dan klik " Buat".
Setelah berjaya menghasilkan Projek, kami akan mendapat ID Pengesahan dalam surat berdaftar kami. Simpan ID Pengesahan untuk rujukan masa depan.
Membuat Antara Muka Pengguna Grafik (GUI):
Buka projek di Blynk, klik pada tanda "+" di mana kita akan mendapatkan widget yang boleh kita gunakan dalam projek kita. Dalam kes kami, kami memerlukan Pemilih Warna RGB yang disenaraikan sebagai "zeRGBa" seperti yang ditunjukkan di bawah.
Menetapkan Widget:
Setelah menyeret widget ke projek kami, sekarang kita harus menetapkan parameternya yang digunakan untuk mengirim nilai RGB warna ke Arduino UNO.
Klik pada ZeRGBa, maka kita akan mendapat skrin bernama pengaturan ZeRGBa. Kemudian tetapkan pilihan Output ke " Merge " dan tetapkan pin ke "V2" yang ditunjukkan pada gambar di bawah.
Arduino Code Controlling Adafruit WS2812B RGB LED Shield
Setelah selesai sambungan perkakasan, kod tersebut perlu dimuat naik ke Arduino. Penjelasan kod langkah demi langkah ditunjukkan di bawah.
Pertama, sertakan semua perpustakaan yang diperlukan. Buka Arduino IDE, kemudian pergi ke tab Sketsa dan klik pada pilihan Sertakan Perpustakaan-> Uruskan Perpustakaan . Kemudian cari Blynk di kotak carian dan kemudian muat turun dan pasang pakej Blynk untuk Arduino UNO.
Di sini perpustakaan " Adafruit_NeoPixel.h " digunakan untuk mengendalikan Matriks LED RGB. Untuk memasukkannya, Anda boleh memuat turun perpustakaan Adafruit_NeoPixel dari pautan yang diberikan. Setelah mendapatnya, anda boleh memasukkannya dengan pilihan Sertakan Perpustakaan ZIP.
#tentukan BLYNK_PRINT DebugSerial #include #include
Kemudian kami menentukan bilangan LED, yang diperlukan untuk matriks LED kami, juga kami menentukan nombor pin yang digunakan untuk mengawal parameter LED.
#tentukan PIN 6 # tentukan NUM_PIXELS 40
Kemudian, kita perlu meletakkan ID pengesahan berkedip kami dalam array auth , yang telah kita simpan lebih awal.
char auth = "HoLYSq-SGJAafQUQXXXXXXXX";
Di sini pin siri perisian digunakan sebagai konsol debug. Jadi, pin Arduino ditakrifkan sebagai siri debug di bawah.
#sertakan
Di dalam persediaan, komunikasi Serial diinisialisasi menggunakan fungsi Serial.begin , blynk disambungkan menggunakan Blynk.begin dan menggunakan pixels.begin (), Matriks LED diinisialisasi.
batal persediaan () { DebugSerial.begin (9600); piksel.begin (); Serial.begin (9600); Blynk.begin (Siri, pengarang); }
Di dalam gelung () , kami telah menggunakan Blynk.run () , yang memeriksa perintah masuk dari blynk GUI dan menjalankan operasi dengan sewajarnya.
gelung void () { Blynk.run (); }
Pada peringkat akhir, parameter yang dikirim dari aplikasi Blynk perlu diterima dan diproses. Dalam hal ini, parameter dialokasikan ke pin virtual "V2" seperti yang dibahas sebelumnya di bagian penyiapan. Fungsi BLYNK_WRITE adalah fungsi terbina dalam yang dipanggil setiap kali keadaan / nilai pin maya yang berkaitan berubah. kita boleh menjalankan kod di dalam fungsi ini seperti fungsi Arduino yang lain.
Di sini fungsi BLYNK_WRITE ditulis untuk memeriksa data masuk pada pin maya V2. Seperti yang ditunjukkan pada bagian pengaturan Blink, data piksel warna digabungkan dan ditetapkan ke pin V2. Oleh itu, kita juga harus menyatukan semula selepas penyahkodan. Kerana untuk mengawal matriks piksel LED, kita memerlukan ketiga-tiga data piksel warna individu seperti Merah, hijau, dan Biru. Seperti yang ditunjukkan dalam kod di bawah, tiga indeks matriks dibaca seperti param.asInt () untuk mendapatkan nilai warna Merah. Begitu juga, kedua-dua nilai lain diterima dan disimpan dalam 3 pemboleh ubah individu. Kemudian nilai-nilai ini diberikan ke matriks Pixel menggunakan fungsi pixels.setPixelColor seperti yang ditunjukkan dalam kod di bawah.
Di sini, fungsi pixels.setBrightness () digunakan untuk mengawal kecerahan dan fungsi pixels.show () digunakan untuk menampilkan warna yang ditetapkan di Matrix.
BLYNK_WRITE (V2) { int r = param.asInt (); int g = param.asInt (); int b = param.asInt (); pixels.clear (); piksel.setBrightness (20); untuk (int i = 0; i <= NUM_PIXELS; i ++) { pixels.setPixelColor (i, pixels.Color (r, g, b)); } piksel.tunjukkan (); }
Memuat naik Kod ke Arduino Board
Pertama, kita perlu memilih PORT of Arduino di dalam Arduino IDE, kemudian kita perlu memuat naik kod ke dalam Arduino UNO. Selepas muat naik yang berjaya, catat Port-Number yang akan digunakan untuk penyediaan komunikasi bersiri kami.
Selepas ini, cari folder skrip perpustakaan Blynk di PC anda. Ia dipasang semasa anda memasang perpustakaan, milik saya di, "C: \ Users \ PC_Name \ Documents \ Arduino \ library \ Blynk \ scripts"
Dalam folder skrip, harus ada file bernama "blynk-ser.bat" yang merupakan file batch yang digunakan untuk komunikasi bersiri yang perlu kita edit dengan notepad. Buka fail dengan notepad dan ubah nombor Port ke nombor Port Arduino anda yang telah anda catat pada langkah terakhir.
Selepas mengedit, simpan fail dan jalankan batch file dengan mengklik dua kali padanya. Kemudian, anda mesti melihat tetingkap seperti di bawah:
Catatan: Sekiranya anda tidak dapat melihat tetingkap ini seperti ditunjukkan di atas dan diminta untuk menyambung semula, maka ini mungkin disebabkan oleh kesalahan dalam penyambungan PC dengan perisai Arduino. Sekiranya demikian, periksa sambungan Arduino anda dengan PC. Selepas itu, periksa sama ada nombor port COM tertera di Arduino IDE atau tidak. Sekiranya ia menunjukkan port COM yang sah, maka ia siap untuk dilanjutkan. Anda harus menjalankan fail kumpulan lagi.
Demonstrasi Akhir:
Kini, sudah tiba masanya untuk menguji litar dan fungsinya. Buka aplikasi Blynk dan buka GUI dan klik pada butang Main. Selepas itu, anda boleh memilih mana-mana warna yang anda inginkan untuk dipantulkan pada Matrik LED. Seperti yang ditunjukkan di bawah, dalam kes saya, saya telah memilih warna Merah dan Biru, ia dipaparkan di Matrix.
Begitu juga, anda juga boleh mencuba membuat animasi yang berbeza menggunakan matriks LED ini dengan menyesuaikan pengekodan sedikit.