19-03-2020, 19:41
(Ten post był ostatnio modyfikowany: 20-03-2020, 09:04 przez Robson Kerman.)
Witam, program składa się z pięciu diod. Po załączeniu zasilania 3 razy błyskają wszystkie diody i program czeka na wciśniecie przycisku. Po wciśnięciu przycisku zapalają się wszystkie diody na kolor niebieski potem jedna gaśnie i cztery świecą się na zielono --- na koniec zapala się jedna czerwona dioda i po upływie 5 sekund wszystkie diody migają 3 razy na kolor czerwony.
W ten sposób to działa - jednak chciałbym, aby w przypadku naciśnięcia przycisku przed upływem 5 sekund wszystkie diody mignęły 3 razy i program ponownie czekał, aż wciśnie się ponownie przycisk.
Proszę o pomoc.
W ten sposób to działa - jednak chciałbym, aby w przypadku naciśnięcia przycisku przed upływem 5 sekund wszystkie diody mignęły 3 razy i program ponownie czekał, aż wciśnie się ponownie przycisk.
Proszę o pomoc.
Kod:
#include <Adafruit_NeoPixel.h>
#define PIN 6
#define ILOSCDIOD 5
Adafruit_NeoPixel pasek = Adafruit_NeoPixel(ILOSCDIOD,PIN,NEO_GRB + NEO_KHZ800);
void setup() {
pasek.begin();
pinMode(8, INPUT_PULLUP);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,pasek.Color(0,255,0));}
pasek.show();
delay(250);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,pasek.Color(0,0,0));}
pasek.show();
delay(250);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,pasek.Color(0,255,0));}
pasek.show();
delay(250);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,pasek.Color(0,0,0));}
pasek.show();
delay(250);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,pasek.Color(0,255,0));}
pasek.show();
delay(250);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,pasek.Color(0,0,0));}
pasek.show();
delay(250);}
// put your setup code here, to run once:
void loop() {
if (digitalRead(8) == LOW){
for(int i=0; i<5; i++){
pasek.setPixelColor(i,0,0,255); //wszystkie na niebiesko
pasek.show();}
delay(1000);
for(int i=0; i<5; i++){
pasek.setPixelColor(i,0,0,0);}
pasek.show();
delay(10);
for (int i=0; i<4; i++){
pasek.setPixelColor(i,0,255,00); //cztery na zielono
}
pasek.show();
delay(1000);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,0,0,0);}
pasek.show();
delay(10);
for (int i=0; i<3; i++) {
pasek.setPixelColor(i,255,255,0); } //trzy na ��to
pasek.show();
delay(1000);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,0,0,0);}
pasek.show();
delay(10);
for (int i=0; i<2; i++) {
pasek.setPixelColor(i,255,132,19); } //dwie na pomara�czowo
pasek.show();
delay(1000);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,0,0,0);}
pasek.show();
delay(10);
for (int i=0; i<1; i++) {
pasek.setPixelColor(i,255,0,0); } //jedna na czerwono
pasek.show();
delay(1000);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,0,0,0);}
pasek.show();
delay(250);
for (int i=0; i<5; i++){ //po czasie 5 sekund wszyskie migaj� trzy razy na czerwono
pasek.setPixelColor(i,pasek.Color(255,0,0));}
pasek.show();
delay(250);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,pasek.Color(0,0,0));}
pasek.show();
delay(250);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,pasek.Color(255,0,0));}
pasek.show();
delay(250);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,pasek.Color(0,0,0));}
pasek.show();
delay(250);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,pasek.Color(255,0,0));}
pasek.show();
delay(250);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,pasek.Color(0,0,0));}
pasek.show();
delay(250);}
while(digitalRead(8) == LOW){
for (int i=0; i<5; i++){
pasek.setPixelColor(i,pasek.Color(0,255,0));}
pasek.show();
delay(250);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,pasek.Color(0,0,0));}
pasek.show();
delay(250);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,pasek.Color(0,255,0));}
pasek.show();
delay(250);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,pasek.Color(0,0,0));}
pasek.show();
delay(250);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,pasek.Color(0,255,0));}
pasek.show();
delay(250);
for (int i=0; i<5; i++){
pasek.setPixelColor(i,pasek.Color(0,0,0));}
pasek.show();
delay(250);
}
}
// for(int i=0; i<ILOSCDIOD; i++) {
// pasek.setPixelColor(i,255,0,0);
// pasek.show();
// delay(500);}
// delay(3000);
// for(int i=0; i<ILOSCDIOD; i++) {
// pasek.setPixelColor(i,0,0,0);
// pasek.show();
// delay(500); }
// for(int i=0; i<ILOSCDIOD; i++) {
// pasek.setPixelColor(i,0,0,255);
// pasek.show();
// delay(500);}
// delay(3000);
// for(int i=0; i<ILOSCDIOD; i++) {
// pasek.setPixelColor(i,0,0,0);
// pasek.show();
// delay(500); }
// for(int i=0; i<ILOSCDIOD; i++) {
// pasek.setPixelColor(i,0,255,0);
// pasek.show();
// delay(500);}
// delay(3000);
// for(int i=0; i<ILOSCDIOD; i++) {
// pasek.setPixelColor(i,0,0,0);
// pasek.show();
// delay(500); }
// for(int i=0; i<255; i++) {
// pasek.setPixelColor(0,i,(255-i),i);
// pasek.setPixelColor(1,i,(255-i),i);
// pasek.setPixelColor(2,i,(255-i),i);
// pasek.setPixelColor(3,i,(255-i),i);
// pasek.setPixelColor(4,i,(255-i),i);
// pasek.show();
// delay(50); }
// put your main code here, to run repeatedly: