Índice:
- Etapa 1: coisas que precisamos para este projeto (requisitos)
- Etapa 2: Teoria de ADC para PWM
- Etapa 3: esquemático
- Etapa 4: Teste Final
Vídeo: Reproduza músicas com o Arduino usando ADC para PWM no transformador ou alto-falante Flyback: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Ola pessoal, Esta é a segunda parte do meu outro instrutível (que foi muito difícil). Basicamente, neste projeto, usei o ADC e os TIMERS no meu Arduino para converter o sinal de áudio em um sinal PWM.
Isso é muito mais fácil do que meu Instructable anterior, aqui está o link do meu primeiro Instructable se você quiser ver. ligação
Para entender a teoria do sinal de áudio, taxa de bits, profundidade de bits, taxa de amostragem, você pode ler a teoria no meu último tutorial sobre instrutível. O link está acima.
Etapa 1: coisas que precisamos para este projeto (requisitos)
1. Placa Arduino (podemos usar qualquer placa (328, 2560), ou seja, Mega, Uno, Mini, etc, mas com pinos diferentes específicos)
2. PC com Arduino Studio.
3. Breadboard ou Perfboard
4. Fios de conexão
5. TC4420 (driver Mosfet ou algo parecido)
6. Power Mosfet (canal N ou P, conecte-os adequadamente) (usei o canal N)
7. Alto-falante ou transformador Flyback (sim, você leu certo !!)
8. Fonte de alimentação adequada (0-12V) (usei minha própria fonte de alimentação ATX)
9. Dissipador de calor (eu salvei do meu antigo PC).
10. Um amplificador (amplificador de música normal) ou circuito amplificador.
Etapa 2: Teoria de ADC para PWM
Portanto, neste projeto, usei o ADC integrado do Arduino para fazer amostragem de dados de um sinal de áudio.
ADC (conversor analógico para digital) como o nome define, o ADC converte o sinal analógico em amostras digitais. E para Arduino com profundidade máxima de 10 bits. Mas, para este projeto, usaremos amostragem de 8 bits.
Ao usar o ADC do Arduino, devemos ter em mente a tensão ADC_reference.
O Arduino Uno oferece 1,1 V, 5 V (referência interna, que pode ser definida definindo no código) ou uma referência externa (que temos que aplicar externamente ao pino AREF).
De acordo com minha experiência, um mínimo de 2,0 V deve ser usado como tensão de referência para obter um bom resultado do ADC. Como 1.1V não foi bem pelo menos para mim. (Experiência pessoal)
* IMPORTANTE * * IMPORTANTE ** IMPORTANTE ** IMPORTANTE ** IMPORTANTE *
Precisamos usar um sinal de áudio amplificado de um amplificador ou circuito amplificador com uma tensão de pico (tensão máxima) de 5V
Porque eu configurei a referência de tensão interna de 5V, para o nosso projeto. E estou usando um sinal amplificado usando um amplificador normal (amplificador de música), que está mais disponível em nossa casa ou você pode construir um para si mesmo.
Então agora a parte principal. Taxa de amostragem, que é a quantidade de amostras que nosso ADC coleta por segundo, quanto maior a taxa de conversão, melhor será o resultado de saída, mais semelhante será a onda de saída em comparação com a entrada.
Portanto, estaremos usando uma taxa de amostragem de 33,33Khz neste projeto, configurando o relógio ADC em 500Khz. Para entender como funciona, temos que ver a página de temporização do ADC no datasheet do chip Atmega (328p).
Podemos ver que precisamos de 13,5 ciclos de clock do ADC para completar uma amostra com amostragem automática. Com uma frequência de 500Khz, significa 1 / 500Khz = 2uS para um ciclo de ADC, o que significa que 13,5 * 2uS = 27uS são necessários para completar uma amostra quando a amostragem automática é usada. Dando 3uS a mais para o Microcontrolador (pelo lado seguro), perfazendo um total de 30uS totalmente para uma amostra.
Portanto, 1 amostra a 30uS significa 1 / 30uS = 33,33 KSamples / S.
Para definir a taxa de amostragem, que depende do TIMER0 do Arduino, porque o acionador de amostragem automática do ADC depende disso em nosso caso, como você também pode ver no código e no datasheet, definimos o valor de OCR0A = 60 (por que isso ???)
Porque de acordo com a fórmula fornecida na folha de dados.
frequência (ou aqui Taxa de amostragem) = frequência de relógio do Arduino / Prescaler * Valor de OCR0A (em nosso caso)
Frequência ou taxa de amostragem que desejamos = 33,33 KHz
Frequência do relógio = 16 MHz
Valor de pré-escala = 8 (no nosso caso)
Valor de OCR0A = queremos encontrar ??
que simplesmente dá OCR0A = 60, também em nosso código Arduino.
TIMER1 é usado para onda portadora de um sinal de áudio, e não vou entrar em tantos detalhes sobre isso.
Então, essa foi a teoria resumida do conceito de ADC para PWM com Arduino.
Etapa 3: esquemático
Conecte todos os componentes conforme mostrado no esquema. Então você tem aqui duas opções: -
1. Conecte um alto-falante (conectado com 5V)
2. Conecte um transformador Flyback (conectado com 12V)
Eu tentei ambos. E ambos funcionam muito bem.
* IMPORTANTE * * IMPORTANTE ** IMPORTANTE ** IMPORTANTE ** IMPORTANTE * Precisamos usar um sinal de áudio amplificado de um amplificador ou circuito de amplificador com uma tensão de pico (tensão máxima) de 5V
Isenção de responsabilidade:-
* Recomendo usar o transformador Flyback com cuidado, pois pode ser perigoso porque produz altas tensões. E não serei responsável por nenhum dano. *
Etapa 4: Teste Final
Portanto, carregue o código fornecido para o seu Arduino e conecte o sinal amplificado ao pino A0.
E não se esqueça de conectar todos os pinos de aterramento a um aterramento comum.
E apenas divirta-se ouvindo música.
Recomendado:
Como impedir que o Facebook reproduza automaticamente vídeos no Android !!: 10 etapas
Como impedir que o Facebook reproduza automaticamente vídeos no Android !!: Este instrutível mostrará como impedir que o Facebook reproduza automaticamente vídeos em dados e wi-fi em um dispositivo Android. Inscreva-se no meu canal. Obrigado
Reproduza músicas usando o motor de passo !!: 11 etapas (com imagens)
Reproduzir músicas usando motor de passo !!: Este projeto é sobre projetar uma interface dinâmica simples, que permitirá interagir com um motor de passo de duas maneiras diferentes. A primeira interface controlará a direção e a velocidade do motor de passo através do uso de um GUI simples, que h
Reproduza vídeos para trás usando o Quicktime Player: 5 etapas
Reproduza vídeos ao contrário usando o Quicktime Player: este é o truque mais incrível do século. Este Instructable mostra a maneira fácil de reproduzir vídeos ao contrário sem baixar programas duvidosos (se você não tiver o Quicktime, precisará disso.) A imagem não tem nada para fazer com o projeto, mas eu precisava
Transformador Flyback 20.000v: 5 etapas
Transformador Flyback de 20.000 V: Este é um transformador Flyback conectado a um capacitor de carga rápida e 2 circuitos de flash de câmera
Adaptador 12v para USB Transformador 12v para 5v (ótimo para carros): 6 etapas
Adaptador de 12v para USB Transformador de 12v para 5v (ótimo para carros): Isso mostrará como fazer um adaptador de 12v para USB (5v). O uso mais óbvio disso é para adaptadores de carro de 12v, mas em qualquer lugar que você tenha 12v, você pode usá-lo! Se você precisar de 5v para qualquer outra coisa que não seja USB, simplesmente pule as etapas sobre como adicionar as portas USB