salve a tutti in questo periodo mi sono cimentato nei motori e ora volevo provare a fare un programma che mi permetta di controllare la velocita di un motore (prima al 50% poi al 70%) alla pressione del pulsante, ovvero :
non premo il pulsante --> motore spento
premo 1 volta il pulsante --> motore acceso al 50%
premo una seconda volta il puslante --> motore acceso al 70%
purtroppo non conosco approfonditamente il comandi di arduino e volevo farlo con una struttura if...else o al massimo switch case
fino ad ora ho fatto questo:
[i]void loop() {
val = digitalRead(BUTTON); // legge il valore dell'input e lo conserva
if ((val == HIGH) && (vecchio_val == LOW)){ //imposto il valore di stato controllando la variabile var
stato = 1 - stato;
}
vecchio_val = val; // reimposto il valore di val a 0
if (stato == 1) { //se lo stato è 0 significa che non ho premuto il pulsante e quindi il motore non va
if ((val == HIGH) && (vecchio_val == LOW)){
stato1 = 1;}
lcd.setCursor(0,1); //imposto il cursore del led a 0 colonne e 1 riga
analogWrite(MOTORE, 128); // il motore è spento
digitalWrite(LED, HIGH); //il led è spento
lcd.print("Motore Acceso 50&%"); //mostro sull' LCD la scritta :"motore spento"
if(stato1 = 1){
lcd.print("Motore Acceso 70%");
analogWrite(MOTORE, 200);
digitalWrite(LED, HIGH);}
}
else {
digitalWrite(LED, LOW); //accendo il led
digitalWrite(MOTORE, LOW);
lcd.print("Motore Spento");
}
} [/i]
ma non funziona correttamente e purtroppo non riesco a capire come poterlo far funzionare, sarei grato se qualcuno potesse autarmi a risolverlo.
grazie a tutti in anticipo!