- Adafruit 5X8 NeoPixel Shield untuk Arduino
- Memahami Proses Komunikasi Antara Aplikasi Blynk dan Arduino
- Komponen Diperlukan
- Adafruit RGB LED Shield dan Arduino - Koneksi Perangkat Keras
- Konfigurasi Aplikasi Blynk
- Arduino Code Controlling Adafruit WS2812B RGB LED Shield
- Mengupload Kode ke Arduino Board
Selama beberapa tahun, LED RGB semakin populer dari hari ke hari karena warnanya yang indah, kecerahan, dan efek pencahayaannya yang memikat. Itu sebabnya banyak tempat digunakan sebagai barang dekoratif, contohnya bisa di rumah atau ruang kantor. Selain itu, kita bisa menggunakan lampu RGB di dapur dan juga di konsol game. Mereka juga bagus di ruang bermain anak-anak atau kamar tidur dalam hal pencahayaan suasana hati. Sebelumnya, Kami menggunakan LED NeoPixel WS2812B dan Mikrokontroler ARM untuk membuat Visualizer Spektrum Musik, jadi periksa apakah itu menarik bagi Anda.
Itulah mengapa dalam proyek ini kami akan menggunakan pelindung matriks LED RGB Berbasis Neopixel, Arduino, dan aplikasi Blynk untuk menghasilkan banyak efek animasi dan warna yang menarik yang dapat kami kendalikan dengan aplikasi Blynk. Jadi mari kita mulai !!!
Adafruit 5X8 NeoPixel Shield untuk Arduino
NeoPixel Shield yang kompatibel dengan Arduino berisi empat puluh LED RGB yang dapat dialamatkan secara individual, masing-masing memiliki driver WS2812b built-in, yang disusun dalam matriks 5 × 8 untuk membentuk NeoPixel Shield. Beberapa Perisai NeoPixel juga dapat dihubungkan untuk membentuk Perisai yang lebih besar jika itu merupakan persyaratan. Untuk mengontrol LED RGB, diperlukan satu pin Arduino, jadi dalam tutorial ini, kami telah memutuskan untuk menggunakan pin 6 Arduino untuk melakukannya.
Dalam kasus kami, LED didukung dari pin 5V bawaan Arduino, yang cukup untuk menyalakan sekitar "sepertiga dari LED" pada kecerahan penuh. Jika Anda perlu menyalakan lebih banyak LED, Anda dapat memotong jejak inbuilt dan menggunakan catu daya 5v eksternal untuk memberi daya pada pelindung menggunakan terminal 5V Eksternal.
Memahami Proses Komunikasi Antara Aplikasi Blynk dan Arduino
Matriks LED RGB 8 * 5 yang digunakan di sini memiliki empat puluh LED RGB yang dapat dialamatkan secara individual berdasarkan driver WS2812B. Ini memiliki kontrol warna 24-bit dan 16,8 juta warna per piksel. Ini dapat dikontrol dengan metodologi "Kontrol satu kabel". Itu berarti kita dapat mengontrol seluruh piksel LED menggunakan satu pin kontrol. Saat bekerja dengan LED, saya telah melalui lembar data LED ini di mana saya menemukan rentang tegangan operasi pelindung adalah 4 V hingga 6 V dan konsumsi saat ini ditemukan 50 mA per LED pada 5 V dengan warna merah, hijau, dan biru dengan kecerahan penuh. Ini memiliki perlindungan tegangan balik pada pin daya eksternal dan tombol Reset pada Perisai untuk mengatur ulang Arduino. Ini juga memiliki pin input Daya Eksternal untuk LED jika jumlah daya yang cukup tidak tersedia melalui sirkuit internal.
Seperti yang ditunjukkan pada diagram skematik di atas, kita perlu mengunduh dan menginstal aplikasi Blynkdi ponsel cerdas kami di mana parameter seperti warna, kecerahan dapat dikontrol. Setelah mengatur parameter, jika ada perubahan terjadi pada aplikasi, itu ke cloud Blynk tempat PC kami juga terhubung dan siap menerima data yang diperbarui. Arduino Uno terhubung ke PC kita melalui kabel USB dengan port komunikasi terbuka, dengan port komunikasi ini (COM Port), data dapat dipertukarkan antara cloud Blynk dan Arduino UNO. PC meminta data dari cloud Blynk pada interval waktu yang konstan dan ketika data yang diperbarui diterima, itu mentransfernya ke Arduino dan membuat keputusan yang ditentukan pengguna seperti mengontrol kecerahan dan Warna yang dipimpin RGB. Pelindung LED RGB ditempatkan pada LED Arduino dan dihubungkan melalui pin data tunggal untuk komunikasi, secara default dihubungkan melalui pin D6 Arduino.Data serial yang dikirim dari Arduino UNO dikirim ke Neopixel shied yang kemudian direfleksikan pada matriks LED.
Komponen Diperlukan
- Arduino UNO
- 8 * 5 pelindung Matriks LED RGB
- Kabel USB A / B untuk Arduino UNO
- Laptop / PC
Adafruit RGB LED Shield dan Arduino - Koneksi Perangkat Keras
LED Neopixel WS2812B memiliki tiga pin, satu untuk data dan dua lainnya digunakan untuk daya, tetapi pelindung Arduino khusus ini membuat koneksi perangkat keras sangat sederhana, yang harus kita lakukan adalah menempatkan matriks LED Neopixel di atas Arduino UNO. Dalam kasus kami, LED dinyalakan dari Arduino 5V Rail default. Setelah memasang Neopixel Shield, pengaturannya terlihat seperti di bawah ini:
Konfigurasi Aplikasi Blynk
Blynk adalah aplikasi yang dapat dijalankan di perangkat Android dan iOS untuk mengontrol perangkat dan Peralatan IoT apa pun menggunakan ponsel cerdas kami. Pertama-tama, Antarmuka Pengguna Grafis (GUI) perlu dibuat untuk mengontrol matriks LED RGB. Aplikasi akan mengirim semua parameter yang dipilih dari GUI ke Blynk Cloud. Di bagian penerima, kami memiliki Arduino yang terhubung ke PC melalui kabel komunikasi serial. Karenanya, PC meminta data dari cloud Blynk, dan data ini dikirim ke Arduino untuk pemrosesan yang diperlukan. Jadi, mari kita mulai dengan pengaturan aplikasi Blynk.
Sebelum pengaturan, unduh Aplikasi Blynk dari Google Play store (pengguna iOS dapat mengunduh dari App Store). Setelah instalasi, daftar menggunakan id email dan kata sandi Anda.
Membuat Proyek Baru:
Setelah instalasi berhasil, buka aplikasinya, dan di sana kita akan mendapatkan layar dengan opsi " New Project ". Klik di atasnya dan itu akan memunculkan layar baru, di mana kita perlu mengatur parameter seperti Nama proyek, Papan, dan jenis koneksi. Dalam proyek kami, pilih perangkat sebagai " Arduino UNO " dan jenis koneksi sebagai " USB " dan klik " Buat".
Setelah Proyek berhasil dibuat, kita akan mendapatkan ID Otentikasi di surat terdaftar kita. Simpan ID Otentikasi untuk referensi di masa mendatang.
Membuat Antarmuka Pengguna Grafis (GUI):
Buka proyek di Blynk, klik tanda "+" di mana kita akan mendapatkan widget yang bisa kita gunakan dalam proyek kita. Dalam kasus kami, kami membutuhkan RGB Color Picker yang terdaftar sebagai "zeRGBa" seperti yang ditunjukkan di bawah ini.
Mengatur Widget:
Setelah menyeret widget ke proyek kita, sekarang kita harus mengatur parameternya yang digunakan untuk mengirim nilai RGB warna ke Arduino UNO.
Klik ZeRGBa, maka kita akan mendapatkan layar bernama pengaturan ZeRGBa. Kemudian atur opsi Output ke " Merge " dan atur pin ke "V2" yang ditunjukkan pada gambar di bawah.
Arduino Code Controlling Adafruit WS2812B RGB LED Shield
Setelah koneksi perangkat keras selesai, kode perlu diunggah ke Arduino. Penjelasan langkah demi langkah kode ditunjukkan di bawah ini.
Pertama, sertakan semua pustaka yang diperlukan. Buka Arduino IDE, lalu masuk ke tab Sketch dan klik opsi Include Library-> Manage Libraries . Kemudian cari Blynk di kotak pencarian lalu unduh dan instal paket Blynk untuk Arduino UNO.
Di sini pustaka “ Adafruit_NeoPixel.h ” digunakan untuk mengontrol Matriks LED RGB. Untuk memasukkannya, Anda dapat mengunduh perpustakaan Adafruit_NeoPixel dari tautan yang diberikan. Setelah Anda mendapatkannya, Anda dapat memasukkannya dengan opsi Include ZIP Library.
#define BLYNK_PRINT DebugSerial #include #include
Kemudian kami menentukan jumlah LED, yang diperlukan untuk matriks LED kami, juga kami menentukan nomor-pin yang digunakan untuk mengontrol parameter LED.
#tentukan PIN 6 # tentukan NUM_PIXELS 40
Kemudian, kita perlu memasukkan ID otentikasi kedip kita ke dalam larik auth , yang telah kita simpan sebelumnya.
char auth = "HoLYSq-SGJAafQUQXXXXXXXX";
Di sini pin serial perangkat lunak digunakan sebagai konsol debug. Jadi, pin Arduino didefinisikan sebagai serial debug di bawah ini.
#include
Di dalam pengaturan, komunikasi Serial diinisialisasi menggunakan fungsi Serial.begin , blynk terhubung menggunakan Blynk.begin dan menggunakan piksel.begin (), Matriks LED diinisialisasi.
void setup () { DebugSerial.begin (9600); piksel.begin (); Serial.begin (9600); Blynk.begin (Serial, auth); }
Di dalam loop () , kami telah menggunakan Blynk.run () , yang memeriksa perintah yang masuk dari blynk GUI dan menjalankan operasi yang sesuai.
void loop () { Blynk.run (); }
Pada tahap 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 bawaan yang dipanggil setiap kali status / nilai pin virtual terkait berubah. kita dapat menjalankan kode di dalam fungsi ini sama seperti fungsi Arduino lainnya.
Disini fungsi BLYNK_WRITE ditulis untuk mengecek data yang masuk pada pin virtual V2. Seperti yang ditunjukkan di bagian penyiapan Blink, data piksel warna digabungkan dan ditetapkan ke pin V2. Jadi kami juga harus membatalkan penggabungan lagi setelah decoding. Karena untuk mengontrol matriks piksel LED, kita membutuhkan ketiga data piksel warna individual seperti Merah, hijau, dan Biru. Seperti yang ditunjukkan pada kode di bawah ini, tiga indeks matriks dibaca seperti param.asInt () untuk mendapatkan nilai warna Merah. Demikian pula, semua dua nilai lainnya diterima dan disimpan dalam 3 variabel individual. Kemudian nilai-nilai ini ditetapkan ke matriks Pixel menggunakan fungsi piksel.setPixelColor seperti yang ditunjukkan pada kode di bawah ini.
Di sini, fungsi piksel.setBrightness () digunakan untuk mengontrol kecerahan dan fungsi piksel.show () digunakan untuk menampilkan warna yang ditetapkan dalam Matriks.
BLYNK_WRITE (V2) { int r = param.asInt (); int g = param.asInt (); int b = param.asInt (); piksel.clear (); piksel.setBrightness (20); untuk (int i = 0; i <= NUM_PIXELS; i ++) { pixels.setPixelColor (i, pixels.Color (r, g, b)); } piksel.show (); }
Mengupload Kode ke Arduino Board
Pertama, kita perlu memilih PORT dari Arduino di dalam Arduino IDE, kemudian kita perlu mengunggah kodenya ke Arduino UNO. Setelah upload berhasil, catat Port-Number yang akan digunakan untuk pengaturan komunikasi serial kami.
Setelah ini, temukan folder skrip dari pustaka Blynk di PC Anda. Itu terinstal ketika Anda menginstal perpustakaan, milik saya ada di, "C: \ Users \ PC_Name \ Documents \ Arduino \ libraries \ Blynk \ scripts"
Di folder script, seharusnya ada file bernama “blynk-ser.bat” yang merupakan file batch yang digunakan untuk komunikasi serial yang perlu kita edit dengan notepad. Buka file dengan notepad dan ubah nomor Port menjadi nomor Port Arduino Anda yang telah Anda catat di langkah terakhir.
Setelah mengedit, simpan file dan jalankan file batch dengan mengklik dua kali di atasnya. Kemudian, Anda pasti melihat jendela seperti di bawah ini:
Catatan: Jika Anda tidak dapat melihat jendela ini yang ditunjukkan di atas dan diminta untuk menyambung kembali, maka itu mungkin karena kesalahan dalam koneksi PC dengan perisai Arduino. Dalam hal ini, periksa koneksi Arduino Anda dengan PC. Setelah itu, periksa apakah nomor port COM ditampilkan di Arduino IDE atau tidak. Jika port COM yang valid ditampilkan, berarti port tersebut siap untuk dilanjutkan. Anda harus menjalankan file batch lagi.
Demonstrasi Akhir:
Sekarang saatnya untuk menguji rangkaian dan fungsinya. Buka aplikasi Blynk dan buka GUI dan klik tombol Putar. Setelah itu, Anda dapat memilih warna yang Anda inginkan untuk direfleksikan pada Matriks LED. Seperti yang ditunjukkan di bawah ini, dalam kasus saya, saya telah memilih warna Merah dan Biru, itu ditampilkan pada Matriks.
Demikian pula, Anda juga dapat mencoba membuat animasi yang berbeda menggunakan matriks LED ini dengan sedikit menyesuaikan pengkodean.