potřeboval bych pomoc. Udělal jsem jednoduché osvětlení kamionu pro syna s neopixel pásky, vždy světlo obsahuje dvě diody v řadě, obě svítí bíle a při sepnutí blinkru se krajní dioda rozbliká žlutě atd, vše mi funguje, ale mám problém, že když vypnu blinkr na kolíbkovém přepínači, tak dlouho trvá, než se mi znovu načte základní poloha, tlačítka mám přes odpor na zem, tak nevím kde hledat. Předem děkuji za vaši pomoc.
Kód: Vybrat vše
#include <Adafruit_NeoPixel.h>
#define PIN_LP 8
#define PIN_LZ 7
#define PIN_PP 10
#define PIN_PZ 11
#define PIN_M 9
#define pocet 2
int cteniL = 0;
int cteniP = 0;
int cteniV = 0;
int cteniM = 0;
int X = 200; //blik
int Y = 60; //jas
int Z = 150; //cekani na zhasnuti zlute
const int TLL = 2;
const int TLP = 12;
const int TV = 5;
const int TM = 3;
byte var;
Adafruit_NeoPixel stripLP = Adafruit_NeoPixel(2, PIN_LP, NEO_RGB + NEO_KHZ800);
Adafruit_NeoPixel stripLZ = Adafruit_NeoPixel(2, PIN_LZ, NEO_RGB + NEO_KHZ800);
Adafruit_NeoPixel stripPP = Adafruit_NeoPixel(2, PIN_PP, NEO_RGB + NEO_KHZ800);
Adafruit_NeoPixel stripPZ = Adafruit_NeoPixel(2, PIN_PZ, NEO_RGB + NEO_KHZ800);
Adafruit_NeoPixel stripM = Adafruit_NeoPixel(2, PIN_M, NEO_RGB + NEO_KHZ800);
void setup() {
stripLP.begin();
stripLP.show(); // Initialize all pixels to 'off'
stripLZ.begin();
stripLZ.show();
stripPP.begin();
stripPP.show();
stripPZ.begin();
stripPZ.show();
stripM.begin();
stripM.show();
pinMode (TLL, INPUT);
pinMode (TLP, INPUT);
pinMode (TV, INPUT);
pinMode (TM, INPUT);
stripLP.setBrightness(Y);
stripLZ.setBrightness(Y);
stripPP.setBrightness(Y);
stripPZ.setBrightness(Y);
stripM.setBrightness(Y);
}
void loop () {
cteniL = digitalRead(TLL);
cteniP = digitalRead(TLP);
cteniV = digitalRead(TV);
cteniM = digitalRead(TM);
if (cteniL == 1 & cteniP == 0 & cteniV == 0 & cteniM == 0){
var = 0;
}
else if (cteniL == 0 & cteniP == 1 & cteniV == 0 & cteniM == 0){
var = 1;
}
else if (cteniL == 0 & cteniP == 0 & cteniV == 1 & cteniM == 0){
var = 2;
}
else if (cteniL == 0 & cteniP == 0 & cteniV == 0 & cteniM == 0){
var = 3;
}
else if (cteniL == 1 & cteniP == 0 & cteniV == 0 & cteniM == 1){
var = 4;
}
else if (cteniL == 0 & cteniP == 1 & cteniV == 0 & cteniM == 1){
var = 5;
}
else if (cteniL == 0 & cteniP == 0 & cteniV == 1 & cteniM == 1){
var = 6;
}
else if (cteniL == 0 & cteniP == 0 & cteniV == 0 & cteniM == 1){
var = 7;
}
switch (var){
case 0:
stripPP.setPixelColor(0, 255, 255, 255);
stripPP.setPixelColor(1, 255, 255, 255);
stripPZ.setPixelColor(0, 0, 255, 0);
stripPZ.setPixelColor(1, 0, 255, 0);
stripM.setPixelColor(0, 0, 0, 0);
stripM.setPixelColor(1, 0, 0, 0);
stripM.show();
stripPP.show();
stripPZ.show();
delay(0);
stripLP.setPixelColor(0, 255, 255, 255);
stripLP.setPixelColor(1, 150, 255, 0);
stripLZ.setPixelColor(0, 0, 255, 0);
stripLZ.setPixelColor(1, 150, 255, 0);
stripLP.show();
stripLZ.show();
delay(X);
stripLP.setPixelColor(0, 255, 255, 255);
stripLP.setPixelColor(1, 0, 0, 0);
stripLZ.setPixelColor(0, 0, 255, 0);
stripLZ.setPixelColor(1, 0, 0, 0);
stripLP.show();
stripLZ.show();
delay(X);
break;
case 1:
stripLP.setPixelColor(0, 255, 255, 255);
stripLP.setPixelColor(1, 255, 255, 255);
stripLZ.setPixelColor(0, 0, 255, 0);
stripLZ.setPixelColor(1, 0, 255, 0);
stripM.setPixelColor(0, 0, 0, 0);
stripM.setPixelColor(1, 0, 0, 0);
stripM.show();
stripLP.show();
stripLZ.show();
delay(0);
stripPP.setPixelColor(0, 255, 255, 255);
stripPP.setPixelColor(1, 150, 255, 0);
stripPZ.setPixelColor(0, 0, 255, 0);
stripPZ.setPixelColor(1, 150, 255, 0);
stripPP.show();
stripPZ.show();
delay(X);
stripPP.setPixelColor(0, 255, 255, 255);
stripPP.setPixelColor(1, 0, 0, 0);
stripPZ.setPixelColor(0, 0, 255, 0);
stripPZ.setPixelColor(1, 0, 0, 0);
stripPP.show();
stripPZ.show();
delay(X);
break;
case 2:
stripLP.setPixelColor(0, 255, 255, 255);
stripLP.setPixelColor(1, 150, 255, 0);
stripLZ.setPixelColor(0, 0, 255, 0);
stripLZ.setPixelColor(1, 150, 255, 0);
stripPP.setPixelColor(0, 255, 255, 255);
stripPP.setPixelColor(1, 150, 255, 0);
stripPZ.setPixelColor(0, 0, 255, 0);
stripPZ.setPixelColor(1, 150, 255, 0);
stripM.setPixelColor(0, 0, 0, 0);
stripM.setPixelColor(1, 0, 0, 0);
stripM.show();
stripPP.show();
stripPZ.show();
stripLP.show();
stripLZ.show();
delay(X);
stripLP.setPixelColor(0, 255, 255, 255);
stripLP.setPixelColor(1, 0, 0, 0);
stripLZ.setPixelColor(0, 0, 255, 0);
stripLZ.setPixelColor(1, 0, 0, 0);
stripPP.setPixelColor(0, 255, 255, 255);
stripPP.setPixelColor(1, 0, 0, 0);
stripPZ.setPixelColor(0, 0, 255, 0);
stripPZ.setPixelColor(1, 0, 0, 0);
stripPP.show();
stripPZ.show();
stripLP.show();
stripLZ.show();
delay(X);
break;
case 3:
for (int i=0; i<pocet; i++){
stripLP.setPixelColor(i, 255, 255, 255);
stripLZ.setPixelColor(i, 0, 255, 0);
stripPP.setPixelColor(i, 255, 255, 255);
stripPZ.setPixelColor(i, 0, 255, 0);
stripM.setPixelColor(0, 0, 0, 0);
stripM.setPixelColor(1, 0, 0, 0);
stripM.show();
stripLP.show();
stripLZ.show();
stripPP.show();
stripPZ.show();
delay(0);
}
break;
case 4:
stripPP.setPixelColor(0, 255, 255, 255);
stripPP.setPixelColor(1, 255, 255, 255);
stripPZ.setPixelColor(0, 0, 255, 0);
stripPZ.setPixelColor(1, 0, 255, 0);
stripPP.show();
stripPZ.show();
delay(0);
stripLP.setPixelColor(0, 255, 255, 255);
stripLP.setPixelColor(1, 150, 255, 0);
stripLZ.setPixelColor(0, 0, 255, 0);
stripLZ.setPixelColor(1, 150, 255, 0);
stripM.setPixelColor(0, 150, 255, 0);
stripM.setPixelColor(1, 0, 0, 0);
stripM.show();
stripLP.show();
stripLZ.show();
delay(X);
stripLP.setPixelColor(0, 255, 255, 255);
stripLP.setPixelColor(1, 0, 0, 0);
stripLZ.setPixelColor(0, 0, 255, 0);
stripLZ.setPixelColor(1, 0, 0, 0);
stripM.setPixelColor(0, 0, 0, 0);
stripM.setPixelColor(1, 150, 255, 0);
stripM.show();
stripLP.show();
stripLZ.show();
delay(X);
break;
case 5:
stripLP.setPixelColor(0, 255, 255, 255);
stripLP.setPixelColor(1, 255, 255, 255);
stripLZ.setPixelColor(0, 0, 255, 0);
stripLZ.setPixelColor(1, 0, 255, 0);
stripLP.show();
stripLZ.show();
delay(0);
stripPP.setPixelColor(0, 255, 255, 255);
stripPP.setPixelColor(1, 150, 255, 0);
stripPZ.setPixelColor(0, 0, 255, 0);
stripPZ.setPixelColor(1, 150, 255, 0);
stripM.setPixelColor(0, 150, 255, 0);
stripM.setPixelColor(1, 0, 0, 0);
stripM.show();
stripPP.show();
stripPZ.show();
delay(X);
stripPP.setPixelColor(0, 255, 255, 255);
stripPP.setPixelColor(1, 0, 0, 0);
stripPZ.setPixelColor(0, 0, 255, 0);
stripPZ.setPixelColor(1, 0, 0, 0);
stripM.setPixelColor(0, 0, 0, 0);
stripM.setPixelColor(1, 150, 255, 0);
stripM.show();
stripPP.show();
stripPZ.show();
delay(X);
break;
case 6:
stripLP.setPixelColor(0, 255, 255, 255);
stripLP.setPixelColor(1, 150, 255, 0);
stripLZ.setPixelColor(0, 0, 255, 0);
stripLZ.setPixelColor(1, 150, 255, 0);
stripPP.setPixelColor(0, 255, 255, 255);
stripPP.setPixelColor(1, 150, 255, 0);
stripPZ.setPixelColor(0, 0, 255, 0);
stripPZ.setPixelColor(1, 150, 255, 0);
stripM.setPixelColor(0, 150, 255, 0);
stripM.setPixelColor(1, 0, 0, 0);
stripM.show();
stripPP.show();
stripPZ.show();
stripLP.show();
stripLZ.show();
delay(X);
stripLP.setPixelColor(0, 255, 255, 255);
stripLP.setPixelColor(1, 0, 0, 0);
stripLZ.setPixelColor(0, 0, 255, 0);
stripLZ.setPixelColor(1, 0, 0, 0);
stripPP.setPixelColor(0, 255, 255, 255);
stripPP.setPixelColor(1, 0, 0, 0);
stripPZ.setPixelColor(0, 0, 255, 0);
stripPZ.setPixelColor(1, 0, 0, 0);
stripM.setPixelColor(0, 0, 0, 0);
stripM.setPixelColor(1, 150, 255, 0);
stripM.show();
stripPP.show();
stripPZ.show();
stripLP.show();
stripLZ.show();
delay(X);
break;
case 7:
stripLP.setPixelColor(0, 255, 255, 255);
stripLP.setPixelColor(1, 255, 255, 255);
stripLZ.setPixelColor(0, 0, 255, 0);
stripLZ.setPixelColor(1, 0, 255, 0);
stripPP.setPixelColor(0, 255, 255, 255);
stripPP.setPixelColor(1, 255, 255, 255);
stripPZ.setPixelColor(0, 0, 255, 0);
stripPZ.setPixelColor(1, 0, 255, 0);
stripM.setPixelColor(0, 150, 255, 0);
stripM.setPixelColor(1, 0, 0, 0);
stripM.show();
stripLP.show();
stripLZ.show();
stripPP.show();
stripPZ.show();
delay(X);
stripLP.setPixelColor(0, 255, 255, 255);
stripLP.setPixelColor(1, 255, 255, 255);
stripLZ.setPixelColor(0, 0, 255, 0);
stripLZ.setPixelColor(1, 0, 255, 0);
stripPP.setPixelColor(0, 255, 255, 255);
stripPP.setPixelColor(1, 255, 255, 255);
stripPZ.setPixelColor(0, 0, 255, 0);
stripPZ.setPixelColor(1, 0, 255, 0);
stripM.setPixelColor(0, 0, 0, 0);
stripM.setPixelColor(1, 150, 255, 0);
stripM.show();
stripLP.show();
stripLZ.show();
stripPP.show();
stripPZ.show();
delay(X);
break;
}
}