Comande um tom de campainha com o Raspberry Pi Pico
O Raspberry Pi Pico é uma placa de microcontrolador de baixo custo que torna mais fácil para iniciantes começar com projetos eletrônicos e aprender a codificar.
Para este projeto, você aprenderá como ler um sinal analógico de um potenciômetro e convertê-lo em um sinal PWM (modulação por largura de pulso) para manipular a frequência, ou tom, de uma campainha com a ajuda do código MicroPython.
Quais peças são necessárias?
Este projeto é baseado no Kit do Inventor Kitronik para Raspberry Pi Pico. Todos os componentes eletrônicos necessários estão incluídos no kit; no entanto, estes são componentes comuns que você pode ter por aí:
- Campainha de elemento piezo
- potenciômetro rotativo
- 7x fios jumper macho-macho
- Raspberry Pi Pico com pinos de cabeçalho GPIO soldados
- Protoboard
Se você é novo em modulação por largura de pulso (PWM) e potenciômetros, primeiro confira nosso guia sobre como usar um potenciômetro com seu Raspberry Pi Pico, que descreve como usá-lo para ajustar o brilho de um LED com PWM.
Montagem Necessária
Um fio jumper (amarelo na foto) conecta o lado esquerdo do potenciômetro ao trilho positivo (+) da breadboard. Outro fio jumper conecta o lado direito do potenciômetro ao lado negativo (-) da protoboard. Do pino do meio do potenciômetro, você precisará passar um fio de jumper para o pino GP26/A0 no Pico.
A campainha piezo precisará ter um fio indo de sua perna negativa para o trilho negativo da placa de ensaio e, em seguida, outra conexão de sua perna positiva para o pino GP15 no Raspberry Pi Pico.
Você também precisará passar um jumper de um pino GND no Pico para o trilho negativo na breadboard, para aterrar. Outro fio jumper conectará o pino 3V3 Out no Pico ao trilho positivo da breadboard, para alimentar os componentes.
Crie o código
Você pode pegar o código do repositório MUO GitHub. Baixe o arquivo MicroPython chamado piezo-buzzer.py e, em seguida, carregue-o em seu Pico por meio de um computador conectado via USB executando o Thonny IDE. Confira como começar a usar o MicroPython no Raspberry Pi Pico para obter detalhes.
As várias partes do código fazem o seguinte:
- Na parte superior, importamos os módulos necessários do MicroPython machine , math e time .
- Uma variável buzzer é então atribuída ao pino GP15 como uma saída PWM.
- Uma variável de potenciômetro é atribuída ao conversor analógico-digital (ADC) no pino GP26/A0 do Pico.
- Definimos uma função scale() que usa funções matemáticas para converter o alcance do movimento do potenciômetro em uma saída para a campainha.
- O while: o verdadeiro loop infinito lê a entrada do potenciômetro e usa a função de escala para convertê-la. Depois de verificar se não mudou muito em relação à frequência anterior, ele envia a frequência calculada para a campainha usando PWM (modulação por largura de pulso).
Em resumo, há centenas de pulsos sendo enviados por segundo e o tom da campainha mudará entre 120 Hz e 5 kHz quando o potenciômetro for girado no sentido horário ou anti-horário. Girar o potenciômetro altera a tensão lida pelo pino de entrada analógica do Pico, que por sua vez é usado para ajustar a frequência da campainha usando PWM.
Execute o código de Thonny (clique no ícone de reprodução ou pressione F5 no teclado) e experimente você mesmo. Após sua primeira execução, alguma alteração no código afetará os resultados físicos? Por exemplo, o que acontece se você alterar o intervalo (0 a 65535)? Esta parte do código está localizada logo abaixo enquanto True: onde a frequência é definida.
Definindo o tom
Se você estiver se sentindo aventureiro, tente usar a campainha para gerar tons musicais usando a biblioteca pi-pico-tones de martinkooij no GitHub. Por padrão, esta biblioteca irá gerar ondas senoidais; quatro geradores de tom podem funcionar em quatro pinos Pico diferentes, conforme você escolher. Observe que este projeto é baseado em C++ usando o Raspberry Pi Pico SDK, em vez do MicroPython, mas instruções completas são fornecidas no leia-me do GitHub.
O burburinho da Pico Eletrônica
Parabéns: você aprendeu a ler a entrada analógica de um potenciômetro e convertê-la em um sinal PWM para controlar um tom de campainha. Um potenciômetro é um dispositivo de entrada versátil para eletrônicos. Uma campainha piezo é outro componente útil: com a adição de um sensor de movimento infravermelho PIR, por exemplo, você pode detectar a presença de intrusos e soar o alarme.
Deixe um comentário