Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Buat dan Program Animasi Matriks LED RGB WS2812 8x8 & 16x16 dengan Arduino dan Excel

Komponen dan Perlengkapan

Buat dan Program Animasi Matriks LED RGB WS2812 8x8 & 16x16 dengan Arduino dan Excel
Arduino UNO
×1
Matriks LED RGB WS2812 8x8
×1
Buat dan Program Animasi Matriks LED RGB WS2812 8x8 & 16x16 dengan Arduino dan Excel
Kabel Jumper Machan/Femina
Hitam-Gnd, Merah-5v, Hijau-Data
×3
Buat dan Program Animasi Matriks LED RGB WS2812 8x8 & 16x16 dengan Arduino dan Excel
Baterai 9V (Generik)
×1
Buat dan Program Animasi Matriks LED RGB WS2812 8x8 & 16x16 dengan Arduino dan Excel
Konektor Jack Baril 9V
×1
Buat dan Program Animasi Matriks LED RGB WS2812 8x8 & 16x16 dengan Arduino dan Excel
Header Machan 5 Posisi – 1 Baris – Panjang (0,1")
Hanya tiga pin yang diperlukan
×1

Alat dan Mesin yang Diperlukan

Buat dan Program Animasi Matriks LED RGB WS2812 8x8 & 16x16 dengan Arduino dan Excel
Pakuin (Generik)
Buat dan Program Animasi Matriks LED RGB WS2812 8x8 & 16x16 dengan Arduino dan Excel
Kabel Solder, Tanpa Timbal

Tentang Proyek Ini

Saat pertama kali membeli matriks LED RGB WS2812 8x8, saya harap dapat mengaddressnya sebagai sistem koordinat XY tradisional. Sebaliknya, 64 LED dirangkaian serangkaian menjadi delapan baris delapan. Saya menemukan bahwa utilitas Excel Kevin Darrah, yang awalnya dirancang untuk matriks 16×16, dapat disesuaikan untuk mengontrol array 8×8. Dengan memodifikasi spreadsheet dan sketsa Arduino yang menyertainya, saya menciptakan alat serbaguna yang memungkinkan Anda memprogram animasi LED tanpa library eksternal.

Buku kerja Excel yang diperbarui, LED_Utility.xlsm, sekarang mendukung:

  • Penugasan RGB individual untuk setiap LED.
  • Perubahan properti dinamis melalui skrip VBA.
  • Pemindahan XY untuk mensimulasikan gerakan.
  • Paleta bawaan untuk pemilihan warna cepat.
  • Dukungan dual untuk matriks 8×8 dan 16×16.

Di bawah Anda akan menemukan instruksi langkah demi langkah untuk membangun hardware, mengonfigurasi utilitas Excel, dan mengunggah sketsa Arduino. Setiap proyek membangun pada yang terakhir, memperkenalkan konsep seperti loop, kondisional, dan fungsi modular.

Rangkap Hardware

Pasang matriks 8x8 ke Arduino UNO menggunakan header 5-pin:

  1. Pasang DIN ke pin 8 pada Arduino.
  2. Hubungkan +5V ke pin 5V.
  3. Ground ke pin GND.
Buat dan Program Animasi Matriks LED RGB WS2812 8x8 & 16x16 dengan Arduino dan Excel

Untuk pengaturan ini, koordinat (0,0) merujuk ke sudut kiri atas matriks.

Ringkasan Utilitas Excel

Buka LED_Utility.xlsm – berisi tiga lembar:

  • Eight – antarmuka matriks 8×8.
  • Sixteen – antarmuka matriks 16×16.
  • ColMap – referensi praktis dari kode RGB umum.

Buku kerja disetel ke mode read-only secara default untuk melindungi pekerjaan Anda. Gunakan File → Save As setelah menghasilkan kode untuk melestarikan desain Anda.

Buat dan Program Animasi Matriks LED RGB WS2812 8x8 & 16x16 dengan Arduino dan Excel

Fitur utama pada lembar Eight:

  • Show – menampilkan nilai RGB untuk sel yang dipilih (0–255).
  • Var Map – menerima input numerik atau variabel tetapi tidak menunjukkan output.
  • Wrap Map – menambahkan fungsi modulus untuk menangani overflow koordinat dan mendukung variabel untuk digunakan nanti.
  • Clear – mengosongkan kedua grid input.

Setiap tombol menghasilkan blok kode C++ yang Anda salin ke sketsa Arduino. Kode diformat untuk fungsi kustom mapLEDXY(), yang mengonversi koordinat XY ke indeks LED yang sesuai.

Sketsa Arduino

Sketsa inti (LED_Arduino.ino) berisi elemen berikut:

// Pin definition #define WS2812_pin 8 // Total LED count #define numberOfLEDs 64 // RGB buffer (3 bytes per LED) byte RGB[192]; // Forward declarations void RGB_update(int LED, byte RED, byte GREEN, byte BLUE); void mapLEDXY(int x, int y, byte RED, byte GREEN, byte BLUE); void clearLEDs();

Rutinitas mapLEDXY() memetakan pasangan koordinat ke array linial, mengingat pola kabel zig-zag yang umum pada matriks WS2812.

Setelah menyalin kode yang dihasilkan ke dalam fungsi loop(), unggah sketsa. Matriks akan merespons segera kepada instruksi.

Proyek 1 – Persegi Merah Statis

Buat persegi merah 3×3 di koordinat (2,2) hingga (4,4). Di Excel, sel yang sesuai diatur ke 255 untuk merah dan 0 untuk hijau/biru. Salin kode yang dihasilkan ke baris 40 sketsa:

mapLEDXY(2,2,255,0,0);mapLEDXY(2,3,255,0,0);mapLEDXY(2,4,255,0,0); mapLEDXY(3,2,255,0,0);mapLEDXY(3,3,255,0,0);mapLEDXY(3,4,255,0,0); mapLEDXY(4,2,255,0,0);mapLEDXY(4,3,255,0,0);mapLEDXY(4,4,255,0,0);

Unggah dan lihat persegi menyala. Cobalah dengan mengosongkan grid, mengubah warna, atau menambahkan batas.

Proyek 2 – Persegi Dua Warna

Duplikat sketsa sebagai Colour_Sq.ino dan modifikasi lembar Excel untuk membuat persegi kedua yang lebih besar. Gunakan tombol Show untuk menghasilkan kode dan tempelkan ke sketsa. Tambahkan sederhana delay dan clearLEDs() untuk bergantian antara kedua bentuk.

Proyek 3 – Persegi Bertumbuh

Dalam sketsa Grow.ino, desain persegi dalam yang lebih kecil dan dielilingi dengan batas pilihan Anda. Hapus nilai persegi dalam, buat kode luar, dan tempelkan kedua blok ke sketsa. Hasilnya adalah animasi persegi yang berkembang dan menyusut.

Proyek 4 – Animasi Spiral

Untuk pola kompleks, enkapsulasi setiap frame dalam fungsi terpisah dan panggil dari loop(). Contoh Spiral.ino menggunakan lima fungsi pembantu untuk membangun spiral 5 lapis. Pendekatan modular ini menjaga loop utama tetap ringkas dan membuat edit di masa depan mudah.

Proyek 5 – Loop Kecerahan Variabel

Perkenalkan loop for untuk menganimasikan kecerahan:

for (int r=0; r<256; r++) { mapLEDXY(3,3,r,0,0);mapLEDXY(3,4,r,0,0); mapLEDXY(4,3,r,0,0);mapLEDXY(4,4,r,0,0); RGB_update(-1,0,0,0); delay(50); } for (int r=255; r>=0; r--) { mapLEDXY(3,3,r,0,0);mapLEDXY(3,4,r,0,0); mapLEDXY(4,3,r,0,0);mapLEDXY(4,4,r,0,0); RGB_update(-1,0,0,0); delay(50); }

Persegi memudar naik dan turun secara otomatis.

Proyek 6 – Batas Memudar

Gabungkan loop for dengan variabel g bersama untuk memudar batas sekitar:

for (int g=0; g<256; g++) { b=g; mapLEDXY(...); // sel batas RGB_update(-1,0,0,0); delay(50); } for (int g=255; g>=0; g--) { b=g; mapLEDXY(...); // sel batas RGB_update(-1,0,0,0); delay(50); }

Di sini saluran biru menjejak hijau untuk menciptakan fade yang mulus.

Proyek 7 – Transisi Warna

Gunakan pernyataan if untuk mengubah sel batas tengah dari hijau menjadi kuning setelah ambang batas tercapai:

for (int r=0; r<256; r++) { g=r; if (g>64) { g=65; l=r; } mapLEDXY(...); // sel RGB_update(-1,0,0,0); delay(50); }

Bereksperimen dengan ambang batas yang berbeda untuk efek yang bervariasi.

Proyek 8 – Panah Bergerak

Buat panah bergerak dengan memparameterisasi koordinat X:

for (int x=0; x<8; x++) { mapLEDXY((x+0)%8,3,0,255,255); mapLEDXY((x+1)%8,1,255,128,128); mapLEDXY((x+1)%8,3,0,255,255); mapLEDXY((x+1)%8,5,255,128,128); mapLEDXY((x+2)%8,2,255,128,128); mapLEDXY((x+2)%8,3,0,255,255); mapLEDXY((x+2)%8,4,255,128,128); mapLEDXY((x+3)%8,3,255,128,128); RGB_update(-1,0,0,0); delay(100); }

Gunakan fitur Wrap Map di spreadsheet untuk menangani overflow koordinat.

Penggunaan Matriks 16×16

Semua konsep di atas dapat diterapkan langsung ke matriks 16×16. Ganti LED_Arduino.ino dengan LED_Arduino16.ino dan beralih ke lembar Sixteen di buku kerja. Penyesuaian yang diperlukan adalah definisi numberOfLEDs dan perhitungan RGBlocation dalam mapLEDXY().

Ekstensi & Tips

Meskipun panduan ini difokuskan pada array 8×8 dan 16×16, metodologi yang sama berlaku untuk ukuran lain (misalnya, 8×32). Untuk setiap ukuran baru, perbarui konstanta numberOfLEDs dan modifikasi perhitungan indeks agar cocok dengan pola kabel matriks. Simpan buku kerja dalam mode read-only untuk menghindari kehilangan kode kustom secara tidak sengaja. Pertimbangkan untuk menggunakan papan yang lebih kecil, seperti Arduino Nano, jika konsumsi daya menjadi perhatian.

Proses manufaktur

  1. Panel Kontrol Simulator Penerbangan 2020 Arduino Nano – Tampilan LCD & CDI
  2. Panel Saklar & LED Berbasis Arduino untuk Microsoft Flight Simulator 2020
  3. Buat dan Program Animasi Matriks LED RGB WS2812 8x8 & 16x16 dengan Arduino dan Excel
  4. Mengamankan IoT Global: Tiga Langkah Esensial
  5. 3 Tren Manufaktur Digital Teratas yang Membentuk Tahun 2020
  6. 3 Strategi Teratas untuk UMKM Membangun Bisnis Secara Internasional
  7. Tiga Pelajaran Esensial yang Harus Dipelajari Eceran di Tengah Gangguan Berkelanjutan Sepanjang Tahun
  8. Bangun Robot Pergi Pergi – Kit Starter Arduino Mudah untuk Anak-anak
  9. 3 Tips Esensial untuk Pemeliharaan & Keselamatan Peralatan Industri
  10. Panduan Esensial: 3 Strategi Terbukti untuk Membeli Peralatan Industri Berat