loop - dotaz začátečníka
Napsal: 12 říj 2020, 23:01
Ahoj, jsem úplný začátečník, ale měl bych dotaz na který jsem nikde nenašel odpověď.
Do arduina jsem zapojil potenciometr a 3 ledky s tím, že jsem chtěl, aby se ledky jednotlivě rozsvěcovaly a zhasínaly podle toho, jak točím potenciometrem, ale z nějakého důvodu mi ledky nezhasínají (zůstanou svítit i když mám hodnotu potenciometru 0). Myslel jsem, že ten loop jede pořád dokola, ale očividně ne. Když dám na konec delay, tak ledky začnou blikat a všechno funguje jak má, ale zatím jsem nepřišel na to, jak to udělat s rozsvícenýma ledkama. Můžete mi to někdo prosím vysvětlit? Díky.
int LEDblue = 2;
int LEDyellow = 3;
int LEDred = 4;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(LEDred, OUTPUT);
pinMode(LEDyellow, OUTPUT);
pinMode(LEDblue, OUTPUT);
}
void loop() {
int sensorValue = analogRead(A0);
Serial.println(sensorValue);
delay(100);
if (sensorValue < 330){
digitalWrite(LEDblue, HIGH);
}
else if (sensorValue > 660){
digitalWrite(LEDblue, HIGH);
digitalWrite(LEDyellow, HIGH);
digitalWrite(LEDred, HIGH);
}
else {
digitalWrite(LEDblue, HIGH);
digitalWrite(LEDyellow, HIGH);
}
}
Do arduina jsem zapojil potenciometr a 3 ledky s tím, že jsem chtěl, aby se ledky jednotlivě rozsvěcovaly a zhasínaly podle toho, jak točím potenciometrem, ale z nějakého důvodu mi ledky nezhasínají (zůstanou svítit i když mám hodnotu potenciometru 0). Myslel jsem, že ten loop jede pořád dokola, ale očividně ne. Když dám na konec delay, tak ledky začnou blikat a všechno funguje jak má, ale zatím jsem nepřišel na to, jak to udělat s rozsvícenýma ledkama. Můžete mi to někdo prosím vysvětlit? Díky.
int LEDblue = 2;
int LEDyellow = 3;
int LEDred = 4;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(LEDred, OUTPUT);
pinMode(LEDyellow, OUTPUT);
pinMode(LEDblue, OUTPUT);
}
void loop() {
int sensorValue = analogRead(A0);
Serial.println(sensorValue);
delay(100);
if (sensorValue < 330){
digitalWrite(LEDblue, HIGH);
}
else if (sensorValue > 660){
digitalWrite(LEDblue, HIGH);
digitalWrite(LEDyellow, HIGH);
digitalWrite(LEDred, HIGH);
}
else {
digitalWrite(LEDblue, HIGH);
digitalWrite(LEDyellow, HIGH);
}
}