Przeszukaj forum
Pokazywanie wyników dla tagów 'LED_Strip_RGB'.
Znaleziono 1 wynik
-
Cześć, ostatnio sporo bawię się płytkami "Arduino UNO R4 WiFI" i "Arduino UNO R4 Minima", oraz "Arduino Cloud". W celu testowania chcę zbudować prostą stację pogodową z możliwośćią podglądu parametrów ze smartfona. Stacja będzie korzystać z czujników wilgotności i temperatury DHT22 (to już działa) i ciśnienia BMP280. Lokalnie kontroler "Arduino UNO R4 WiFi" ma podłączony tani pasek LED RGB (40 LED) z Aliexpress do wizualizacji temperatury, wilgotności, cisnienia i predykcji pogody. Każdej z tych danych jest pryporządkowana część paska LED ze zmiennymi kolorami. W tym celu potrzebowałem biblioteki do obsługi programowalnych pasów LED działających z "Arduino UNO R4 WiFI". Okaząło się, że najpopularniesza biblioteka Adafruit "NeoPixel" przeznaczona do tego celu nie działa z architekturą procesora Renesans R4 (z Arduino UNO R4). Znalazłem inna bardzo fajną i bardziej zaawansowaną, lecz nadal prostą w obsłudze bibliotekę o nazwie "FastLED", która bez żadnych zmian działa z płytkami "Arduino UNO R4 xx". Tutaj link do strony Github tej biblioteki: https://github.com/FastLED/FastLED/tree/master . Bibliotekę instalujemy w "ArduinoIDE" w standartdowy sposób (np. dodając rozpakowany folder zip z kodem biblioteki do folderu "libraries" naszego Arduino) - poniżej archiwum z kodem biblioteki: FastLED-master.zip A tutaj link do dokumentacji do tej biblioteki (WiKI): https://github.com/FastLED/FastLED/wiki/Basic-usage Tutaj kod szkicu ArduinoIDE: /// @file RGBSetDemo.ino /// @brief Demonstrates how to create an LED group with CRGBArray /// @example RGBSetDemo.ino #include <FastLED.h> #define NUM_LEDS 40 #define DO_LEDS_PIN 6 CRGBArray<NUM_LEDS> leds; void setup() { FastLED.addLeds<NEOPIXEL,DO_LEDS_PIN>(leds, NUM_LEDS); } void loop(){ static uint8_t hue; for(int i = 0; i < NUM_LEDS/2; i++) { // fade everything out leds.fadeToBlackBy(40); // let's set an led value leds[i] = CHSV(hue++,255,255); // now, let's first 20 leds to the top 20 leds, leds(NUM_LEDS/2,NUM_LEDS-1) = leds(NUM_LEDS/2 - 1 ,0); FastLED.delay(33); } } Te początkowe linie kodu szkicu konfigurują nasz pasek LED: #include <FastLED.h> #define NUM_LEDS 40 #define DO_LEDS_PIN 6 CRGBArray<NUM_LEDS> leds; void setup() { FastLED.addLeds<NEOPIXEL,DO_LEDS_PIN>(leds, NUM_LEDS); } Pierwsza linia #incude <FastLED.h> dołącza bibliotekę do projektu. NUM_LEDS to liczba ledów w pasku RGB - u mnie 40. DO_LEDS_PIN to numer pinu Arduino sterującego paskiem LDE - u mnie 6. Linia z void setup tworzy nasz pasek LED z odpowiednimi parametrami. W pętli loop są modyfikowane kolory świecenia poszczególnych ldiod LED w pasku. Pozdrawiam
