Jako zadanie domowe postanowiłem zrobić koguty policyjne z wykorzystaniem linijki i dwóch diod led, mniejsza o to, wyszło tak jak chciałem, postanowiłem więc trochę zmodyfikować ten program i dodać brzęczyk (prowizorka syreny policyjnej ), i tutaj nasuwają się pytania:
1. Jak to zrobić żeby brzęczyk wydawał jakąś tam konkretną melodyjkę podczas działania linijki, niezależnie od niej. Chodzi o to aby linijka i brzęczyk działały niezależnie od siebie, linijka pokazuje swoje podczas gdy brzęczyk ciągle gra. Pytanie dotyczy również tych dwóch diod, które chcę żeby świeciły w na swój sposób.
2. Dołączamy switcha. Jak zrobić aby po jego wciśnięciu program się uruchamiał (diody świecą, brzęczyk gra) , zaś po kolejnym wduszeniu program się wyłączał (nic nie świeci i nie gra).
3. Jest jakiś sposób na wyłączenie arduino gdy jest podłączone do zasilania?
Załączam kod który obsługuje tylko linijkę WS2812.
#include <Adafruit_NeoPixel.h> //Dołączenie biblioteki
//Konfiguracja linijki
Adafruit_NeoPixel linijka = Adafruit_NeoPixel(8, A0, NEO_GRB + NEO_KHZ800);
void setup() {
linijka.begin(); //Inicjalizacja
linijka.show();
}
void loop()
{
for(int i=0; i<8; i++){ //Kolor czerwony na całej linijce
linijka.setPixelColor(i, linijka.Color(25,0 , 0));
}
linijka.show();
for(int i=0;i<8;i++){ //Niebieski impuls do góry
if(i==0){
linijka.setPixelColor(i, linijka.Color(0, 0, 200));
linijka.show();
}
else if(i==8){
linijka.setPixelColor(i, linijka.Color(0, 0, 200));
linijka.setPixelColor(i-1, linijka.Color(25, 0, 0));
linijka.show();
}
else{
linijka.setPixelColor(i, linijka.Color(0, 0, 200));
linijka.setPixelColor(i-1, linijka.Color(25, 0, 0));
linijka.show();
delay(50);
}
}
for(int i=7;i>0;i--){ //Niebieski impuls w dół
linijka.setPixelColor(i-1, linijka.Color(0, 0, 200));
linijka.setPixelColor(i, linijka.Color(25, 0, 0));
linijka.show();
delay(50);
}
}