Diody RGB z interfejsem szeregowym

W Nettigo pojawił się nowy wynalazek. Diody RGB z interfejsem szeregowym.

image

Mają one 5 mm średnicy, a ich największą zaletą jest to, że do uzyskania każdej barwy wystarczy jeden pin. To nie wszystko. Tym samym jednym pinem można sterować większą ilością diod.

Diody podłącza się w taki sposób:

image

Od strony płaskiego ścięcia obudowy piny mają następujące znaczenie:

  • Data Out – Wyjście danych. Podłączasz do Data In kolejnych diod, którymi chcesz sterować.
  • Ground – Masa. Podłączasz do GND w Arduino.
  • +5V – Zasilanie. Podłączasz do 5V w Arduino.
  • Data In – Wejście danych. Tu podłączasz dowolny pin cyfrowy Arduino.

Dla każdej barwy RGB (Czerwony, Zielony, Niebieski) dioda ma 256 poziomów jasności. Co daje możliwość uzyskania 16,8 mln barw.

Bibliotekę do sterowania diodami napisali pracownicy Adafruit. Jest ona łątwa w użyciu. Do działania wymaga kontrolera opartego na AVR (Arduino UNO, Leonardo, YUN, Mini Pro, Teensy 2.0, ATtiny) i Arduio IDE.

#include <Adafruit_NeoPixel.h>

#define PIN 2

Adafruit_NeoPixel lamp = Adafruit_NeoPixel(1, PIN, NEO_RGB + NEO_KHZ800);

void setup() {
  lamp.begin();
  lamp.show();
}

void loop() {
  lamp.setPixelColor(0, 0, 0, 0);
  lamp.show();
  delay(1000);
  lamp.setPixelColor(0, 255, 0, 0);
  lamp.show();
  delay(1000);
  lamp.setPixelColor(0, 0, 255, 0);
  lamp.show();
  delay(1000);
  lamp.setPixelColor(0, 0, 0, 255);
  lamp.show();
  delay(1000);
}

Wejście danych “Data In” diody podłączyłem do pinu 2 Arduino.
Program co sekundę świeci innym kolorem diody (Czerwonym, Zielonym i Niebieskim).

Adafruit_NeoPixel lamp = Adafruit_NeoPixel(1, PIN, NEO_RGB + NEO_KHZ800);

Tworzy obiekt “lamp” do sterowania diodami.
Pierwszym argumentem jest ilość diod podłączonych w szereg do sterowania. U mnie jest jedna dioda, więc jest tam wartość 1.

Drugim argumentem jest pin, którym sterujesz diodami. W moim przypadku jest to pin nr 2.

Trzecim argumentem jest konfiguracja podłączonych diod.

lamp.begin();

Ta metoda aktywuje działanie obiektu lamp.

lamp.setPixelColor(0, 0, 0, 0);

Ustawia kolor wybranej diody.
Pierwszym argumentem jest numer diody, której chcesz ustawić kolor. 0 to pierwsza dioda.

Argumenty 2, 3, 4 to jasność składowych kolorów R, G, B. Przjmują one wartości od 0 do 255.

lamp.show();

Ta metoda wysyła dane o ustawionych kolorach do diod.

W Nettigo diody sprzedajemy w zestawach po 5 sztuk. Są one w 2 wersjach. Z przeźroczystą obudową (świecą promieniem do przodu) i dyfuzyjne z obudową w kolorze mlecznym, która się rozświetla.

sprae