Domanda Porting da Due a Uno

Ciao a tutti recentemente ho iniziato a fare ricerche sul come far generare sinusoidi ed altre forme d'onda ad Arduino Uno, e mi sono imbattuto in questo esercizio proposto dai fondatori di Arduino:

Volevo sapere se è in qualche modo possibile farlo girare su Arduino Uno e se per farlo girare devo apportare qualche modifica al codice. Grazie

Gia questo ti dice tutto

analogWriteResolution(12); // set the analog output resolution to 12 bit (4096 levels)

la uno non ha ne un clock adeguato, ne pin con risoluzione a 12bit

Puoi provare a crearlo con i pwm

google
"arduino create a sinusoidal"
"arduino uno waveform generator"

pablos:
Gia questo ti dice tuttola uno non ha ne un clock adeguato, ne pin con risoluzione a 12bit

Puoi provare a crearlo con i pwm

google
"arduino create a sinusoidal"
"arduino uno waveform generator"

ho dato un'occhiata in giro per il web ma non ho capito molto, domani provo a parlarne col mio professore

pablos:
Gia questo ti dice tuttola uno non ha ne un clock adeguato, ne pin con risoluzione a 12bit

Più che altro non ha il DAC come la DUE :slight_smile:

Estratto dal tutorial "Simple Waveform Genetator with Arduino Due"

  analogWrite(DAC0, waveformsTable[wave0][i]);  // write the selected waveform on DAC0
  analogWrite(DAC1, waveformsTable[wave1][i]);  // write the selected waveform on DAC1

Si anche, però può usare un pwm no? avrà una bassa risoluzione ma qualcosa fa o no?
Non lo so perchè con i pwm non ci ho mai creato appositamente forme d'onda, ma leggendo in giro pare che con frequenze non esose qualcosa si fa.

ciao

pablos:
Si anche, però può usare un pwm no?

Ma sull'oscilloscopio vedrai un segnale PWM, non una sinusoide. :-\

pablos:
Si anche, però può usare un pwm no?

NO, un PWM non è fatto per generare forme d'onda !

Quello che puoi fare, con una specie di "integratore", è realizzare una simil-sinusoide ... ma molto "simil" :grin: :smiley: :grin:

Guglielmo

pablos:
Non lo so perchè con i pwm non ci ho mai creato appositamente forme d'onda, ma leggendo in giro pare che con frequenze non esose qualcosa si fa.

Con il PWM standard di Arduino al massimo crei un segnale di 5 Hz (1/100 frequenza del PWM), inoltre sono segnali che richiedono una grossa filtratura analogica, mille volte meglio usare un DAC, anche i vari esempi in rete di generatori DDS con Arduino sfruttano un semplice DAC a rete resistiva R/2R esterno.

È ovvio che se piazzo un oscilloscopio sul pin in pwm vedo una quadra stretta o larga a seconda di quello che imposto... Quello che intendevo era compreso di un circuito esterno analogico con condendensatori e resistenze di scarica ecc ecc però avete già espresso il concetto :-X
grazie per la precisazione :slight_smile:

ciao