Go Down

Topic: Arduino come un NE555 (Read 640 times) previous topic - next topic

alex27riva

Esiste una libreria o una funzione per generare onde quadre con frequenza e duty cycle a piacimento?
Arduino UNO starter kit.

gpb01


Esiste una libreria o una funzione per generare onde quadre con frequenza e duty cycle a piacimento?


Con frequenza scelta da te e duty cycle 50% esiste la funzione tone() ...

Guglielmo
Search is Your friend ... or I am Your enemy !

alex27riva



Esiste una libreria o una funzione per generare onde quadre con frequenza e duty cycle a piacimento?


Con frequenza scelta da te e duty cycle 50% esiste la funzione tone() ...

Guglielmo

La funzione tone() mi andrebbe bene, ma non è possibile modificare il duty cycle?
Arduino UNO starter kit.

gpb01


La funzione tone() mi andrebbe bene, ma non è possibile modificare il duty cycle?


Purtroppo NO, è fisso al 50%. Altrimenti devi fartela tu usando la digitalWrite() e gli opportuni ritardi con la millis() o la micros() ...

Guglielmo
Search is Your friend ... or I am Your enemy !

alex27riva



La funzione tone() mi andrebbe bene, ma non è possibile modificare il duty cycle?


Purtroppo NO, è fisso al 50%. Altrimenti devi fartela tu usando la digitalWrite() e gli opportuni ritardi con la millis() o la micros() ...

Guglielmo

Ok, grazie  :)
Arduino UNO starter kit.

leo72

Oppure usando i timer, così scegli frequenza e/o duty cicle come vuoi.

iyahdub

Maths is not your "forte", then ?! Remember : Its a cyclic wave, so that has to always had up to one period( example 20 on/80 off; 60/40, etc).
So looking at it from that perspective, its not really that hard, even if maths aint your strong point !
Also, depending on how fast you need it and the sampling time, you can even get away with just using pure arduino language, without getting into AVR c code and registers. All depending on what you want ?!

Here is a variable duty cycle example with fixed frequency ( theres better ways of course, but this should at least give you a pstarting point ?1)
http://forum.arduino.cc/index.php?topic=52526.0
10 LET Loop=Infinite
20 GO TO 10

PaoloP

La libreria "TimerOne.h" la trovi qui --> http://www.pjrc.com/teensy/td_libs_TimerOne.html
e qui --> http://playground.arduino.cc/Code/Timer1

Go Up