Go Down

Topic: Led lampeggiante per 30 secondi (Read 3 times) previous topic - next topic

tuxduino

Mi sembra ci siano un paio di imprecisioni:

delay(500);              // aspetta un secondo 

Il commento è sbagliato. Quello è 1/2 secondo ;)


Quando il pulsante viene premuto e lo stato va a zero, devi azzerare i, altrimenti se un precedente lampeggio arriva, per esempio, a 10 e poi viene interrotto perché si preme il pulsante, alla successiva pressione del pulsante il lampeggio riprende ma durerà solo 20 volte.

mckallagan

Scusate se piglio e mi intrometto, riuppando questa discussione ma e' l' unica che ci si avvicina che sono riuscito a trovare sul web...

A me servirebbe, a mo di deterrente, far accendere, con un circuitino, magari semplicissimo,  ogni 30 secondi circa, un led, o una lampada a 12v,  che metterei dentro alla scatola di un vecchio antifurto, da mettere come deterrente sul balcone della mia camera da letto simulando  per l' appunto un antifurto in funzione.

Grazie anticipatamente se qualcuno puo' rispondermi, magari linkandomi qualcosa a riguardo e scusatemi se mi sono permesso di chiedere in questo modo

leo72

Ciao e benvenuto.
Ti invito a leggere il regolamento del forum. E' buona creanza usare il 1° post per presentarsi e non per fare una richiesta  ;)

Detto questo, prendi lo sketch in oggetto e modificalo togliendo la parte relativa alla pressione del pulsante ed usando un secondo controllo basato su millis per cui ogni 30 secondi alterni la variabile di stato e fai il lampeggio del led solo se la variabile di stato è true

steve-cr

Salve.
Il blink è uno dei primi passi da cui si comincia a capire cosa fare con Arduino, dove però io ho capito una cosa:
- se uso delay, il ritardo non è fine a se stesso su quel particolare input oppure output, ma è un delay ASSOLUTO che, per far lampeggiare un led, mi BLOCCA virtualmente un programma per( x) secondi prima di proseguire.

E questo non va bene: in contemporanea io devo fare altre migliaia di cose: leggere input, assegnare output, fare conteggi: non posso aspettare dei secondi per riprendere l'esecuzione del programma, giusto?

Più semplicemente, se uso il classico programma blink contenuto in File>Esempi>Basic ma, contemporaneamente, voglio un led sul 12 che lampeggi ON 200ms e OFF 500 ms, come faccio???

Saluti

Brunello

File>Esempi>Digital>BlinkWithoutDelay

Go Up