Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Este é um projeto simples de gerador de tons usando o Arduino Pro Mini. Uma parte do super hit "Jimikky Kammal" do filme "Velipadinte Pusthakam" é desenvolvida em monotonia.
As notas musicais ocorrem na natureza como ondas sinusoidais suaves e ondulantes. Neste projeto, em vez de ondas senoidais suaves, estaremos produzindo som com ondas quadradas. As ondas quadradas produzem um tom, mas é mais nítido e metálico do que uma onda senoidal normal. Uma nota musical pode ser criada gerando frequência. Cada freqüência tem um tom único. Aqui, o Arduino é usado para criar essa frequência.
Etapa 1: configuração do hardware
É muito fácil configurar o hardware. Para o desenvolvimento deste projeto exigimos
- Arduino Pro Mini
- Alto falante
- USB FTDI para adaptador serial (para fazer o upload do programa para o Arduino Pro Mini)
Interface FTDI USB para adaptador serial para Arduino Pro Mini para programação, conforme mostrado no diagrama de circuito. Conecte um pino do alto-falante ao pino digital 11 (você pode alterar o número do pino no Programa) do Arduino Pro Mini e outro ao aterramento.
Neste circuito, não adicionamos nenhum circuito amplificador, de modo que o volume pode muito baixo. Você pode adicionar qualquer circuito amplificador de áudio, portanto, você obterá muito som na saída ou pode usar o alto-falante do PC com controle de volume ajustável.
Etapa 2: Desenvolvimento de software
As notas musicais podem ser criadas gerando oscilação no Arduino. A frequência de oscilação é o tom da velocidade da melodia das notas musicais tocadas. As batidas são o período de cada melodia tocada. Portanto, temos que definir o tom, as batidas e o andamento exatos para cada nota musical.
Neste programa, não geramos todas as frequências para todos os sons. Apenas o som necessário para a música “Jimikky Kammal” é adicionado. As frequências para todas as notas são fornecidas no link abaixo.
impacttechnolabz.com/fd1_jk.html
Precisamos converter essas frequências em período de tempo para que o Arduino obtenha a duração para LIGAR e DESLIGAR o pino digital. O cálculo dos tons é feito seguindo a operação matemática:
timeHigh = 1 / (2 * toneFrequency) = período / 2
por exemplo:
Para gerar oscilações de 100 Hz, ou seja, Período de tempo = 1/100 S = 0,01 S = 10000 uS
Portanto, precisamos tornar o pino HIGH para 5000 uS e LOW para 5000 uS
ou seja, timeHigh = 1 / (2 * 100)
= 0,005 S
= 5000 uS
Baixe o código completo
Etapa 3: Simulação
Criamos uma simulação com a ajuda do software Proteus Proffessional instalado no Windows PC, assim a saída de áudio pode ser verificada no PC via placa de som. Você precisa adicionar explicitamente a Biblioteca Arduino ao Proteus.
Etapa 4: Código
Baixe o código completo