Paso 1: Digital a analógico convertidor
DAC está parado para "convertidor analógico digital." Puesto que el Arduino no tiene análogo capacidades, necesitamos usar un DAC para convertir datos digitales (números/ints/bytes) a una forma de onda analógica (voltaje oscilante). Un simple, fácil de programar y una forma barata de hacer esto es utilizar algo que se llama una escala de resistencia R2R. Esencialmente, toma entrantes bits digitales (0V y 5V de Arduino), les pesa y suma para producir una tensión entre 0 y 5 voltios (véase el esquema en la figura 2, tomado de la Página de escala de resistencia de Wikipedia). Usted puede pensar de una escala de resistencia como multi-nivelado del divisor de tensión.
La escala de resistencia se va demostrando en este tutorial es un DAC de 8 bits, esto significa que puede producir 256 (2 ^ 8) niveles diferentes de voltaje entre 0 y 5v. Que cada uno de los pines digitales 0-7 conectado a cada uno de los 8 nudos en mi 8 bit DAC (mostrado en higos 1 y 3).
Me gusta usar estas resistencia escalera DACs porque siempre tengo los materiales todo, son baratos y creo que son tipos de diversión, pero no le dará la más alta calidad de audio. Usted puede comprar un chip que funciona en el exacto mismo era como un DAC R2R (y funciona con todo el código en este instructable), pero tiene resistencias internas altamente comparable para una mejor calidad de audio, me gusta este uno a.c. escurr una fuente de 5V solo (incluso puede hacer audio estéreo con él), pero hay muchos más disponibles , busque "paralelo entrada, 8 bit, dac ic".
Alternativomente, hay chips que en datos serie para realizar la conversión digital a analógica. Estos chips son generalmente mayor fidelidad (calidad definitivamente mejor que el resistor escalera CAD) y utilizan sólo dos o tres de Arduino salida de pines (en lugar de 8). Desventajas son que son un poco más difíciles de programar, más caro y no funciona con el código en este Instructable, aunque estoy seguro de que hay algunos otros tutoriales disponibles. Después de una búsqueda rápida en digikey, estos se veía bien, para Arduino, tratar de encontrar algo que se funcionan con una fuente de 5V solo.
Uno más Nota - parece clase de creencia errónea acerca de 8 bits audio-que siempre tiene que sonar como los efectos de sonidos de un audio de 8 bits del juego, pero Mario con este DAC realmente básico puede realmente replicar los sonidos de instrumentos y voces de la gente muy bien, estoy siempre sorprendido por la calidad de sonido que puede provenir de un montón de resistencias.