Daftar Isi:

LED RGB Terbaik untuk Proyek Apa Pun (WS2812, alias NeoPixels): 6 Langkah (dengan Gambar)
LED RGB Terbaik untuk Proyek Apa Pun (WS2812, alias NeoPixels): 6 Langkah (dengan Gambar)

Video: LED RGB Terbaik untuk Proyek Apa Pun (WS2812, alias NeoPixels): 6 Langkah (dengan Gambar)

Video: LED RGB Terbaik untuk Proyek Apa Pun (WS2812, alias NeoPixels): 6 Langkah (dengan Gambar)
Video: Hacking an IKEA lamp with glorious Neopixels - ESP32 MicroPython tutorial 2024, November
Anonim
LED RGB Terbaik untuk Proyek Apa Pun (WS2812, alias NeoPixels)
LED RGB Terbaik untuk Proyek Apa Pun (WS2812, alias NeoPixels)
LED RGB Terbaik untuk Proyek Apapun (WS2812, alias NeoPixels)
LED RGB Terbaik untuk Proyek Apapun (WS2812, alias NeoPixels)
LED RGB Terbaik untuk Proyek Apapun (WS2812, alias NeoPixels)
LED RGB Terbaik untuk Proyek Apapun (WS2812, alias NeoPixels)

Saat kami bekerja dengan LED, kami sering ingin mengontrol statusnya (hidup/mati), kecerahan, dan warnanya. Ada banyak, banyak cara berbeda untuk melakukannya, tetapi tidak ada solusi yang sekompak LED WS2812 RGB. Dalam paket kecil 5mm x 5mm, WS2812 menyertakan 3 LED super terang (Merah, Hijau, dan Biru) dan sirkuit driver ringkas (WS2811) yang hanya memerlukan satu input data untuk mengontrol status, kecerahan, dan warna dari 3 LED. Dengan mengorbankan hanya membutuhkan satu jalur data untuk mengontrol 3 LED, ada permintaan untuk pengaturan waktu yang sangat tepat dalam komunikasi dengan WS2811. Untuk alasan ini, mikrokontroler real-time (misalnya, AVR, Arduino, PIC) diperlukan. Sayangnya, komputer mikro berbasis Linux atau mikrokontroler yang diinterpretasikan seperti Netduino atau Basic Stamp tidak dapat memberikan akurasi waktu yang cukup yang diperlukan. Jadi, dalam Instructable ini saya berjalan melalui proses pengaturan, dan mengendalikan salah satu LED ini dengan Arduino Uno. Kemudian, saya tunjukkan betapa mudahnya untuk menghubungkan beberapa dari mereka bersama-sama untuk tampilan pencahayaan yang mengagumkan! Tingkat kesulitan: PemulaWaktu sampai selesai: 10-15 Menit

Langkah 1: Daftar Bahan

Daftar Bahan
Daftar Bahan

LED RGB yang luar biasa ini hadir dalam paket 5050 (5mm x 5mm) dengan 6 bantalan yang cukup mudah untuk disolder ke papan breakout. Karena satu-satunya komponen tambahan yang diperlukan adalah kapasitor de-coupling, WS2812 dengan jujur menawarkan solusi terbaik untuk mengontrol warna dan kecerahan LED RGB. Driver LED arus konstan tertanam (WS2811) sangat berguna karena dua alasan: - Arus konstan ~18mA akan menggerakkan setiap LED meskipun voltasenya bervariasi. - Tidak perlu menambahkan resistor pembatas arus (alias resistor choke) antara catu daya dan LED. Yang kita butuhkan hanyalah desain yang sangat sederhana untuk menyediakan Input Daya, Ground, dan 1 Kontrol untuk membuat tampilan pencahayaan mengagumkan yang tidak hanya terdiri dari satu, tetapi seluruh rangkaian LED RGB. Betul sekali! Dengan menghubungkan pin Data Out dari salah satu LED ini, ke pin Data In yang lain, kita dapat menggerakkan keduanya secara independen dengan Input Kontrol yang sama! Jika tidak jelas bagaimana melakukan ini, jangan khawatir, pada akhir Instructable ini Anda akan siap untuk menambahkan WS2812 ke proyek apa pun yang Anda inginkan! Untuk Instruksi ini, inilah yang akan kita gunakan: Bahan: 3 x WS2812 RGB LED (pra-solder ke papan breakout kecil) 1 x Solderless Breadboard Solid Core Wire (berbagai macam warna; 28 AWG) 1 x Arduino Uno R3 1 x Konektor Pin Break-away, Pitch 0,1", 8-Pin Male (Sudut Kanan) 1 x Konektor Pin, Pitch 0,1", Pitch 8-Pin Female (Sudut Kanan) 1 x Konektor Pin Breakaway, Pitch 0,1", 8-Pin MaleTools: PC USB A/B Cable Wire Stripper Soldering IronCatatan: Tergantung pada proyek Anda, LED RGB WS2812 juga tersedia tanpa papan breakout masing-masing seharga sekitar $0,40, tetapi kenyamanan opsi pra-solder menarik untuk aplikasi sederhana.

Langkah 2: Menghubungkan Header Pin

Menghubungkan Pin Header
Menghubungkan Pin Header
Menghubungkan Pin Header
Menghubungkan Pin Header
Menghubungkan Pin Header
Menghubungkan Pin Header

Dengan semua bahan yang tercantum pada langkah sebelumnya, cukup mudah untuk menyalakan LED RGB WS2812. Pertama, kami ingin menyiapkan Papan Breakout WS2812 untuk menempatkannya di papan tempat memotong roti tanpa solder. Untuk melakukan ini, kami menggunakan pemotong kawat (alat pemotong yang paling umum juga berfungsi dengan baik) untuk memisahkan setiap strip 8-Pin menjadi potongan 2 x 3-Pin. Ingatlah bahwa membuat potongannya sedikit rumit; sering kali saya mencoba menggunakan alur di antara dua header jantan sebagai panduan untuk pemotongan, dan akhirnya saya memotong terlalu banyak plastik dari header yang ingin saya simpan. Dengan 'mengorbankan' pin di mana kita ingin memotong, kita menghindari masalah sama sekali. Dengan menggunakan tang, kami menarik pin yang ingin kami potong (dalam hal ini, pin ke-4 dan ke-8). Setelah pin dilepas, kita dapat dengan mudah memotong bagian tengah header yang sekarang kosong. Teknik ini bekerja sama baiknya dengan header wanita. Setelah mencongkel dan memotong, kita harus memiliki 6 x 3-Pin header, yaitu, 2 x standar dan 4 x sudut kanan (2 x jantan, 2 x betina). Dengan bantuan besi solder, sekarang kita dapat menghubungkan pin ke masing-masing dari tiga papan breakout dengan cara berikut. Satu papan harus memiliki 2 x header standar, sedangkan dua papan lainnya masing-masing harus memiliki 1 x header sudut kanan. Pada papan yang akan memiliki header pin standar, kami menempatkan pin di permukaan bawah papan (sisi berlawanan dengan tempat LED berada). Di dua lainnya, header sudut kanan (satu dari setiap jenis kelamin) dapat ditempatkan di permukaan atas atau bawah. Perhatikan bahwa penting untuk konsisten, dari satu papan ke papan lainnya, pada penempatan header pria dan wanita. Akan sangat membantu untuk menggunakan kapasitor pemasangan permukaan untuk mengarahkan papan; menggunakan ini sebagai referensi, header laki-laki harus disolder ke ujung yang paling dekat dengan kapasitor. Setelah pin disolder, kami siap menghubungkan salah satunya ke Arduino!

Langkah 3: Menghubungkan Papan Breakout WS2812 ke Arduino

Menghubungkan Papan Breakout WS2812 ke Arduino
Menghubungkan Papan Breakout WS2812 ke Arduino
Menghubungkan Papan Breakout WS2812 ke Arduino
Menghubungkan Papan Breakout WS2812 ke Arduino
Menghubungkan Papan Breakout WS2812 ke Arduino
Menghubungkan Papan Breakout WS2812 ke Arduino

Pada langkah ini kita akan membuat koneksi yang diperlukan antara Arduino, dan salah satu Breakout Board WS2812 kita. Untuk tujuan ini kita akan menggunakan papan tempat memotong roti tanpa solder, dan 3 x kabel jumper. Jika Anda menggunakan gulungan kawat, sekarang saatnya untuk memotong 3 bagian, masing-masing sekitar 4 panjangnya. Sekarang kita dapat menempatkan WS2812 Breakout Board (yang memiliki header standar) di sekat papan tempat memotong roti kita. Pastikan bahwa Arduino terputus dari sumber listrik dan USB, kita akan melanjutkan untuk menyambungkan koneksi. Di bagian bawah Papan Breakout WS2812 kita dapat menemukan nama setiap pin: VCC, DI (DO), GND. Menggunakan ini sebagai panduan kita lanjutkan untuk menghubungkan pin 5V dan GND dari Arduino ke pin VCC dan GND masing-masing pada board WS2812. Kemudian, kita menghubungkan pin 8 pada sisi Digital Arduino ke pin DI pada board WS2812, yang merupakan pin tengah dari sisi yang paling dekat dengan kapasitor. Sekarang kita siap memuat program kita ke Arduino, dan membuat WS2812 berkedip!

Langkah 4: Membuatnya Berkedip Dengan Arduino IDE

Membuatnya Berkedip Dengan Arduino IDE
Membuatnya Berkedip Dengan Arduino IDE
Membuatnya Berkedip Dengan Arduino IDE
Membuatnya Berkedip Dengan Arduino IDE

Saya akan menganggap Anda telah menginstal Arduino IDE ke komputer Anda --- banyak panduan di web menjelaskan prosesnya dengan cukup baik. Program yang perlu kita muat ke Arduino dapat diunduh di sini. Setelah kita cukup klik dua kali file primer.ino di dalam folder firmware > contoh > primer untuk memuatnya ke Arduino IDE (ditulis untuk versi 1.0.5). Paket ini mencakup pustaka yang diperlukan untuk mengkompilasi kode sehingga seharusnya tidak ada kesalahan, silakan kirim komentar jika Anda mengalami masalah kompilasi. Setelah memilih jenis papan Arduino, dan port USB menggunakan opsi menu Alat, unggah kode, dan WS2812 akan mulai berkedip bergantian antara Merah, Hijau, dan Biru. Fitur paling rapi tentang LED RGB WS2812 ini adalah mereka dapat 'dirantai bunga aster' dengan cukup mudah untuk membuat strip panjang dan susunan yang berisi banyak LED ini. Pada langkah selanjutnya kami melakukan ini dengan 3 papan yang telah kami siapkan.

Langkah 5: Membuat Strip LED RGB

Membuat Strip LED RGB
Membuat Strip LED RGB
Membuat Strip LED RGB
Membuat Strip LED RGB

Sirkuit driver LED tertanam (WS2811) memungkinkan 'daisy-chaining' satu LED ke LED berikutnya hanya menggunakan 1 jalur data (!). Dengan menghubungkan Output Data dari satu WS2812 ke Input Data yang lain, kita dapat mengontrol kecerahan dan warna seluruh array LED hingga 500 di antaranya di Arduino! Tentu saja, untuk menggerakkan banyak LED ada beberapa pertimbangan yang harus diperhatikan: - Setiap piksel menarik hingga 60mA (putih pada kecerahan penuh mengharuskan semua LED menyala, setiap gambar ~20mA). - Arduino akan memaksimalkan RAM-nya dengan menggerakkan 500 LED pada kecepatan refresh 30 Hz. - Untuk menghubungkan dua papan bersama-sama, pemisahan maksimum yang disarankan adalah 6" untuk menghindari penurunan daya, dan kerusakan data. Dengan pertimbangan ini, kami dapat menggerakkan semua LED menggunakan resolusi warna 24-bit, pada tingkat kecerahan yang konsisten, dan cukup tahan terhadap perubahan pada perubahan daya baterai (kecil). Untuk 'rantai daisy' papan yang kami siapkan untuk Instruksi ini, kami mulai dengan menghubungkan ujung betina dari satu ke ujung jantan yang lain dari dua papan dengan kanan- header sudut. Kemudian, dengan papan Arduino kami terputus dari Daya dan USB, kami menempatkan ujung jantan dari rantai dua papan pada papan tempat memotong roti tanpa solder. Kami memastikan bahwa pin sejajar dengan yang ada di Papan Breakout WS2812 yang terhubung ke papan tempat memotong roti sudah. Penjajaran seperti itu akan memiliki pin VCC dan GND dari papan tajuk lurus dan rantai pada baris papan tempat memotong roti yang sama. Kami menempatkan rantai dua papan di dekat ujung Papan Breakout ketiga yang berlawanan dengan kapasitor. A setelah semuanya terhubung, kita dapat menjalankan Arduino IDE dan menggunakan Editor Teks untuk mengubah definisi "#define NUM_LEDS 1" menjadi "#define NUM_LEDS 3". Setelah menghubungkan board kembali ke Power dan/atau USB, kita dapat mengupload program baru… dan… BAM! Ketiga LED harus berkedip begitu saja!

Langkah 6: Ke Dalam Kegelapan, Biarkan Terang

Dalam Kegelapan, Biarlah Terang!
Dalam Kegelapan, Biarlah Terang!
Dalam Kegelapan, Biarlah Terang!
Dalam Kegelapan, Biarlah Terang!

Instruksi ini dengan cepat menunjukkan kepada Anda cara menggunakan WS2812 RGB LED yang telah disolder ke papan breakout kecil. Kami menggunakan Arduino untuk mengontrol kecerahan dan warna LED. Satu hal yang sedikit mengecewakan adalah bahwa kode yang kami gunakan membuat semua LED berkedip sekaligus, dengan intensitas dan warna yang sama. Mode operasi ini tidak menunjukkan potensi penuh dari driver LED 'pintar' (WS2811) yang disematkan dalam paket ini. Jadi, mari kita coba modifikasi berikut pada kode aslinya. Seperti sebelumnya, Anda akan mengunduh dan mengekstrak file, lalu membuka firmware untuk dimuat ke Arduino (firmware > effects > effects.ino). Semua file yang diperlukan untuk demo ini disertakan sehingga tidak perlu menambahkan perpustakaan pihak ketiga; kode harus dikompilasi tanpa modifikasi apa pun --- itu sudah diatur untuk menangani 3 LED. Sekarang terserah imajinasi Anda untuk merancang proyek berikutnya di mana LED RGB yang sangat berguna dan ringkas ini dapat menyinari lampunya. Jangan ragu untuk memposting beberapa kreasi Anda sendiri menggunakan WS2812 di bagian komentar!

Direkomendasikan: