Paso 6: Prueba DAC
//63Hz sine wave //by Amanda Ghassaei 2012
Información sobre el código-básicamente lo que he hecho es configurar una interrupción de temporizador que incrementa la variable t en una frecuencia de 40kHz. Una vez que t alcanza 627 restablece a cero (esto ocurre con una frecuencia de 40.000/628 = 63 Hz). Mientras tanto, en el bucle principal del Arduino envía un valor entre 0 (00000000 en binario) y 255 (11111111 en binario) a los pines digitales 0 al 7 (PORTD). Calcula este valor con la siguiente ecuación:
PORTD=byte(127+127*sin(2*t/100));
Así como incrementos de t de 0 a 627 la función seno se mueve a través de un ciclo completo. El valor enviado a PORTD es una onda senoidal con frecuencia 63Hz y amplitud 127, oscilante alrededor de 127. El DAC Esto traduce en una tensión entre 0 y 5V, donde un 0 a PORTD es igual a 0V y un 255 enviado a PORTD equivale a 5V.