Tabla de contenido:

Reproducir canciones con Arduino usando ADC to PWM en Flyback Transformer o Speaker: 4 pasos
Reproducir canciones con Arduino usando ADC to PWM en Flyback Transformer o Speaker: 4 pasos

Video: Reproducir canciones con Arduino usando ADC to PWM en Flyback Transformer o Speaker: 4 pasos

Video: Reproducir canciones con Arduino usando ADC to PWM en Flyback Transformer o Speaker: 4 pasos
Video: Como Grabar y Reproducir Musica mp3 usando el Arduino 2024, Noviembre
Anonim
Reproducir canciones con Arduino usando ADC to PWM en Flyback Transformer o Speaker
Reproducir canciones con Arduino usando ADC to PWM en Flyback Transformer o Speaker
Reproducir canciones con Arduino usando ADC to PWM en Flyback Transformer o Speaker
Reproducir canciones con Arduino usando ADC to PWM en Flyback Transformer o Speaker
Reproducir canciones con Arduino usando ADC to PWM en Flyback Transformer o Speaker
Reproducir canciones con Arduino usando ADC to PWM en Flyback Transformer o Speaker
Reproducir canciones con Arduino usando ADC to PWM en Flyback Transformer o Speaker
Reproducir canciones con Arduino usando ADC to PWM en Flyback Transformer o Speaker

Hola chicos, Esta es la segunda parte de mi otro instructable (que fue muy difícil). Básicamente, en este proyecto, he usado el ADC y TIMERS en mi Arduino para convertir la señal de audio en una señal PWM.

Esto es mucho más fácil que mi Instructable anterior. Aquí está el enlace de mi primer Instructable si quieres verlo. Enlace

Para comprender la teoría de la señal de audio, velocidad de bits, profundidad de bits, velocidad de muestreo, puede leer la teoría en mi último tutorial sobre Instructable. El enlace está arriba.

Paso 1: Cosas que necesitamos para este proyecto (requisitos)

1. Placa Arduino (podemos usar cualquier placa (328, 2560), es decir, Mega, Uno, Mini, etc. pero con pines diferentes específicos)

2. PC con Arduino Studio.

3. Tablero de pruebas o tablero perfilado

4. Conexión de cables

5. TC4420 (controlador Mosfet o algo así)

6. Power Mosfet (canal N o P, conecte luego en consecuencia) (he usado el canal N)

7. Altavoz o transformador Flyback (¡Sí, lo leíste bien!)

8. Fuente de alimentación adecuada (0-12 V) (he usado mi propia fuente de alimentación ATX)

9. Disipador de calor (lo he recuperado de mi vieja PC).

10. Un amplificador (amplificador de música normal) o circuito amplificador.

Paso 2: teoría de ADC a PWM

Teoría de ADC a PWM
Teoría de ADC a PWM
Teoría de ADC a PWM
Teoría de ADC a PWM

Entonces, en este proyecto, he usado un ADC integrado de Arduino para hacer muestreo de datos de una señal de audio.

ADC (convertidor analógico a digital) como el nombre lo define, ADC convierte la señal analógica en muestras digitales. Y para Arduino con una profundidad máxima de 10 bits. Pero para este proyecto, usaremos muestreo de 8 bits.

Al usar el ADC de Arduino, debemos tener en cuenta el voltaje ADC_reference.

Arduino Uno ofrece 1.1V, 5V (referencia interna, que se puede configurar definiendo en código) o una referencia externa (que tenemos que aplicar externamente al pin AREF).

Según mi experiencia, se debe usar un mínimo de 2.0V como voltaje de referencia para obtener un buen resultado del ADC. Como 1.1V no salió bien al menos para mí. (Experiencia personal)

* IMPORTANTE * * IMPORTANTE ** IMPORTANTE ** IMPORTANTE ** IMPORTANTE *

Necesitamos usar una señal de audio amplificada de un amplificador o un circuito amplificador con un voltaje máximo (voltaje máximo) de 5V

Porque configuré la referencia de voltaje interna de 5 V para nuestro proyecto. Y estoy usando una señal amplificada usando un amplificador normal (amplificador de música), que está disponible principalmente en nuestro hogar o puede construir uno para usted.

Así que ahora la parte principal. Tasa de muestreo, que es la cantidad de muestras que toma nuestro ADC por segundo, más es la tasa de conversión, mejor será el resultado de salida, más similar será la onda de salida en comparación con la entrada.

Entonces, usaremos una frecuencia de muestreo de 33.33Khz en este Proyecto, configurando el reloj ADC en 500Khz. Para entender cómo es así, tenemos que ver la Página de sincronización de ADC en la hoja de datos del chip Atmega (328p).

Podemos ver que necesitamos 13,5 ciclos de reloj ADC para completar una muestra con muestreo automático. Con una frecuencia de 500Khz, significa 1 / 500Khz = 2uS para un ciclo de ADC, lo que significa que se necesitan 13.5 * 2uS = 27uS para completar una muestra cuando se usa el muestreo automático. Dando 3uS más al microcontrolador (por el lado seguro), haciendo un total de 30uS en total para una muestra.

Entonces, 1 muestra a 30 uS significa 1 / 30uS = 33,33 K Muestras / S.

Para establecer la tasa de muestreo, que depende de TIMER0 de Arduino, porque el disparador de muestreo automático de ADC depende de eso en nuestro caso, como también puede ver en el código y la hoja de datos, hemos hecho el valor de OCR0A = 60 (¿Por qué ???)

Porque de acuerdo con la fórmula dada en la hoja de datos.

frecuencia (o aquí Frecuencia de muestreo) = Frecuencia de reloj de Arduino / Prescaler * Valor de OCR0A (en nuestro caso)

Frecuencia o frecuencia de muestreo que queremos = 33,33 KHz

Frecuencia de reloj = 16 MHz

Valor de preescalador = 8 (en nuestro caso)

Valor de OCR0A = queremos encontrar ??

que simplemente da OCR0A = 60, también en nuestro código Arduino.

TIMER1 se usa para la onda portadora de una señal de audio, y no entraré en tantos detalles al respecto.

Entonces, esa fue la breve teoría del concepto de ADC a PWM con Arduino.

Paso 3: esquema

Esquemático
Esquemático

Conecte todos los componentes como se muestra en el esquema. Entonces tienes aquí dos opciones: -

1. Conecte un altavoz (conectado con 5V)

2. Conecte un transformador Flyback (conectado con 12V)

He probado ambos. Y ambos funcionan bastante bien.

* IMPORTANTE * * IMPORTANTE ** IMPORTANTE ** IMPORTANTE ** IMPORTANTE * Necesitamos usar una señal de audio amplificada de un amplificador o un circuito de amplificador con un voltaje pico (voltaje máximo) de 5V

Descargo de responsabilidad:-

* Recomiendo usar Flyback Transformer con precaución ya que puede ser peligroso porque produce altos voltajes. Y no seré responsable de ningún daño. *

Paso 4: prueba final

Así que cargue el código dado a su Arduino y conecte la señal amplificada al pin A0.

Y no olvide conectar todos los pines de tierra a una tierra común.

Y simplemente disfruta escuchando música.

Recomendado: