Tabla de contenido:
- Paso 1: Materiales necesarios
- Paso 2: ¡Tiempo de construcción
- Paso 3: Módulo de sensor de sonido y LED RGB
- Paso 4: Código
- Paso 5: Pensamientos finales
Video: Módulo de teclado Piano con LED RGB: 5 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Intro
Hola damas y caballeros, ¡bienvenidos a mi primer instructable! Hoy, les enseñaré cómo crear un piano con componentes principales como un módulo de teclado y un zumbador piezoeléctrico y hacer que pueda tocar DO-RE-MI y así sucesivamente.
El módulo de teclado más a menudo previsto es ser un teclado combinado con un RFID arduino para crear una caja segura para artículos valiosos. En este caso cambié el teclado, en lugar de proteger algo que decido usar para hablar la simple alegría y la música.
Concepto de idea
El concepto de idea para esta creación, evolucionó de un simple recuerdo feliz mientras tocaba el xilófono cuando era más joven en la clase de música. La cantidad de alegría y emoción que atravesaba mi cuerpo estaba en su punto máximo, quiero decir que todos los niños se sentían satisfechos fácilmente y mi satisfacción era tocar el xilófono.
Investigar
Después de que se encienda la bombilla de la idea anterior, se debe investigar un poco. Después de navegar por la web durante algún tiempo, ¡se me ocurrió la idea que pensé inicialmente! Un módulo de teclado convertido en piano, alguien ha creado el mismo video del proyecto aquí. Pensando en el futuro, necesitaba agregar un componente separado que mejoraría aún más el proyecto, pero lo haría más atractivo y podría llamarlo mío.
Paso 1: Materiales necesarios
Lista de materiales
- Zumbador piezoeléctrico 1x ▶
- Módulo de teclado 4x4 1x ▶
- Arduino Uno 1x ▶
- Cable USB 2.0 tipo A / B 1x ▶
- Módulo de sensor de sonido 1x ▶
- LED RGB 1x ▶
- Resistencia de 330 ohmios 3x ▶
- Cable de puente macho a hembra 8x ▶
- Cable de puente macho a macho 4x ▶
- Cable de puente macho a hembra de 3 pines 1x ▶
La lista de materiales está en orden con las imágenes de arriba.
Paso 2: ¡Tiempo de construcción
Módulo de teclado 4x4 y zumbador piezoeléctrico
Teoría
Como el módulo de teclado 4x4 y el zumbador piezoeléctrico contienen tantas entradas de pines individuales, decidiré dividir los componentes utilizados en dos pares. Centrándose en el teclado, generalmente utilizado como entrada. El módulo de teclado matricial SunFounder 4 * 4 es un teclado matricial no codificado que consta de 16 teclas en paralelo. Las teclas de cada fila y columna se conectan a través de los pines externos: el pin Y1-Y4 como se indica al lado de controlar las filas, cuando X1- X4, las columnas.
Objetivo
El propósito de estos componentes para todo el proyecto es permitir al usuario presionar un botón que está configurado para un sonido específico creado por el zumbador piezoeléctrico a través de la frecuencia en hercios.
Pin del módulo de matriz - Pin Arduino
- 4 - 2
- 3 - 3
- 2 - 4
- 1 - 5
- 5 - 6
- 6 - 7
- 7 - 8
- 8 - 13
Zumbador piezoeléctrico - Pin Arduino
Negro - GND
Poder rojo
Mi tarea más difícil en esta construcción es averiguar dónde se conecta cada cable. Arriba le proporciono una forma rápida y sencilla de cómo localizar las ubicaciones de los cables, siempre y cuando se siga de arriba a abajo, la sugerencia es tomarse su tiempo y asegurarse de que cada clavija esté insertada correctamente en la ranura correcta.
* El consejo es seguir la ubicación de cada cable de un extremo a otro.
Todos los bocetos de Tinkercad de los cables de componentes específicos están codificados por colores correctamente, así que sígalos cuidadosamente
Paso 3: Módulo de sensor de sonido y LED RGB
Módulo de sensor de sonido y LED RGB
Teoría
El módulo del sensor de sonido le permite detectar cuando el sonido ha excedido un punto de ajuste que seleccione. El sonido se detecta a través de un micrófono y se envía a un amplificador operacional LM393. Una vez que el nivel de sonido supera el punto de ajuste, se ilumina un LED en el módulo y la salida.
Objetivo
El propósito de estos componentes para todo el proyecto, es obtener una lectura de sonido / volumen del módulo sensor de sonido y, a través de esa lectura, un LED RGB activará el color correcto correspondiente al sonido.
Módulo de sensor de sonido - Pin Arduino (Utilice un cable de puente de 3 pines)
- Salida - Pin analógico A0
- GND: cualquier ranura de clavija GND abierta
- VCC - 3 V
LED RGB de ánodo común (+) - Pin Arduino
- Rojo - 9
- Energía - 5V
- Verde - 10
- Azul - 11
Recuerde cablear, cada cable individual a través de una resistencia de 330 ohmios. Utilice la imagen de arriba como referencia.
Mi tarea más difícil en esta construcción es averiguar dónde se conecta cada cable. Más arriba le proporciono una forma rápida y sencilla de cómo llegar a las ubicaciones de los cables, siempre que se siga de arriba a abajo, el consejo es que se tome su tiempo y se asegure de que cada pin esté insertado correctamente en la ranura correcta para evitar futuras depuraciones.
* El consejo es seguir el lugar donde se inserta cada cable de cualquier manera
Todos los bocetos de Tinkercad de los cables de componentes específicos están codificados por colores correctamente, así que sígalos
Paso 4: Código
Código
Este código permite que todos los componentes funcionen juntos mediante el uso de la función recién definida para contener todos los controles, un solo componente que tiene muchas variables cambiables, esos componentes eran el LED RGB y el color rgb para cambiar el color mientras está encendido y el zumbador piezoeléctrico y el sonido que haría dependiendo de la pulsación del botón.
Un elemento imprescindible dentro de este código era la biblioteca de teclados.
Enlace aquí:
Una vez descargado, agregue la nueva biblioteca en el arduino, luego inserte la única línea de código necesaria para activarlo.
Las dificultades que tuve durante el código fueron dónde colocar las funciones recién definidas, ya que a través de prueba y error descubrí que tenía que estar en la configuración y no en el ciclo.
Código
#include // Biblioteca de teclados
int greenPin = 11; // Pin verde RGB conectado al pin digital 9
int redPin = 10; // Pin rojo RGB conectado al pin digital 9
int bluePin = 9; // Pin azul RGB conectado al pin digital 9 int speakerPin = 12; // altavoz conectado al pin digital 12 const byte ROWS = 4; // cuatro filas const byte COLS = 4; // cuatro columnas const int soundPin = A0; // sensor de sonido adjunto a A0
char claves [FILAS] [COLS] = {
{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l '}, {' m ',' n ',' o ',' p '}}; // Visualización del módulo de teclado
byte rowPins [FILAS] = {2, 3, 4, 5}; // conectarse a los pines de fila del teclado
byte colPins [COLS] = {6, 7, 8, 13}; // conectarse a los pines de la columna del teclado
Teclado teclado = Teclado (makeKeymap (teclas), rowPins, colPins, ROWS, COLS); // Crea claves
configuración vacía () {
pinMode (altavozPin, SALIDA); // establece el SpeakerPin para que sea una salida
pinMode (redPin, SALIDA); // establece el pin rojo para que sea un pinMode de salida (greenPin, OUTPUT); // establece el pin verde para que sea un pinMode de salida (bluePin, OUTPUT); // establece el pin azul para que sea una salida
Serial.begin (9600);
} void setColor (int red, int green, int blue) // Nueva función definida para permitir que RGB muestre el color a través del código RGB {#ifdef COMMON_ANODE red = 255 - red; verde = 255 - verde; azul = 255 - azul; #endif analogWrite (redPin, rojo); analogWrite (greenPin, verde); analogWrite (bluePin, azul); }
bip void (unsigned char speakerPin, int FrequencyInHertz, long timeInMilliseconds) {// las funciones de producción de sonido
int x; long delayAmount = (largo) (1000000 / FrequencyInHertz); long loopTime = (long) ((timeInMilliseconds * 1000) / (delayAmount * 2)); para (x = 0; x
bucle vacío () {
char key = keypad.getKey (); int value = analogRead (soundPin); // lee el valor de A0 Serial.println (value); // imprime el valor
if (clave! = NO_KEY) {
Serial.println (clave); } if (key == 'a') {beep (speakerPin, 2093, 100); setColor (218, 112, 214); } if (key == 'b') {beep (speakerPin, 2349, 100); setColor (218, 112, 214); } if (key == 'c') {beep (speakerPin, 2637, 100); setColor (218, 112, 214); } if (key == 'd') {beep (speakerPin, 2793, 100); setColor (218, 112, 214); } if (key == 'e') {beep (speakerPin, 3136, 100); setColor (218, 112, 214); } if (key == 'f') {beep (speakerPin, 3520, 100); setColor (218, 112, 214); } if (key == 'g') {beep (speakerPin, 3951, 100); setColor (218, 112, 214); } if (clave == 'h') {bip (speakerPin, 4186, 100); setColor (218, 112, 214); } if (key == 'i') {beep (speakerPin, 2093, 100); setColor (230, 230, 0); } if (clave == 'j') {bip (speakerPin, 2349, 100); setColor (180, 255, 130); } if (key == 'k') {beep (speakerPin, 2637, 100); setColor (130, 255, 130); } if (clave == 'l') {bip (speakerPin, 2739, 100); setColor (130, 220, 130); } if (key == 'm') {beep (speakerPin, 3136, 100); setColor (0, 255, 255); } if (clave == 'n') {bip (speakerPin, 3520, 100); setColor (0, 220, 255); } if (key == 'o') {bip (speakerPin, 3951, 100); setColor (0, 69, 255); } if (clave == 'p') {bip (speakerPin, 4186, 100); setColor (255, 0, 255); }}
Paso 5: Pensamientos finales
Pensamientos finales
Los pensamientos finales de este proyecto es que su propósito previsto es ser un juguete, brindar diversión y alegría simplista. Como este proyecto está completo y en funcionamiento, creo que esta compilación y puede avanzar con quizás más componentes, como un elemento de grabación, o copiar / simon dice elemento, o incluso LCD con las notas que parecen tocar una canción específica.
Me encantaría saber su opinión sobre el Módulo de teclado, qué componentes pensó que podrían haberse agregado. ¿Lo vas a utilizar en alguno de tus proyectos? Publique sus ideas en la sección de comentarios a continuación.
Por favor asegúrese de compartir si disfrutó de este proyecto arduino.
Recomendado:
Convertir Un Teclado Muerto a Un Teclado MIDI: 8 Pasos
Convertir Un Teclado Muerto a Un Teclado MIDI: Hace un tiempo cuando era pequeño tenia un teclado funcional que me encantaba tocarlo, aunque solo sabia poquitas notas me encantaba tocarlo, un dia le conecte el eliminador equivocado pero no me habia dado cuenta cuando lo conecte todo estaba funci
Módulo de protección de teclado LCD 1602 con mochila I2C: 6 pasos
1602 Módulo de protección de teclado LCD con mochila I2C: Como parte de un proyecto más grande, quería tener una pantalla LCD y un teclado para navegar por algunos menús simples. Usaré muchos de los puertos de E / S en el Arduino para otros trabajos, así que quería una interfaz I2C para la pantalla LCD. Así que compré hardware
Configuración del módulo DS1302 RTC con teclado + Arduino + LCD: 3 pasos
Configuración del módulo DS1302 RTC con teclado + Arduino + LCD: Hola, acabo de hacer este pequeño proyecto, espero que les guste, ya que el título dice que se trata de cómo usar un teclado para configurar el DS1302, es uno de los proyectos básicos que puede agréguelo a su propio proyecto si desea agregar otros módulos o funciones … Es v
Interfaz de teclado con 8051 y visualización de números de teclado en 7 segmentos: 4 pasos (con imágenes)
Interfaz de teclado con 8051 y visualización de números de teclado en 7 segmentos: En este tutorial, le contaré cómo podemos interconectar el teclado con 8051 y mostrar los números de teclado en la pantalla de 7 segmentos
Teclado Das rápido y sucio (teclado en blanco): 3 pasos
Teclado Das rápido y sucio (teclado en blanco): Un teclado Das es el nombre del teclado más popular sin inscripciones en las teclas (teclado en blanco). El teclado Das se vende por $ 89.95. Este instructivo lo guiará a la hora de hacer uno usted mismo con cualquier teclado antiguo que tenga por ahí