Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado. Consulte Mais informação.

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.

Neste projeto, você aprenderá como ler um sinal analógico de um potenciômetro e convertê-lo em um PWM (modulação por largura de pulso) sinal para manipular a frequência, ou tom, de uma campainha com a ajuda do MicroPython código.

Quais peças são necessárias?

Este projeto é baseado na 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í:

  • Buzina 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, verifique primeiro nosso guia sobre

instagram viewer
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 no 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 detalhes.

As várias partes do código fazem o seguinte:

  • No topo, importamos o necessário máquina, matemática, e tempo Módulos MicroPython.
  • A campainha A variável é então atribuída ao pino GP15 como uma saída PWM.
  • A potenciômetro A variável é atribuída ao conversor analógico-digital (ADC) no pino GP26/A0 do Pico.
  • Nós definimos um escala() função que usa funções matemáticas para converter o alcance do movimento do potenciômetro em uma saída para a campainha.
  • O enquanto: Verdadeiro loop infinito lê a entrada do potenciômetro, então usa o escala função para convertê-lo. Depois de verificar se não mudou muito em relação à frequência anterior, ele envia o valor calculado frequência à 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 seu 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 faixa (0 a 65535)? Esta parte do código está localizada logo abaixo enquanto verdadeiro: onde o frequência é definido.

Definindo o tom

Se você estiver se sentindo aventureiro, pode tentar usar a campainha para gerar tons musicais usando martinkooij's tons pi-pico biblioteca 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 de 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.