Nano Piano es un piano de cuatro teclas que se ejecuta en un Arduino Nano. Este proyecto es amigable para principiantes y es genial si está buscando ingresar a Arduino o la electrónica en general.
Cosas utilizadas en este proyecto
- Arduino Nano
- Resistencia 1k ohmios
- Zumbador
- Interruptor pulsador 12mm
- Fuente de alimentación de pared (5V 3A)
- Protoboard 400p
Una base de construcción es esencialmente cómo se conectan todos los componentes. Algunos ejemplos importantes son el tablero perf (también llamado tablero proto ) y el tablero .
Programa
Antes de construir el piano, debe cargar el programa en Arduino. Para esto, necesitará instalar Arduino IDE, que es compatible con Windows 10, Linux y MacOS X.
// Customize the frequency values for each note (Note: It is not possible to generate tones lower than 31Hz.).
int noteOneFreq = 170;
int noteTwoFreq = 180;
int noteThreeFreq = 190;
int noteFourFreq = 200;
// Variables for each of the digital pins for components.
const int noteOne = 2;
const int noteTwo = 3;
const int noteThree = 4;
const int noteFour = 5;
const int passiveBuzzer = 6;
// Variables set to a default value.
int noteOneState = false;
int noteTwoState = false;
int noteThreeState = false;
int noteFourState = false;
void setup() {
// Setting INPUT pins.
pinMode(noteOne, INPUT);
pinMode(noteTwo, INPUT);
pinMode(noteThree, INPUT);
pinMode(noteFour, INPUT);
// Setting OUTPUT pins.
pinMode(passiveBuzzer, OUTPUT);
}
void loop() {
// Creating variables to read the state of each of the INPUT pins.
noteOneState = digitalRead(noteOne);
noteTwoState = digitalRead(noteTwo);
noteThreeState = digitalRead(noteThree);
noteFourState = digitalRead(noteFour);
if (noteOneState == HIGH) { // Checks if note state is sending a HIGH signal.
tone(passiveBuzzer, noteOneFreq); // Sends a frequency value to the passive buzzer according to which button is pressed.
} else if (noteTwoState == HIGH) { // Repeats.
tone(passiveBuzzer, noteTwoFreq);
} else if (noteThreeState == HIGH) {
tone(passiveBuzzer, noteThreeFreq);
} else if (noteFourState == HIGH) {
tone(passiveBuzzer, noteFourFreq);
} else
noTone(passiveBuzzer); // If none of the notes are sending a HIGH signal send noTone to the passive buzzer.
}
-
Arduino ATmega 2560 R3¡Oferta!
$20.50$19.00 -
Arduino Uno Wifi¡Oferta!
$15.00$13.00 -
Arduino Mini USB Nano V3.0 CH340 Chip Board 5V 16M + Cable¡Oferta!
$9.00$8.50