Tänään haluamme tehdä jotain yksinkertaista, joten valitsin M5Stack Unit NeoHEXin. Se on aloittelijaystävällinen tuote. Tehdään se nyt.
Haluan käyttää M5Stack ATOM Litea mikrokontrollerina, tämä on pieni ESP32 Pico -piirituote, sisältää 4MB SPI-flash-muistia, siinä on myös sisäänrakennettu WiFi, joten voimme helposti yhdistää sen kotiautomaatiojärjestelmäämme.
Yhdistä
Ensinnäkin käytämme Grove-kaapelia yhdistämään ATOM Liten ja NeoHEXin näin:
Sen jälkeen yhdistämme ATOM Liten ja tietokoneemme.
Jos et tiedä, miten koodi ladataan M5Stackiin, tutustu ensin näihin artikkeleihin:
Koodi
Avaa Arduino IDE:si. Etkö tiedä, miten Arduino IDE:tä käytetään? Katso tämä:
Tarvittavat kirjastot:
-
Sisällytä kirjastot
#include
#include "FastLED.h"
-
Määritä laitteisto
#define Neopixel_PIN_26 26
#define Neopixel_PIN_32 32
#define NUM_LEDS 37
-
Kirkkaus
CRGB leds[NUM_LEDS];
int brightness = 128; // 50 % valo, 0-255
-
Asetukset
void setup() {
M5.begin(true, false, true); // Alusta M5Atom ilman Serial, I2C ja LED
M5.dis.drawpix(0, CRGB::Black); // Sammuta laudan LED
// Initialize LEDs on both pins
FastLED.addLeds(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
FastLED.addLeds(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
FastLED.setBrightness(64);
}
-
Silmukka
void loop() {
// Define the arrow pattern for your custom layout
int arrowPattern[37] = {
0, 0, 0, 0, // Rivi 1: 4 LEDiä
0, 0, 0, 1, 0, // Rivi 2: 5 LEDiä
0, 0, 0, 0, 1, 0, // Rivi 3: 6 LEDiä
0, 1, 1, 1, 1, 1, 0, // Rivi 4: 7 LEDiä
0, 0, 0, 0, 1, 0, // Rivi 5: 6 LEDiä
0, 0, 0, 1, 0, // Rivi 6: 5 LEDiä
0, 0, 0, 0 // Rivi 7: 4 LEDiä
};
for (int i = 0; i < NUM_LEDS; i++) {
if (arrowPattern[i] == 1) {
leds[i] = CRGB::Red; // Aseta LED punaiseksi
} else {
leds[i] = CRGB::Blac
k; // Sammuta LED
}
}
FastLED.show();
delay(500); // Pidä nuoli näkyvissä
}
Tulokset
Se toimi, punainen nuoli.
Päivitys
Kaava
Katso tätä osaa koodissa:
void loop() {
// Define the arrow pattern for your custom layout
int arrowPattern[37] = {
0, 0, 0, 0, // Rivi 1: 4 LEDiä
0, 0, 0, 1, 0, // Rivi 2: 5 LEDiä
0, 0, 0, 0, 1, 0, // Rivi 3: 6 LEDiä
0, 1, 1, 1, 1, 1, 0, // Rivi 4: 7 LEDiä
0, 0, 0, 0, 1, 0, // Rivi 5: 6 LEDiä
0, 0, 0, 1, 0, // Rivi 6: 5 LEDiä
0, 0, 0, 0 // Rivi 7: 4 LEDiä
};
Korvaa 0 arvolla 1 tehdäksesi oman kuviosi
Väri
Katso tätä osaa:
for (int i = 0; i < NUM_LEDS; i++) {
if (arrowPattern[i] == 1) {
leds[i] = CRGB::Red; // Aseta LED punaiseksi
} else {
leds[i] = CRGB::Black; // Sammuta LED
}
}
Vaihda suosikkivärisi
Jos haluat RGB-värin, käytä tätä koodia:
for (int i = 0; i < NUM_LEDS; i++) {
if (arrowPattern[i] == 1) {
leds[i] = CHSV((millis() / 10) + (i * 10), 255, brightness); // RGB-väri ajan perusteella
} else {
leds[i] = CRGB::Black; // Sammuta LED
}
}
Se näyttää tältä:
Niin hauskaa, hanki oma NeoHEXisi heti, kiirehdi!
✅ Tilaa uutiskirjeemme saadaksesi viimeisimmät päivitykset huipputason AIoT-ratkaisuista ja eksklusiivisista tuotetarjouksista!
✅ Seuraa meitä X:ssä / LinkedInissä pysyäksesi ajan tasalla tulevista tapaamisista ja huippuluokan IoT-projekteista!
✅ Liity WhatsApp AIoT Hero Community -yhteisöömme verkostoituaksesi AIoT-ammattilaisten kanssa ja jakaaksesi innovatiivisia ideoitasi!