Tabla de contenido:
Video: El piano Arduino: 3 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Este "Piano" es capaz de tocar una octava de un piano real. La presión de botones representará la presión de una tecla en el piano. El sonido se transmitirá a través de un altavoz piezoeléctrico.
Paso 1: Materiales
1. Arduino Uno
2. Cable USB
3. 3 placas de prueba
4. 8 pulsadores
5. 8 resistencias de 100 Ohm
6. Altavoz "piezoeléctrico"
7. Muchos cables masculinos (alrededor de 20)
8. Soldador
Paso 2: cree la configuración
Construye 8 botones con cada uno de los 8 pines diferentes en el Arduino, agregando una resistencia a cada uno y conectándolos a tierra (usando los cables macho).
Conecte el altavoz al pin Arduino designado y el otro lado a tierra. Tendrá que soldar los cables al altavoz para que no se caiga. Asegúrese de que los dos cables soldados al altavoz no se toquen entre sí.
Paso 3: construcción del código
#define NOTE_B0 31 # define NOTE_C1 33 #define NOTE_CS1 35 #define NOTE_D1 37 #define NOTE_DS1 39 #define NOTE_E1 41 #define NOTE_F1 44 #define NOTE_FS1 46 #define NOTE_G1 49 #define NOTA_GS1 52 NOTE_B1 62 #define NOTE_C2 65 #define NOTE_CS2 69 #define NOTE_D2 73 #define NOTE_DS2 78 #define NOTE_E2 82 #define NOTE_F2 87 #define NOTE_FS2 93 #define NOTE_G2 98 #define NOTE_GS2 104 #define NOTE_2define # 123 #define NOTE_C3 131 #define NOTE_CS3 139 #define NOTE_D3 147 #define NOTE_DS3 156 #define NOTE_E3 165 #define NOTE_F3 175 #define NOTE_FS3 185 #define NOTE_G3 196 #define NOTE_GS3 208 #define NOTE_A3 220 #define #define NOTE_C4 262 #define NOTE_CS4 277 #define NOTE_D4 294 #define NOTE_DS4 311 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_FS4 370 #define NOTE_G4 392 #define #define NOTE_GS4 415 #define NOTE_Fine NOTA_A4C #D efine NOTE_CS5 554 #define NOTE_D5 587 #define NOTE_DS5 622 #define NOTE_E5 659 #define NOTE_F5 698 #define NOTE_FS5 740 #define NOTE_G5 784 #define NOTE_GS5 831 #define #define NOTE_A5 880 #define6 1109 #define NOTE_D6 1175 #define NOTE_DS6 1245 #define NOTE_E6 1319 #define NOTE_F6 1397 #define NOTE_FS6 1480 #define NOTE_G6 1568 #define NOTE_GS6 1661 #define #define #NOTA_A6 1760 #define NOTE_AS61893 definir NOTE_D7 2349 #define NOTE_DS7 2489 #define NOTE_E7 2637 #define NOTE_F7 2794 #define NOTE_FS7 2960 #define NOTE_G7 3136 #define NOTE_GS7 3322 #define NOTE_A7 3520 #define #define # 39NOTA_AS7 3729 #define8Define 4699 #define NOTE_DS8 4978
Estos "#defines" son para decirle al hablante qué frecuencia hace qué nota
const int C = 2; const int D = 3; const int E = 4; const int F = 5; const int G = 6; const int A = 7; const int B = 8; const int C2 = 9; const int piezoPin = 10; int cState = 0; int dState = 0; int eState = 0; int fState = 0; int gState = 0; int aState = 0; int bState = 0; int c2State = 0;
Designe los pines de Arduino a los botones. "cState, dState, eState, etc;" son variables que guardan si se presiona el botón. Un 0 significa que no está presionado, un 1 significa que está presionado.
void setup () {// ponga su código de configuración aquí, para que se ejecute una vez: pinMode (10, OUTPUT); Serial.begin (9600); }
void loop () {// ponga su código principal aquí, para que se ejecute repetidamente: cState = digitalRead (C); dState = digitalRead (D); eState = digitalRead (E); fState = digitalRead (F); gState = digitalRead (G); aState = digitalRead (A); bState = digitalRead (B); c2State = digitalRead (C2);
El estado del botón (si está presionado o no) se guarda en "cState, dState, eState, etc;"
Un 0 significa que no está presionado, un 1 significa que está presionado.
if (cState == 1) {tono (piezoPin, 131); } else {noTone (piezoPin);} if (dState == 1) {tone (piezoPin, 147); } else {noTone (piezoPin);} if (eState == 1) {tone (piezoPin, 165); } else {noTone (piezoPin);} if (fState == 1) {tone (piezoPin, 175); } else {noTone (piezoPin);} if (gState == 1) {tone (piezoPin, 196); } else {noTone (piezoPin);} if (aState == 1) {tone (piezoPin, 220); } else {noTone (piezoPin);} if (bState == 1) {tone (piezoPin, 247); } else {noTone (piezoPin);} if (c2State == 1) {tone (piezoPin, 262); } else {noTone (piezoPin);}}
Si se presiona un botón, le dice al servo que reproduzca la frecuencia certificada (nota). La función
{noTone (piezoPin);} les dice que si no se presiona el botón para reproducir nada. Por lo tanto, siempre que se presione el botón, tocará su nota designada.
Recomendado:
Piano Arduino Piezo Buzzer: 5 pasos
Piano Arduino Piezo Buzzer: Aquí haremos un piano Arduino que usa un piezo zumbador como altavoz. ¡Este proyecto es fácilmente escalable y puede funcionar con más o menos notas, dependiendo de ti! Lo construiremos con solo cuatro botones / teclas para simplificar. Este es un proyecto divertido y fácil
Piano Arduino simple: 8 pasos
Piano Arduino simple: hoy crearemos un piano Arduino simple de una octava, que puede ser un excelente punto de partida para otros proyectos. Este proyecto introducirá componentes básicos de Arduino y programación a nivel de escuela secundaria. Si bien el código está prefabricado, los individuos c
Piano Arduino con manual y 7 canciones preestablecidas: 7 pasos
Piano Arduino con manual y 7 canciones preestablecidas: La interfaz del teclado de piano Arduino con la pantalla LCD tiene 2 modos. El modo manual & El modo de preajustes. Usé 7 pulsadores para un piano simple de 7 teclas y 1 botón para el modo de configuración para cambiar a 7 canciones preestablecidas. Canciones en modo preestablecido: haga clic en el botón de modo de configuración fi
Sonidos de piano usando Arduino en TinkerCad: 4 pasos
Sonidos de piano usando Arduino en TinkerCad: En este tutorial, aprenderá a usar un zumbador (o altavoz piezoeléctrico) con Arduino. Los timbres se pueden encontrar en dispositivos de alarma, computadoras, temporizadores y la confirmación de la entrada del usuario, como un clic del mouse o una pulsación de tecla. También aprenderá a usar el tono () y
Mini piano usando Arduino: 4 pasos
Mini piano usando Arduino: Tutorial de Arduino: Mini piano usando Arduino En este video, te muestro cómo hacer un mini piano usando Arduino