Ciao a tutti ragazzi, ho un problema, ho fatto uno sketch dove, cliccando un pulsante, un servo si muove da 0 a 90 gradi, vorrei che, mentre il servo è in movimento, un led lampeggi, qualcuno sa come si fa?? Grazie in anticipo
Si.
Puoi dirmi come si fa perpiacere??
Guade l'esempio dell'IDE "blink without delay"; permette di far lampeggiare un led senza interrompere il flusso del programma così puoi inserire i comandi di movimentazione del servo.
questo è il mio sketch, inserendo il blink without delay, il led lampeggia in continuazione, a me serve che lampeggi solo quando si muove il servo, puoi aiutarmi =(
#include <Servo.h>
Servo myservo;
int pos=0;
int buttX=A1;
int butt=A0;
void setup()
{
myservo.attach(9);
myservo.write(0);
}
void loop()
{
if ( analogRead(buttX) > 1000 ) {
for(pos; pos < 90; pos++) {
myservo.write(pos);
delay(100);
}
}
if ( analogRead(butt) > 1000 )
if (pos == 90) {
for (pos; pos >= 0; pos--) {
myservo.write(pos);
delay(100);
}
}
}
Per prima cosa dovresti rieditare il tuo precedente post e inserire il codice col tag CODE. (vedi il punto 7 del regolamento nella sezione principale)
Per fare quello che descrivi devi inserire una variabile di stato (true/false), es. Lampeggio, che abilita o disabilita con un if(Lampeggio == true) il comando del led.
Fai partire il lampeggio quando dai il comando al servo. Il problema è: quando lo fermi?
Se è un servo standard non ha feedback quindi non puoi sapere quando si è fermato.
Potresti mettere un tempo, ovvero dopo tot secondi il lampeggio si ferma.
Guarda questo esempio --> funzione millis problema!!! - #3 by PaoloP - Software - Arduino Forum