M5Stack RGB Unit: menggunakan dengan M5StickC
|
M5StickC itu sendiri adalah platform pengembangan ESP32 yang sangat lengkap, tetapi lebih banyak LED tentu saja selalu lebih baik! Untungnya, ada banyak add-on yang tersedia yang dapat Anda sambungkan ke port Grove. Salah satu ekstensi tersebut adalah “M5Stack RGB Unit (SK6812)”: modul Grove dengan 3 LED RGB. Jika Anda menginginkan lebih dari 3 LED, Anda dapat menghubungkan beberapa modul ini bersama-sama.
M5StickC dan Arduino IDE
Dalam contoh ini, kami akan memprogram M5StickC dengan pustaka Arduino. Anda dapat membaca cara menginstalnya dan membuatnya sesuai untuk pemrograman M5StickC di artikel sebelumnya “Memprogram M5StickC dengan Arduino IDE“.
Perpustakaan Adafruit Neopixel
Selain perpustakaan M5StickC, Anda juga memerlukan Perpustakaan Neopixel dari Adafruit. Anda dapat mengunduhnya dari GitHub atau menginstalnya langsung di Arduino IDE dengan Manajer Perpustakaan.
Sketsa Sampel M5Stack RGB Unit (SK6812)
Contoh di bawah ini adalah sketsa sederhana seperti “Hello World”. Sketsa ini berasal dari sketsa contoh untuk modul M5Stack.
Poin perhatian utama:
- Pastikan perpustakaan yang benar dimuat:
#include <Adafruit_NeoPixel.h> #include <M5StickC.h>
- Pilih pin yang benar (nomor 32) untuk LED:
#define PIN 32
- Pilih jumlah LED (piksel). Setiap modul RGB Unit memiliki 3 LED. Jadi untuk 1 modul Anda memilih “NUMPIXELS 3”, untuk 2 modul Anda memilih “NUMPIXELS 6”, dll.
#define NUMPIXELS 3
Sisa sketsa sudah cukup jelas. Untuk informasi lebih lanjut tentang menggunakan perpustakaan Neopixel, lihat GitHub Adafruit.
/* RGB Unit on M5StickC basic example For details see https://oneguyoneblog.com Please install library before compiling: AdaFruit NeoPixel library: https://github.com/adafruit/Adafruit_NeoPixel */ #include <Adafruit_NeoPixel.h> #include <M5StickC.h> // Grove pin on the M5StickC #define PIN 32 // Number of LEDs (a.k.a. "Neopixels") #define NUMPIXELS 3 // Setup the NeoPixel library Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int delayval = 1500; // delay for half a second void setup() { M5.begin(); M5.Lcd.print("LED test"); pixels.begin(); // This initializes the NeoPixel library. pixels.show(); // All pixels off } void loop() { pixels.setPixelColor(0, pixels.Color(128, 0, 0)); // Moderately bright red color. pixels.setPixelColor(1, pixels.Color(0, 128, 0)); // Moderately bright green color. pixels.setPixelColor(2, pixels.Color(0, 0, 128)); // Moderately bright blue color. pixels.show(); // This sends the updated pixel color to the hardware. delay(delayval); // Delay for a period of time (in milliseconds) pixels.setPixelColor(0, pixels.Color(128, 128, 128)); pixels.setPixelColor(1, pixels.Color(128, 128, 128)); pixels.setPixelColor(2, pixels.Color(128, 128, 128)); pixels.show(); delay(delayval); }
M5Stack RGB Unit dalam proyek
Di lain waktu, modul LED ini akan digunakan bersama-sama dengan, misalnya, ESP32 Tally light, Grove Beginner Kit untuk Arduino dari Seeed Studio atau proyek Grove untuk Arduino: Thermometer dan Hygrometer. Apakah Anda punya ide bagus atau sudah membuat proyek dengan M5Stack RGB Unit? Beri tahu kami di bagian komentar di bagian bawah halaman ini!