Dziś chcemy zrobić coś prostego, więc wybrałem M5Stack Unit NeoHEX. To produkt przyjazny dla początkujących. Zróbmy to teraz.
Chciałbym użyć M5Stack ATOM Lite jako mikrokontrolera, to jest mały produkt z chipem ESP32 Pico, zawiera 4MB pamięci SPI flash, ma również wbudowane WiFi, dzięki czemu możemy łatwo połączyć się z naszym systemem Home Assistant.
Połącz
Przede wszystkim używamy kabla Grove Connect ATOM Lite i NeoHEX razem w ten sposób:
Po tym łączymy ATOM Lite z naszym komputerem.
Jeśli nie wiesz, jak przesłać kod do M5Stack, najpierw sprawdź te artykuły:
Kod
Otwórz swoje Arduino IDE. Nie wiesz, jak korzystać z Arduino IDE? Sprawdź to:
Biblioteki, których potrzebujemy:
-
Dołącz biblioteki
#include
#include "FastLED.h"
-
Zdefiniuj sprzęt
#define Neopixel_PIN_26 26
#define Neopixel_PIN_32 32
#define NUM_LEDS 37
-
Jasność
CRGB diody LED[NUM_LEDS];
int jasność = 128; //50% światła, 0-255
-
Konfiguracja
void setup() {
M5.begin(true, false, true); // Inicjalizuj M5Atom bez Serial, I2C i LED
M5.dis.drawpix(0, CRGB::Black); // Wyłącz wbudowaną diodę LED
// Initialize LEDs on both pins
FastLED.addLeds(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
FastLED.addLeds(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
FastLED.setBrightness(64);
}
-
Pętla
void loop() {
// Define the arrow pattern for your custom layout
int arrowPattern[37] = {
0, 0, 0, 0, // Wiersz 1: 4 diody LED
0, 0, 0, 1, 0, // Wiersz 2: 5 diod LED
0, 0, 0, 0, 1, 0, // Wiersz 3: 6 diod LED
0, 1, 1, 1, 1, 1, 0, // Wiersz 4: 7 diod LED
0, 0, 0, 0, 1, 0, // Wiersz 5: 6 diod LED
0, 0, 0, 1, 0, // Wiersz 6: 5 diod LED
0, 0, 0, 0 // Wiersz 7: 4 diody LED
};
for (int i = 0; i < NUM_LEDS; i++) {
jeśli (arrowPattern[i] == 1) {
leds[i] = CRGB::Red; // Ustaw diodę LED na czerwono
} w przeciwnym razie {
leds[i] = CRGB::Blac
k; // Wyłącz diodę LED
}
}
FastLED.show();
delay(500); // Utrzymaj wyświetlaną strzałkę
}
Wyniki
Zadziałało, czerwona strzałka.
Aktualizacja
Wzór
Spójrz na tę część w kodzie:
void loop() {
// Define the arrow pattern for your custom layout
int arrowPattern[37] = {
0, 0, 0, 0, // Wiersz 1: 4 diody LED
0, 0, 0, 1, 0, // Wiersz 2: 5 diod LED
0, 0, 0, 0, 1, 0, // Wiersz 3: 6 diod LED
0, 1, 1, 1, 1, 1, 0, // Wiersz 4: 7 diod LED
0, 0, 0, 0, 1, 0, // Wiersz 5: 6 diod LED
0, 0, 0, 1, 0, // Wiersz 6: 5 diod LED
0, 0, 0, 0 // Wiersz 7: 4 diody LED
};
Zamień 0 na 1, aby stworzyć własny wzór
Kolor
Spójrz na tę część:
for (int i = 0; i < NUM_LEDS; i++) {
jeśli (arrowPattern[i] == 1) {
leds[i] = CRGB::Red; // Ustaw diodę LED na czerwono
} w przeciwnym razie {
leds[i] = CRGB::Black; // Wyłącz diodę LED
}
}
Zmień swój ulubiony kolor
Jeśli chcesz kolor RGB, użyj tego kodu:
for (int i = 0; i < NUM_LEDS; i++) {
jeśli (arrowPattern[i] == 1) {
leds[i] = CHSV((millis() / 10) + (i * 10), 255, jasność); // Kolor RGB oparty na czasie
} w przeciwnym razie {
leds[i] = CRGB::Black; // Wyłącz diodę LED
}
}
Wygląda to tak:
Tak dużo zabawy, zdobądź własny NeoHEX już teraz, pośpiesz się!
✅ Zapisz się do naszego newslettera po najnowsze informacje o nowoczesnych rozwiązaniach AIoT i ekskluzywnych zniżkach na produkty!
✅ Śledź nas na X / LinkedIn, aby być na bieżąco z nadchodzącymi spotkaniami i nowatorskimi projektami IoT!
✅ Dołącz do naszej Społeczności WhatsApp AIoT Hero , aby nawiązać kontakty z profesjonalistami AIoT i dzielić się swoimi innowacyjnymi pomysłami!