Idag vill vi göra något enkelt, så jag väljer M5Stack Unit NeoHEX. Det är en nybörjarvänlig produkt. Låt oss göra det nu.
Jag vill använda M5Stack ATOM Lite som en mikrokontroller, detta är en liten ESP32 Pico-chipprodukt, inkluderar 4MB SPI flashminne, den har också WiFi ombord, så vi kan enkelt ansluta till vårt Home Assistant-system.
Anslut
Först och främst använder vi Grove-kabeln för att koppla ihop ATOM Lite och NeoHEX så här:
Efter det kopplar vi ATOM Lite till vår dator.
Om du inte vet hur man laddar upp kod till M5Stack, kolla dessa artiklar först:
Kod
Öppna din Arduino IDE. Vet du inte hur man använder Arduino IDE? Kolla detta:
Bibliotek vi behöver:
-
Inkludera bibliotek
#include
#include "FastLED.h"
-
Definiera hårdvara
#define Neopixel_PIN_26 26
#define Neopixel_PIN_32 32
#define NUM_LEDS 37
-
Ljusstyrka
CRGB leds[NUM_LEDS];
int brightness = 128; //50% ljusstyrka, 0-255
-
Installation
void setup() {
M5.begin(true, false, true); // Initiera M5Atom utan Serial, I2C och LED
M5.dis.drawpix(0, CRGB::Black); // Stäng av den inbyggda LED-lampan
// Initialize LEDs on both pins
FastLED.addLeds(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
FastLED.addLeds(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
FastLED.setBrightness(64);
}
-
Loop
void loop() {
// Define the arrow pattern for your custom layout
int arrowPattern[37] = {
0, 0, 0, 0, // Rad 1: 4 lysdioder
0, 0, 0, 1, 0, // Rad 2: 5 lysdioder
0, 0, 0, 0, 1, 0, // Rad 3: 6 lysdioder
0, 1, 1, 1, 1, 1, 0, // Rad 4: 7 lysdioder
0, 0, 0, 0, 1, 0, // Rad 5: 6 lysdioder
0, 0, 0, 1, 0, // Rad 6: 5 lysdioder
0, 0, 0, 0 // Rad 7: 4 LEDs
};
for (int i = 0; i < NUM_LEDS; i++) {
if (arrowPattern[i] == 1) {
leds[i] = CRGB::Red; // Sätt LED till röd
} else {
leds[i] = CRGB::Blac
k; // Stäng av lysdiod
}
}
FastLED.show();
delay(500); // Behåll pilen visad
}
Resultat
Det fungerade, en röd pil.
Uppgradera
Mönster
Titta på den här delen i koden:
void loop() {
// Define the arrow pattern for your custom layout
int arrowPattern[37] = {
0, 0, 0, 0, // Rad 1: 4 lysdioder
0, 0, 0, 1, 0, // Rad 2: 5 lysdioder
0, 0, 0, 0, 1, 0, // Rad 3: 6 lysdioder
0, 1, 1, 1, 1, 1, 0, // Rad 4: 7 lysdioder
0, 0, 0, 0, 1, 0, // Rad 5: 6 lysdioder
0, 0, 0, 1, 0, // Rad 6: 5 lysdioder
0, 0, 0, 0 // Rad 7: 4 LEDs
};
Byt ut 0 mot 1 för att göra ditt eget mönster
Färg
Titta på denna del:
for (int i = 0; i < NUM_LEDS; i++) {
if (arrowPattern[i] == 1) {
leds[i] = CRGB::Red; // Sätt LED till röd
} else {
leds[i] = CRGB::Black; // Stäng av LED
}
}
Byt till din favoritfärg
Om du vill ha RGB-färg, använd denna kod:
for (int i = 0; i < NUM_LEDS; i++) {
if (arrowPattern[i] == 1) {
leds[i] = CHSV((millis() / 10) + (i * 10), 255, brightness); // RGB-färg baserat på tid
} else {
leds[i] = CRGB::Black; // Stäng av LED
}
}
Det ser ut så här:
Så roligt, skaffa din egen NeoHEX nu, skynda dig!
✅ Prenumerera på vårt nyhetsbrev för de senaste uppdateringarna om banbrytande AIoT-lösningar och exklusiva produktdiscounts!
✅ Följ oss på X / LinkedIn för att hålla kontakten inför kommande träffar och banbrytande IoT-projekt!
✅ Gå med i vår WhatsApp AIoT Hero Community för att nätverka med AIoT-proffs och dela dina innovativa idéer!