Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Creado por: Haotian Ye
Visión general
Este es un tablero de piano con ocho interruptores de botón que te permite tocar una octava (Do Re Mi Fa So La Si Do) y con esta octava puedes intentar tocar algunas canciones que te gustan. Para este proyecto, hay algunos conocimientos importantes que necesita saber antes de comenzar.
Primero, necesitamos conocer las frecuencias de las notas básicas de un piano.
Las frecuencias se enumeran a continuación:
Hacer - 261Hz
Re - 294Hz
Mi - 329 Hz
Fa - 349 Hz
Entonces - 392Hz
La - 440Hz
Si - 493 Hz
Hacer - 523Hz
En segundo lugar, le mostraré cómo construir el circuito utilizando las piezas que se pueden comprar en la tienda electrónica de Lee. Finalmente, presentaré y explicaré el código que debe cargarse en la placa Arduino.
Piezas que necesitará:
Arduino Uno R3 (ID de producto: 10997)
Cable USB A a B M / M (ID de producto: 29861)
Resistencia de 10K * 8 (ID de producto: 91516)
Diferentes colores de interruptor de tachuela * 8 (ID de producto: 3124, 31242, 31243, 31245, 31246)
Mini altavoz (identificación del producto: 41680)
Placa de pruebas (ID de producto: 106861)
Cables de puente (ID de producto: 21801)
Paso 1: Paso 1: Construcción del circuito
Primero, inserte todos los interruptores de botón y el mini altavoz en la placa de pruebas uno por uno y combínelos en una fila. Luego conecte las clavijas de cada interruptor de botón a tierra. En segundo lugar, conecte resistencias de 10k entre la potencia positiva y los otros pines de cada interruptor de botón. Y conecte esta columna a los pines 2-9 en la placa Arduino. Además, conecte la tierra al pin de tierra y la energía positiva al pin de 3.3v en Arduino. Finalmente, conecte el mini altavoz al pin 10 en Arduino.
Paso 2: Paso 2: Código y explicación
El siguiente código es lo que escribí.
const int negro = 2;
const int blanco = 3;
const int rojo = 4;
const int verde = 5;
const int azul = 6;
const int black2 = 7;
const int green2 = 8;
const int red2 = 9;
const int speaker = 10; // Vincula todos los interruptores de botón y el altavoz con los pines de señal de arduino
int frecuencia = {262, 294, 330, 349, 392, 440, 493, 523}; // la matriz contiene todas las frecuencias de una octava
configuración vacía () {
// ponga su código de configuración aquí, para que se ejecute una vez:
pinMode (negro, ENTRADA);
pinMode (blanco, ENTRADA);
pinMode (rojo, ENTRADA);
pinMode (verde, ENTRADA);
pinMode (azul, ENTRADA);
pinMode (negro2, ENTRADA);
pinMode (verde2, ENTRADA);
pinMode (red2, ENTRADA);
pinMode (altavoz, SALIDA);
tono (altavoz, 2000);
Serial.begin (9600);
}
bucle vacío () {
// ponga su código principal aquí, para que se ejecute repetidamente:
if (digitalRead (negro) == LOW) // cuando presiona el interruptor de botón "DO"
{tono (altavoz, frecuencia [0], 50);
retraso (50);
noTone (altavoz);}
else if (digitalRead (white) == LOW) // cuando presiona el interruptor de botón "RE"
{tono (altavoz, frecuencia [1], 50);
retraso (50);
noTone (altavoz);}
else if (digitalRead (red) == LOW) // cuando presiona el interruptor de botón "MI"
{tono (altavoz, frecuencia [2], 50);
retraso (50);
noTone (altavoz);}
else if (digitalRead (verde) == LOW) // cuando presiona el interruptor de botón "FA"
{tono (altavoz, frecuencia [3], 50);
retraso (50);
noTone (altavoz);}
else if (digitalRead (azul) == LOW) // cuando presiona el interruptor de botón "SO"
{tono (altavoz, frecuencia [4], 50);
retraso (50);
noTone (altavoz);}
else if (digitalRead (black2) == LOW) // cuando presiona el interruptor de botón "LA"
{tono (altavoz, frecuencia [5], 50);
retraso (50);
noTone (altavoz);}
else if (digitalRead (green2) == LOW) // cuando presiona el interruptor de botón "SI"
{tono (altavoz, frecuencia [6], 50);
retraso (50);
noTone (altavoz);}
else if (digitalRead (red2) == LOW) // cuando presiona el interruptor de botón "DO"
{tono (altavoz, frecuencia [7], 50);
retraso (50);
noTone (altavoz);}
else // cuando presionas nada
noTone (altavoz);
}
Primero, tenemos que declarar todos los interruptores de botón y el altavoz como el pin del 2 al 10 en Arduino. Cada interruptor representa una nota. Luego, use una matriz para poner todas las frecuencias dentro. A continuación, la declaración If y else es lo que uso para que Arduino sepa qué interruptor de botón presiono.
Finalmente, conecte su placa Arduino a su computadora o computadora portátil con un cable USB A a B. Antes de cargar su código, aún necesita descargar el software Arduino y realizar algunos ajustes predeterminados. Seleccione Herramientas -> Placa -> Arduino / Genuino Uno; Luego debemos seleccionar el puerto de comunicación conectado a la placa Arduino. Seleccione Herramientas -> Puerto, luego el nombre de puerto que tenga la etiqueta "(Arduino / Genuino Uno)". Luego, puede cargar el código en la placa Arduino.