Miganie dioda RGB, 1Wire.

Masz problem z Arduino? Tutaj możesz szukać pomocy.
ODPOWIEDZ
bercow
Młodszy majsterkowicz
Posty: 9
Rejestracja: 14 mar 2016, 20:08

Miganie dioda RGB, 1Wire.

Post autor: bercow » 14 mar 2016, 20:13

Wiam.

Steruje dioda z pin 6 za pomoca biblioteki NeoPixel, a za pomoca pin 7 chce robic blink. I tak po kolei, ustawiam kolor, podaje 5V na lede, wysylam dane o swiecenia, wylacze lede i od nowa.

Wszytsko dziala, ale tylko jeden raz, czyli reset dioda zielona, a drugie i nastepne migniecie juz robi sie rozowa. W czym tkwi problem, dlaczego dioda nie moze utrzymac koloru ?

Kod: Zaznacz cały

  #include <Adafruit_NeoPixel.h>
   
  #define PIN 6 //dioda rgb
  #define LICZBADIOD 1
   
  Adafruit_NeoPixel pixels = Adafruit_NeoPixel(LICZBADIOD, PIN, NEO_GRB + NEO_KHZ800);
   
  void setup()
  {
    pixels.begin(); 
    pinMode(7, OUTPUT); //sterowanie dioda on/off
  }
   
  void loop()
  {    
         
      pixels.setPixelColor(0, 255, 0, 0); 
      digitalWrite(7, HIGH);   //dioda na on
      pixels.show(); 
                    
      delay(500); 
      digitalWrite(7, LOW);   //dioda na off
      delay(500);
    
  }

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


bercow
Młodszy majsterkowicz
Posty: 9
Rejestracja: 14 mar 2016, 20:08

Re: Miganie dioda RGB, 1Wire.

Post autor: bercow » 15 mar 2016, 01:10

google - > diody-led-ze-sterownikem-ws2811-ws2812

255,0,0 powinno byc czerwone, RGB, skad zielony, no nie wiem
why 2 piny.

dioda RGB 1 wire ma cztery piny, 5V, masa, sterowanie ( to okreslenie koloru), i polaczenie z nastena dioda. Jednego pinu uzywam do komunikacji, a drugiego do wylaczenia zzasilanai na diode, aby zgasla.
bercow
Młodszy majsterkowicz
Posty: 9
Rejestracja: 14 mar 2016, 20:08

Re: Miganie dioda RGB, 1Wire.

Post autor: bercow » 15 mar 2016, 11:55

Zgadza sie, dlatego

Kod: Zaznacz cały

 pixels.setPixelColor(0, 255, 0, 0); 
To dioda numer zero, a kolor RED na 255 i reszta zero. Nie zgadza sie kolor, a potem zaczyna sie zmieniac. Kolor moge nawet sobie odpuscic, bardziej martwi mnie zmiana.

To taki gotowy kod, z jednej z www, dla 16 LED wraz z opisem.

Kod: Zaznacz cały

    #include <Adafruit_NeoPixel.h>
     
    #define PIN 6
    #define LICZBADIOD 16
     
    Adafruit_NeoPixel pixels = Adafruit_NeoPixel(LICZBADIOD, PIN, NEO_GRB + NEO_KHZ800);
     
    void setup()
    {
      pixels.begin(); // Inicjalizacja biblioteki
    }
     
    void loop()
    {
      for(int i=0; i<LICZBADIOD; i++)
      {
        pixels.setPixelColor(i, 255, 0, 0); // Dioda "i" oraz skladowe R=255 G=0 B=0
        pixels.show(); // Wysylamy dane do lancucha
        delay(500); // Opoznienie 500ms przed zaswieceniem kolejnej diody
      }
    }
bercow
Młodszy majsterkowicz
Posty: 9
Rejestracja: 14 mar 2016, 20:08

Re: Miganie dioda RGB, 1Wire.

Post autor: bercow » 15 mar 2016, 18:13

Co do koloru, rozwiazanie jest proste :)
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(LICZBADIOD, PIN, NEO_GRB + NEO_KHZ800);

Ale nadal nie moge poradzic sobie z ta zmiana kolorow.
thetox
Młodszy majsterkowicz
Posty: 14
Rejestracja: 16 mar 2016, 09:33

Re: Miganie dioda RGB, 1Wire.

Post autor: thetox » 16 mar 2016, 09:41

Gdzie podpinasz pin7 na diodzie? Diody 1wire mają 3 wejścia 1 wyjście. Miganie możesz zrobić programowo.
bercow
Młodszy majsterkowicz
Posty: 9
Rejestracja: 14 mar 2016, 20:08

Re: Miganie dioda RGB, 1Wire.

Post autor: bercow » 18 mar 2016, 04:47

W bibliotece jest gotowa funkcja clear. Calosc dla migajacej diody powinna wygladac tak.

Kod: Zaznacz cały

#include <Adafruit_NeoPixel.h>
 
#define PIN 6
#define LICZBADIOD 1
 
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(LICZBADIOD, PIN, NEO_RGB + NEO_KHZ800);
 
void setup()
{
  pixels.begin(); // Inicjalizacja biblioteki
}
 
void loop()
{
    pixels.setPixelColor(0, 255, 0, 0); // Dioda "i" oraz skladowe R=255 G=0 B=
    pixels.show(); // Wysylamy dane    
    delay(500);              // wait for a second
    pixels.clear(); //czyszczenie
    pixels.show(); // Wysylamy dane
    delay(500);              // wait for a second
}
ODPOWIEDZ

Strony partnerskie: