Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Este es un proyecto de generador de tonos simple que utiliza Arduino Pro Mini. Una parte de la canción de gran éxito "Jimikky Kammal" de la película "Velipadinte Pusthakam" se desarrolla en monótona.
Las notas musicales ocurren en la naturaleza como ondas sinusoidales suaves y onduladas. En este proyecto, en lugar de ondas sinusoidales suaves, produciremos sonido con ondas cuadradas. Las ondas cuadradas producen un tono, pero es más nítido y metálico que una onda sinusoidal normal. Se puede crear una nota musical generando frecuencia. Cada frecuencia tiene un tono único. Aquí se usa Arduino para crear esta frecuencia.
Paso 1: configuración del hardware
Es muy fácil configurar el hardware. Para desarrollar este proyecto necesitamos
- Arduino Pro Mini
- Vocero
- Adaptador FTDI USB a serie (para cargar el programa en Arduino Pro Mini)
Interfaz FTDI USB al adaptador serial a Arduino Pro Mini para programación como se muestra en el diagrama del circuito. Conecte un pin del altavoz al pin digital 11 (puede cambiar el número de pin en el Programa) del Arduino Pro Mini y otro a tierra.
En este circuito, no agregamos ningún circuito amplificador, por lo que el volumen puede ser muy bajo. Puede agregar cualquier circuito amplificador de audio, por lo tanto, obtendrá mucho sonido en la salida o puede usar un altavoz de PC con control de volumen ajustable.
Paso 2: desarrollo de software
Las notas musicales se pueden crear generando oscilación en Arduino. La frecuencia de oscilación es el tono de la velocidad de la melodía de las notas musicales tocadas. Beats es el período de cada melodía tocada. Entonces, tenemos que hacer el tono, los tiempos y el tempo exactos para cada nota musical.
En este programa, no generamos todas las frecuencias para todos los sonidos. Solo se agrega el sonido requerido para la música "Jimikky Kammal". Las frecuencias para todas las notas se dan a continuación.
impacttechnolabz.com/fd1_jk.html
Tenemos que convertir estas frecuencias en un período de tiempo para que Arduino obtenga la duración para ENCENDER y APAGAR el pin digital. El cálculo de los tonos se realiza siguiendo la operación matemática:
timeHigh = 1 / (2 * toneFrequency) = período / 2
p.ej:
Para generar oscilaciones de 100 Hz, es decir, período de tiempo = 1/100 S = 0,01 S = 10000 uS
Así que necesitamos hacer pin ALTO para 5000 uS y BAJO para 5000 uS
es decir, timeHigh = 1 / (2 * 100)
= 0,005 S
= 5000 EE. UU.
Descargar código completo
Paso 3: simulación
Hemos creado una simulación con la ayuda del software Proteus Proffessional instalado en una PC con Windows, por lo que la salida de audio se puede verificar en la PC a través de la tarjeta de sonido. Debe agregar explícitamente la biblioteca Arduino a Proteus.
Paso 4: Código
Descargar código completo