Tabla de contenido:

Arduino - Piano piezoeléctrico de tres botones: 4 pasos
Arduino - Piano piezoeléctrico de tres botones: 4 pasos

Video: Arduino - Piano piezoeléctrico de tres botones: 4 pasos

Video: Arduino - Piano piezoeléctrico de tres botones: 4 pasos
Video: 🎵 Tonos y melodías con el dispositivo piezo speaker usando Arduino y Tinkercad 2024, Noviembre
Anonim
Image
Image

El piano de tres botones es un proyecto para principiantes con cierta experiencia en el uso de Arduino.

Sin darme cuenta, fui arrastrado al intentar crear esto mientras jugaba con el zumbador piezoeléctrico por primera vez. ¡Fue TAN ruidoso! Al tratar de descubrir varios métodos para hacer que el zumbador sea más silencioso y probar diferentes frecuencias usando la función tone () y noTone (), me di cuenta de que podría ser divertido intentar mezclar el zumbador piezoeléctrico con mis otros componentes favoritos de mi Arduino. kit: botones y potenciómetro.

Los materiales necesarios incluyen:

  • 1 Arduino
  • 1 tablero
  • 1 cable USB
  • Cables de puente (varios colores)
  • 1 resistencia de 330 kilo-ohmios
  • 1 zumbador piezoeléctrico
  • 3 pulsadores
  • 1 potenciómetro

Paso 1: zumbador piezoeléctrico

Zumbador piezoeléctrico
Zumbador piezoeléctrico

Para comenzar, configure el piezo en la placa de pruebas del Arduino. Un lado (el lado de la pierna más corta) necesita correr hacia el suelo. El otro lado (el lado de la pata más larga) debe conectarse a un pin de entrada digital. Elegí conectarlo a 8.

Paso 2: botones pulsadores

Apretar botones
Apretar botones
Apretar botones
Apretar botones

A continuación, es el momento de configurar los pulsadores. Al igual que el piezo, los botones pulsadores deben conectarse a tierra y a un pin de entrada digital.

Paso 3: potenciómetro

Potenciómetro
Potenciómetro
Potenciómetro
Potenciómetro

El último paso en la construcción física es el potenciómetro. Los potenciómetros vienen en diferentes formas. Usaremos el potenciómetro como divisor de voltaje, por lo que sus tres patas deben estar conectadas.

Pierna derecha: barra negativa (suelo)

Pierna media: Pin analógico 0

Pierna izquierda: barra positiva

Paso 4: ¡Código

Mientras escribía el código para este proyecto, hice referencia a información sobre algunos tipos específicos de funciones:

tono()

noTone () (No terminé usando este. En su lugar, configuré la frecuencia en "0").

mapa()

Aquí puede encontrar otra maravillosa referencia para los usuarios primerizos de los zumbadores piezoeléctricos. Aunque la idea de cambiar el sonido del zumbador piezoeléctrico parece simple, ¡puede ser un poco abrumadora al principio!

La función tone () se puede dividir en tres partes:

  1. Pin (el pin al que está conectado el zumbador piezoeléctrico)
  2. Frecuencia (la frecuencia del sonido en hercios)
  3. Duración (la duración del sonido expresada en milisegundos)

Básicamente, se ve así: tono (pin, frecuencia, duración). El tercer componente (duración) es opcional, mientras que los otros dos son necesarios para que funcione el timbre. El componente de "frecuencia" de la función de tono es lo que se puede considerar como "el sonido" que produce el zumbador.

También notará que el código incluye otros dos bits de código. Hay algunas declaraciones if / else configuradas para decirle al Arduino qué hacer si se presionan diferentes botones, así como para configurarlo con "frecuencia = 0" en situaciones en las que no se presiona ninguno de los botones. Dentro de las declaraciones if / else, las funciones map () se utilizan para mapear la escala del potenciómetro en un conjunto de frecuencias. ¡Estos se pueden cambiar! Juega con diferentes valores de frecuencia para ver qué diferentes sonidos puedes obtener del piezo.

Mira el código que utilicé para crear el piano de tres botones aquí o mira a continuación.

int piezoPin = 8; // Configure el pin conectado a Piezo.

int sensorPin = 0; // Configure el pin conectado al sensor (el potenciómetro). int sensorValue = 0;

int button1 = 5; // Configure los pines de entrada conectados a los botones.

int button2 = 4; int button3 = 3;

int frecuencia = 0;

const int delayTime = 500; // Configure una constante para la variable de tiempo de retardo en la función tone ().

configuración vacía () {

pinMode (botón1, INPUT_PULLUP); pinMode (botón2, INPUT_PULLUP); pinMode (botón3, INPUT_PULLUP); }

bucle vacío () {

sensorValue = analogRead (sensorPin); // Leer el sensor. // Asigna los diferentes valores del potenciómetro a un conjunto de frecuencias para cada uno de los tres botones. if (digitalRead (button1) == LOW) {frecuencia = mapa (sensorValue, 0, 1023, 400, 499); } else if (digitalRead (button2) == LOW) {frecuencia = mapa (sensorValue, 0, 1023, 500, 599); } else if (digitalRead (button3) == LOW) {frecuencia = mapa (sensorValue, 0, 1023, 600, 699); } más {frecuencia = 0; } tono (piezoPin, frecuencia, delayTime); // Configura las funciones tone () con variables. }

Recomendado: