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
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
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.
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