sketch onda quadra

ciao a tutti! scusate, sono nuovo e poco pratico di arduino... mi servirebbe un aiuto per uno sketch...
dovrei fare un programma che generi dal pin 13 di arduino un'onda quadra digitale di periodo 10 ms per un tempo di 10 secondi, che poi dovrebbe restare bassa per 50 secondi e poi ricominciare il ciclo...ho provato utilizzando la funzione millis() però il programma non gira come dovrebbe... qualcuno per favore mi può dare una mano? grazie in anticipo! :slight_smile:

Manu

manuelcasarotto:
dovrei fare un programma che generi dal pin 13 di arduino un'onda quadra digitale di periodo 10 ms per un tempo di 10 secondi, che poi dovrebbe restare bassa per 50 secondi e poi ricominciare il ciclo...ho provato utilizzando la funzione millis()

10 ms sono 100 Hz, se non devi fare altre cose mentre viene generata l'onda quadra puoi usare la micros(), che ti garantisce una maggiore granularità rispetto alla millis(), per generare l'onda quadra, poi usi la millis() per generare il delay di attesa.
Se devi fare altre cose mentre viene generata l'onda quadra è necessario usare un timer che puoi programmare per un pwm con duty al 50% e frequenza di 100 Hz, però non puoi usare il pin 13 perché non è legato ad alcun timer, puoi usare solo i pin per il pwm, quale dipende dal timer che utilizzi, evita il timer 0 perché è quello che sfrutta la millis().

devo solamente scrivere dei valori su un display lcd 20x4, ma quello so come farlo, non ci sono problemi... a parte questo non deve fare altre operazioni, perchè deve solo generare questa forma d'onda per comandare un transistor per fargli fare altre operazioni sul circuito

Kasa:
perchè deve solo generare questa forma d'onda per comandare un transistor per fargli fare altre operazioni sul circuito

Allora usa la micros() come ti ho detto, il modo più semplice.

@kasa:
hai pubblicato lo stesso quesito su 2 thread distinti a distanza di poco tempo l'uno dall'altro.... :wink:

eh @leo72 ho visto :wink: comunque grazie @astrobeed, proverò a usare tutti e due i timer come hai detto, vediamo se riesco a ricavarne qualcosa :slight_smile: