• 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
Przełącznik efektów
#1
Witam, proszę o podpowiedź w następującej kwestii.
Chciałem zrobić oświetlenie z wykorzystaniem funkcji ze strony https://www.tweaking4all.com/hardware/ar...p-effects/
Zaimportowałem kod dwóch efektów:
1. LEDStrip Effect – Rainbow Cycle
2. LEDStrip Effect – Snow Sparkle


Chciałbym sterować efektami tak, że kolejne naciśnięcie przycisku będzie włączało następny efekt

Kod:
void loop()
{
if (digitalRead(7) == LOW) { //Jeśli przycisk wciśnięty

   stan++;}

switch(stan) {
   case 1:
   rainbowCycle(20); //wywolanie pierwszego efektu
   break;
   
   case 2:
   SnowSparkle(0x10, 0x10, 0x10, 40, random(1,100)); //wywolanie drugiego efektu
   break;
   
  }

Czy to powinno działać? Obecnie mam taką sytuację, że przy pierwszym wciśnięciu przycisku na pinie 7 włącza się pierwszy efekt, ale kolejnego już nie mogę załączyć?
Może jest jakiś inny sposób realizacji tego zadania. Proszę o pomoc.

Pewnie źle sformułowałem pytanie. Proszę tylko o informacje czy jest to możliwe wówczas będę szukał.
Chciałbym, aby funkcja w pierwszym case wykonywała się do czasu gdy case nie zmieni się na 2. Funkcja w case 1 wykonuje się ciągle i nie wiem jak ją zatrzymać.
Chodzi o prosty przełącznik
zmienna = 1 wykonuje się efekt 1
zmienna = 2 koniec efektu 1 i rozpoczyna się efekt 2
itd.
 
Odpowiedź
#2
To jest możliwe, musisz pilnować by zmienna stan miała wartość tylko 1 lub 2, pamiętaj że liczymy od 0, możesz też dodać case default do wyboru.
Wciśnięcie przycisku powoduje zliczenie go nawet kilka tysięcy razy na sekundę. No tu pewnie nie, bo blokujesz program przechodząc do wykonania efektu, ale jak ma wartość 3 to już go zlicza pierdylion razy bo żaden efekt się nie wykona i tylko zwiększa tą zmienną 'stan'. Powinieneś mieć jakoś obsłużone drganie styków, może być biblioteka debounce2.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości