
Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03

Este foi o meu projeto para uma das minhas aulas na universidade chamada SMP. Como usamos a placa de desenvolvimento STM32F103RB, baseei meu projeto nisso, partindo de um medidor VU simples. Em seguida, adicionei alguns recursos extras, como suporte a Bluetooth para transmitir valores do ADC para um aplicativo Android para criar um gráfico dB simples.
Etapa 1: Componentes usados
- Placa de desenvolvimento STM32F103RB
- Módulo bluetooth HC-05 zs040
- Painel do medidor VU analógico (link)
- Microfone de eletreto
- LM324N quádruplo op-amp
- 2 transistores TIP120
- 3 diodos 1N4148
- Vários capacitores e resistores
Embora você possa dirigir este circuito fora do barramento de 5 V da placa, eu também usei uma fonte de alimentação externa de 5 V.
Etapa 2: seguidor de envelope


A peça principal desse projeto é o seguidor de envelope, que recebe o sinal do microfone de eletreto e emite uma tensão proporcional à amplitude do sinal do microfone.
O sinal bruto do microfone é primeiro passado por um amplificador com ganho de 150.
O sinal é então passado através do seguidor de envelope real, que deve produzir apenas as partes positivas do sinal.
A última parte é subtrair a tensão de deslocamento de 1,65 V da saída do seguidor de envelope para fornecer um sinal de 0 V para nenhum som, 1,65 V para som médio e 3,3 V para som alto que deve ser compatível com o integrado ADC do conselho.
Este seguidor de envelope é implementado a partir desta ótima resposta StackExchange.
Etapa 3: PWM para o medidor analógico
Para acertar o ponteiro do medidor, configurei o temporizador TIM4 da placa do microcontrolador com uma frequência de cerca de 500 Hz.
Tentando sucessivamente diferentes ciclos de trabalho, estabeleci alguns valores que foram suficientes para fazer o ponteiro ir de 0 a 100.
Vou detalhar o processo de exibição de um valor exato na próxima etapa, aplicando alguns cálculos matemáticos.
Etapa 4: calibração do microfone


Depois de terminar o seguidor de envelope, escrevi um código simples para usar o ADC e verifiquei se o valor lido realmente muda de acordo com o volume dentro da sala.
Para "traduzir" esse valor em uma leitura real de dB, usei um gerador de tons online com frequência de 550 Hz e meu Android para fornecer uma leitura de referência.
Plotei esses valores e usei a ferramenta Curve Fit do MatLAB para obter uma função que mapeia as leituras do ADC para aproximações reais dos níveis de dB (ou pelo menos perto o suficiente das leituras do meu telefone).
Podemos ver que isso segue a escala logarítmica do microfone.
Eu também fiz a mesma coisa para mapear a posição da agulha para valores PWM. Eu reuni esses valores incrementando o valor PWM em 10 sucessivamente até que a necessidade atingisse a leitura em sua escala.
Combinando essas 2 funções, obtive uma maneira fácil de exibir a leitura do ADC para um valor real no indicador de medidor.
Etapa 5: aplicativo Android
O aplicativo está usando esta biblioteca legal para se comunicar via Bluetooth serial para trocar informações de byte.
A principal advertência desse sistema é que o comprimento máximo da palavra enviada por Bluetooth é de 8 bits e o valor ADC é representado como 12 bits. Para superar esse problema, divido um valor ADC em 2 valores separados de 6 bits (MSB e LSB) com os 2 bits restantes usados para identificar o tipo de mensagem (MSB, LSB, CHK).
Portanto, para um único valor ADC que queremos transmitir, dividimos o valor real em 2 mensagens. Para verificar a integridade dessas mensagens, enviei uma terceira mensagem com o XOR das 2 primeiras mensagens.
Depois que a integridade do valor é verificada, podemos aplicar a mesma função para obter o nível de dB e plotá-lo em nosso gráfico ao vivo.
Etapa 6: Resumo

Embora eu, a parte do microcontrolador deste projeto, funcione muito bem exibindo o volume dentro de uma sala, encontrei alguns problemas ao enviar dados por Bluetooth devido à perda de pacotes.
O código-fonte deste projeto pode ser encontrado aqui:
- Aplicativo complementar Android - repo
- Código do microcontrolador - repo
Sinta-se à vontade para contribuir se achar isso útil de alguma forma.
Recomendado:
Nerf Blaster habilitado para Bluetooth: 7 etapas

Nerf Blaster habilitado para Bluetooth: Eu me senti inspirado pelo projeto de Colin Furze e decidi fazer minha própria versão para o Desafio Remix. O design que usei é semelhante, mas mais amador, e possui um módulo Bluetooth que permite controlar a torre do meu telefone. Isto é
Circuitos GPIO Raspberry Pi: usando um sensor analógico LDR sem um ADC (conversor analógico para digital): 4 etapas

Circuitos GPIO do Raspberry Pi: usando um sensor analógico LDR sem um ADC (conversor analógico para digital): Em nossos Instructables anteriores, mostramos como você pode vincular os pinos GPIO do Raspberry Pi a LEDs e interruptores e como os pinos GPIO podem ser altos ou baixo. Mas e se você quiser usar seu Raspberry Pi com um sensor analógico? Se quisermos usar um
Planetário / Orrery habilitado para Bluetooth: 13 etapas (com imagens)

Planetário / Orrery habilitado para Bluetooth: Este instrutível foi criado em cumprimento ao requisito de projeto do Makecourse na University of South Florida (www.makecourse.com). Este é o meu planetário / orrery de 3 planetários. Tudo começou como um projeto de apenas um semestre para o Makecour
1 medidor POV com IOT habilitado: 3 etapas (com imagens)

POV de 1 medidor com IOT habilitado: Antes de começar a explicação sobre este projeto, gostaria de me desculpar pela baixa qualidade de imagem e vídeo, mas honestamente é realmente difícil obter uma imagem nítida e clara executando POV com uma câmera normal como a minha câmera móvel. Precisa muito rápido d
Usando seu telefone Sony Ericsson habilitado para Bluetooth para controlar seu computador: 6 etapas

Usando seu telefone Sony Ericsson habilitado para Bluetooth para controlar seu computador: eu tenho lido sobre instrutíveis há algum tempo e sempre quis fazer algumas das coisas que as pessoas escreveram, mas me peguei olhando coisas que são difíceis de fazer porque são genuinamente difíceis de fazer, ou o