APA 106 - programowalna dioda RGB
Dioda APA106 to szczególny programowalny rodzaj diody RGB. Umożliwia ona sterowanie każdą diodą z szeregu za pomocą tylko jednego przewodu sterującego. Do tego każda dioda może mieć indywidualnie ustawiony kolor według własnych upodobań.
- zasilanie 5V
- możliwość sterowania za pomocą 1 przewodu szeregu LEDów
- możliwość sterowania pojedynczą diodą w szeregu
- PWM dla każdego koloru 8bit
- możliwość łączenia w diód szereg
Piny diody
Dioda posiada 4 piny:
- DIN - Data In
- Zasilanie (5V)
- Masa (GND)
- DOUT - Data Out
DIN łączymy z DOUT poprzedniej diody lub ze sterownikiem.
Schemat Podłączenia do Arduino Nano
Pierwszą diodę w szeregu podłączamy pinem DIN do kontrolera (np. Arduino Nano), a pozostałe łączymy szeregowo z poprzednimi. Pin DIN następnej diody powinien łączyć się z pinem DOUT diody poprzedniej. Pin DOUT ostatniej diody pozostaje wolny. Warto skorzystać z zewnętrznego zasilania diód, aby nie obciążać zbytnio Arduino.
Sterowanie szeregiem odbywa się przez pin DIN diody pierwszej.
Przykład kodu programu
Musimy zaimportować bibliotekę NeoPixel.
#include <Adafruit_NeoPixel.h>
const uint8_t LICZBA_DIOD_RGB = 8;
const uint8_t PIN_GPIO = 6;
long i;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(LICZBA_DIOD_RGB, PIN_GPIO, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
strip.show();
}
void loop()
{
i = i + 1;
for (int d = 0; d < LICZBA_DIOD_RGB; d++) {
int G = sin((float)(i - d * 250) / 250.0) * 100 + 100;
int B = cos((float)(i - d * 250) / 250.0) * 100 + 100;
strip.setPixelColor(d, 0, G , B, 0);
}
strip.show();
}
Wynik programu
W wyniku działania powyższego programu otrzymujemy efekt fali świetlnej.
Datasheet