I dag vil vi lave noget simpelt, så jeg vælger M5Stack Unit NeoHEX. Det er et begynder-venligt produkt. Lad os gøre det nu.
Jeg vil gerne bruge M5Stack ATOM Lite som en mikrokontroller, det er et lille ESP32 Pico chip-produkt, inkluderer 4MB SPI flash-hukommelse, det har også WiFi ombord, så vi nemt kan forbinde til vores home assistant-system.
Tilslut
Først og fremmest bruger vi Grove-kablet til at forbinde ATOM Lite og NeoHEX sammen på denne måde:
Derefter forbinder vi ATOM Lite og vores computer.
Hvis du ikke ved, hvordan man uploader kode til M5Stack, så tjek disse artikler først:
Kode
Åbn din Arduino IDE. Ved du ikke, hvordan man bruger Arduino IDE? Tjek dette:
Biblioteker vi har brug for:
-
Inkluder biblioteker
#include
#include "FastLED.h"
-
Definer hardware
#define Neopixel_PIN_26 26
#define Neopixel_PIN_32 32
#define NUM_LEDS 37
-
Lysstyrke
CRGB leds[NUM_LEDS];
int brightness = 128; //50% lysstyrke, 0-255
-
Opsætning
void setup() {
M5.begin(true, false, true); // Initialiser M5Atom uden Serial, I2C og LED
M5.dis.drawpix(0, CRGB::Black); // Sluk for den indbyggede LED
// Initialize LEDs on both pins
FastLED.addLeds(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
FastLED.addLeds(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
FastLED.setBrightness(64);
}
-
Løkke
void loop() {
// Define the arrow pattern for your custom layout
int arrowPattern[37] = {
0, 0, 0, 0, // Række 1: 4 LED'er
0, 0, 0, 1, 0, // Række 2: 5 LED'er
0, 0, 0, 0, 1, 0, // Række 3: 6 LED'er
0, 1, 1, 1, 1, 1, 0, // Række 4: 7 LED'er
0, 0, 0, 0, 1, 0, // Række 5: 6 LED'er
0, 0, 0, 1, 0, // Række 6: 5 LED'er
0, 0, 0, 0 // Række 7: 4 LEDs
};
for (int i = 0; i < NUM_LEDS; i++) {
if (arrowPattern[i] == 1) {
leds[i] = CRGB::Red; // Sæt LED til rød
} else {
leds[i] = CRGB::Blac
k; // Sluk LED
}
}
FastLED.show();
delay(500); // Hold pilen vist
}
Resultater
Det virkede, en rød pil.
Opgradering
Mønster
Se på denne del i koden:
void loop() {
// Define the arrow pattern for your custom layout
int arrowPattern[37] = {
0, 0, 0, 0, // Række 1: 4 LED'er
0, 0, 0, 1, 0, // Række 2: 5 LED'er
0, 0, 0, 0, 1, 0, // Række 3: 6 LED'er
0, 1, 1, 1, 1, 1, 0, // Række 4: 7 LED'er
0, 0, 0, 0, 1, 0, // Række 5: 6 LED'er
0, 0, 0, 1, 0, // Række 6: 5 LED'er
0, 0, 0, 0 // Række 7: 4 LEDs
};
Erstat 0 med 1 for at lave dit eget mønster
Farve
Se på denne del:
for (int i = 0; i < NUM_LEDS; i++) {
if (arrowPattern[i] == 1) {
leds[i] = CRGB::Red; // Sæt LED til rød
} else {
leds[i] = CRGB::Black; // Sluk LED
}
}
Skift til din yndlingsfarve
Hvis du vil have RGB-farve, brug denne kode:
for (int i = 0; i < NUM_LEDS; i++) {
if (arrowPattern[i] == 1) {
leds[i] = CHSV((millis() / 10) + (i * 10), 255, brightness); // RGB-farve baseret på tid
} else {
leds[i] = CRGB::Black; // Sluk LED
}
}
Det ser sådan ud:
Så sjovt, få din egen NeoHEX lige nu, skynd dig!
✅ Tilmeld dig vores nyhedsbrev for de seneste opdateringer om banebrydende AIoT-løsninger og eksklusive produkt-rabatter!
✅ Følg os på X / LinkedIn for at holde forbindelsen til kommende meetups og banebrydende IoT-projekter!
✅ Deltag i vores WhatsApp AIoT Hero Community for at netværke med AIoT-professionelle og dele dine innovative idéer!