• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Sterowanie Led WS2812B zmiana efektu przyciskiem bez opóźnienia
#1
Witam
Mam pytanie jak ustawić w tym szkicu, żeby zmiana efektu przyciskiem odbywała się bez opóźnienia. Ledy chce tak ustawić, żeby zapalały się co sekundę, ale kiedy ustawie co sekundę to po przyciśnięciu przycisku zmiana następuje po 28s, ponieważ pasek ma 30 diod a program liczy cały ten czas od wcisnięcia przycisku. Czy da się to ustawić, żeby pasek szedł rosnąco co sekundę do końca, a potem przycisk i od razu wraca malejąco co sekundę.


Kod:
#include <Adafruit_NeoPixel.h> // Biblioteka do sterowania diodami
#define PIN            6      // Pin do sterowania diodami ws2812
#define NUMPIXELS      30    // Ilość diod ws2812

Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int licznik = 1;

void przycisk()
{
  delay(200);
  if (digitalRead(2)== LOW)
  {
    licznik++;
   
    if (licznik > 2)
    {
      licznik=1;
    }
  }
 
}

void efekt_1() 
{

  Serial.println("Efekt 1");
  for(int i=0;i <NUMPIXELS ;i++) // Zapalenie stopniowo całego paska na zielono
    {
        strip.setPixelColor(i, 0, 70, 200);
        strip.show();
        delay(1000);
    }


}


void efekt_2() // Zapalanie rosnąco
{
  Serial.println("Efekt 2");
  for(int i=NUMPIXELS;i >0 ;i--) // Gaszenie stopniowo całego paska na zielono
    {
        strip.setPixelColor(i, 0, 0, 0);
        strip.show();
        delay(1000);
    }
}
void setup()
{
  Serial.begin(9600);
  strip.begin(); // Uruchomienie działania biblioteki Adafruit_NeoPixel
  pinMode(2, INPUT);
  attachInterrupt(0, przycisk, FALLING);

 
}


void loop()
{
 

  switch (licznik)
  {
    case 1:
      efekt_1();
      break;

    case 2:
      efekt_2();
      break;
  }
 
 

}
 
Odpowiedź
  


Wiadomości w tym wątku
Sterowanie Led WS2812B zmiana efektu przyciskiem bez opóźnienia - przez brendy - 18-07-2019, 22:49

Skocz do:


Przeglądający: 1 gości