Índice:
Vídeo: Arduino - Piano Piezo de três botões: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
O piano de três botões é um projeto para iniciantes com alguma experiência no uso do Arduino.
Eu fui levado inadvertidamente a tentar criar isto enquanto brincava com a campainha piezoeléctrica pela primeira vez. Foi TÃO alto! Ao tentar descobrir vários métodos para tornar a campainha mais silenciosa e experimentar diferentes frequências usando as funções tone () e noTone (), percebi que seria divertido tentar misturar a campainha piezoelétrica com meus outros componentes favoritos do meu Arduino kit: botões e potenciômetro.
Os materiais necessários incluem:
- 1 Arduino
- 1 breadboard
- 1 cabo USB
- Jumper Wires (várias cores)
- 1 Resistor de 330 Kilo-ohm
- 1 Piezo Buzzer
- 3 botões de pressão
- 1 potenciômetro
Etapa 1: Piezo Buzzer
Para começar, configure o piezo na placa de ensaio do Arduino. Um lado dele (o lado da perna mais curta) precisa correr para o chão. O outro lado (o lado mais longo da perna) precisa se conectar a um pino de entrada digital. Optei por conectá-lo a 8.
Etapa 2: botões de pressão
Em seguida, é hora de configurar os botões de pressão. Como o piezo, os botões precisam ser conectados ao aterramento e a um pino de entrada digital.
Etapa 3: Potenciômetro
A etapa final na construção física é o potenciômetro. Os potenciômetros vêm em algumas formas diferentes. Usaremos o potenciômetro como um divisor de voltagem, portanto, todas as três pernas precisam ser conectadas.
Perna Direita: Barra Negativa (Terra)
Perna do meio: Pino analógico 0
Perna Esquerda: Barra Positiva
Etapa 4: Código
Ao escrever o código para este projeto, fiz referência a informações sobre alguns tipos específicos de funções:
tom()
noTone () (Acabei não usando este. Defini a frequência para "0" em vez disso.)
mapa()
Outra referência maravilhosa para usuários iniciantes dos Piezo Buzzers pode ser encontrada aqui. Embora a ideia de alterar o som da campainha piezoelétrica pareça simples, pode ser um pouco opressor no início!
A função tone () pode ser dividida em três partes:
- Pino (o pino ao qual a campainha piezoelétrica está conectada)
- Frequência (a frequência do som em hertz)
- Duração (a duração do som dada em milissegundos)
Basicamente, é assim: tom (pino, frequência, duração). O terceiro componente (duração) é opcional, enquanto os outros dois são necessários para o funcionamento da campainha. O componente de "frequência" da função de tom é o que pode ser considerado "o som" que está sendo produzido pela campainha.
Você também notará que o código apresenta dois outros bits de código. Existem algumas instruções if / else configuradas para dizer ao Arduino o que fazer se botões diferentes forem pressionados, bem como configurá-lo com "frequência = 0" em situações em que nenhum dos botões está sendo pressionado. Dentro das instruções if / else, as funções map () são usadas para mapear a escala do potenciômetro em um conjunto de frequências. Isso pode ser alterado! Brinque com diferentes valores de frequência para ver quais sons diferentes você consegue obter do piezo.
Verifique o código que usei para criar o piano de três botões aqui ou abaixo.
piezoPin int = 8; // Configure o pino conectado ao Piezo.
int sensorPin = 0; // Configure o pino conectado ao sensor (o potenciômetro). int sensorValue = 0;
botão interno 1 = 5; // Configure os pinos de entrada conectados aos botões.
botão interno 2 = 4; botão interno 3 = 3;
frequência interna = 0;
const int delayTime = 500; // Configure uma constante para a variável de tempo de atraso na função tone ().
void setup () {
pinMode (button1, INPUT_PULLUP); pinMode (button2, INPUT_PULLUP); pinMode (button3, INPUT_PULLUP); }
void loop () {
sensorValue = analogRead (sensorPin); // Leia o sensor. // Mapeie os diferentes valores do potenciômetro para um conjunto de frequências para cada um dos três botões. if (digitalRead (button1) == LOW) {freqüência = map (sensorValue, 0, 1023, 400, 499); } else if (digitalRead (button2) == LOW) {frequência = map (sensorValue, 0, 1023, 500, 599); } else if (digitalRead (button3) == LOW) {frequência = map (sensorValue, 0, 1023, 600, 699); } mais {frequência = 0; } tom (piezoPin, frequência, delayTime); // Configure as funções tone () com variáveis. }
Recomendado:
Controle Arduino de velocidade e direção do motor DC usando um potenciômetro, display OLED e botões: 6 etapas
Arduino Controlar velocidade e direção do motor DC usando um potenciômetro, display OLED e botões: neste tutorial, aprenderemos como usar um driver L298N DC MOTOR CONTROL e um potenciômetro para controlar a velocidade e direção de um motor DC com dois botões e exibir o valor do potenciômetro no display OLED. Assista a um vídeo de demonstração
Controle Arduino de velocidade e direção do motor DC usando um potenciômetro e botões: 6 etapas
Controle de velocidade e direção do motor DC Arduino usando um potenciômetro e botões: neste tutorial, aprenderemos como usar um driver L298N DC MOTOR CONTROL e um potenciômetro para controlar a velocidade e direção de um motor DC com dois botões. Assista a um vídeo de demonstração
Painel de botões do Arduino USB: 5 etapas (com imagens)
Painel de botões do Arduino USB: O Arduino Leonardo é uma placa muito poderosa com algumas pequenas diferenças do muito popular Arduino UNO. O ATMega 32U4 é o processador principal do Leonardo. Você pode usar este microcontrolador para comunicações seriais via USB. O Arduino Leo
Arduino e botões giratórios: 9 etapas
Arduino e botões giratórios: neste artigo, examinamos o uso dos botões giratório / giratório com nossos sistemas Arduino. Aqui estão alguns exemplos provenientes da PMD Way
Três botões de tecido: 6 etapas (com imagens)
Três botões de tecido: esses botões de tecido super simples são suaves, divertidos de empurrar e podem ser úteis na construção de vários protótipos. Todos eles compartilham o mesmo terreno ou mais, dependendo do que você conecta. Também estou vendendo esses botões de tecido feitos à mão via