loleksibolek Postat Decembrie 25, 2015 Partajează Postat Decembrie 25, 2015 Am modificat un soft pt arduino cu doua butoane si trei leduri in asa fel incat cand primul buton este apasat se aprind doua leduri,asteapta o perioada si apoi se stinge al doilea si se aprinde al treilea.Din celalalt buton se opresc toate 3.Problema este ca dupa ce se face ciclul acesta si raman led1 si led3 aprinse(de fapt led si led2,ele fiind numerotate led,led1,led2)daca apas din nou butonul 1 vreau sa nu mai faca nimic,acum se aprinde si ledul intermediar.Sau poate stiti undeva vreun exemplu din care sa-mi pot da seama. Multumesc. const int buttonPin[] = {2,3}; const int ledPin = 13; const int led1Pin = 12; const int led2Pin = 11; int buttonState = 0; void setup() { pinMode(ledPin, OUTPUT); pinMode(led1Pin, OUTPUT); pinMode(led2Pin, OUTPUT); for(int x=0; x<2; x++) { pinMode(buttonPin[x], INPUT); } } void loop(){ for(int x=0; x<2; x++) { buttonState = digitalRead(buttonPin[x]); if (buttonState == HIGH && buttonPin[x] == 2) { // turn LED on: digitalWrite(ledPin, HIGH); digitalWrite(led1Pin, HIGH); delay(1000); digitalWrite(led1Pin, LOW); delay(500); digitalWrite(led2Pin, HIGH); } if (buttonState == HIGH && buttonPin[x] == 3) { // turn LED off: digitalWrite(ledPin, LOW); digitalWrite(led1Pin, LOW); digitalWrite(led2Pin, LOW); } } } Link spre comentariu
Liviu M Postat Decembrie 25, 2015 Partajează Postat Decembrie 25, 2015 boolean bButon1Active = true;... if ((buttonState == HIGH) && (buttonPin[x] == 2) && bButon1Active) { bButon1Active = false;...Reactivezi butonul (bButon1Active = true;) cand ai nevoie. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum