Taula de continguts:
Vídeo: El piano Arduino: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
Aquest "piano" és capaç de tocar una octava d'un piano real. Prémer els botons representarà prémer una tecla al piano. El so es retransmetrà mitjançant un altaveu Piezo.
Pas 1: materials
1. Arduino Uno
2. Cable USB
3. 3 taules de suport
4. 8 Polsadors
5. 8 resistències de 100 Ohm
6. Altaveu "Piezo"
7. Molts cables masculins (uns 20)
8. Soldador
Pas 2: creeu la configuració
Construïu 8 botons amb cadascun d'ells en vuit pins diferents a l'Arduino, afegint-hi una resistència i connectant-los a terra (mitjançant els cables masculins).
Connecteu l'altaveu al pin Arduino designat i l'altre costat a terra. Haureu de soldar els cables a l’altaveu perquè no caigui. Assegureu-vos que els dos cables soldats a l’altaveu no es toquin.
Pas 3: construcció del codi
#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 NOTE_GS1 52 #define NOTE_A1 55 #define NOTE_AS1 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_A2 110 #define NOTE_AS2 117 #define #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 NOTE_AS3 233 #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 NOTE_GS4 415 #define NOTE_A4 440 #define NOTE_AS4 464_B4 #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 NOTE_A5 880 #define NOTE_AS5 932 #Define NOTA_B5 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 NOTE_A6 1760 #define NOTE_AS6 1865 #define NOTE_B6 1976 #S7 definiu 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 NOTE_AS7 3729 #define NOTE_B7 3951 #define NOTE4C8 4699 #define NOTE_DS8 4978
Aquests "#defines" són per indicar a l'altaveu quina freqüència fa que 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 Estat c = 0; int dState = 0; int eState = 0; int fState = 0; int gState = 0; int aEstat = 0; int Estat b = 0; int c2State = 0;
Designeu els pins d'Arduino als botons. "cState, dState, eState, etc;" són variables que guarden si es prem el botó. Un 0 significa que no es prem, un 1 significa que es prem.
void setup () {// posa aquí el teu codi de configuració per executar-lo una vegada: pinMode (10, OUTPUT); Serial.begin (9600); }
void loop () {// posa aquí el teu codi principal per executar-lo repetidament: cState = digitalRead (C); dState = digitalRead (D); eState = digitalRead (E); fEstat = DigitalRead (F); gState = digitalRead (G); aEstat = DigitalRead (A); bEstat = DigitalRead (B); c2State = digitalRead (C2);
L'estat del botó (si es prem o no) es desa a "cState, dState, eState, etc;"
Un 0 significa que no es prem, un 1 significa que es prem.
if (cState == 1) {tone (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 es prem un botó, indica al servo que reprodueixi la freqüència de certiain (nota). La funció
{noTone (piezoPin);} els diu que si no es prem el botó no es reproduirà res. Per tant, sempre que es prem el botó, reproduirà la nota designada.
Recomanat:
Piano Arduino Piezo Buzzer: 5 passos
Arduino Piezo Buzzer Piano: aquí farem un piano Arduino que utilitzi un buzzer piezoelèctric com a altaveu. Aquest projecte és fàcilment escalable i pot funcionar amb més o menys notes, segons vosaltres. El construirem amb només quatre botons / tecles per simplificar. Això és divertit i fàcil de projectar
Piano Arduino simple: 8 passos
Piano Arduino simple: Avui crearem un piano Arduino simple d’una octava, que pot ser un gran punt de partida per a altres projectes. Aquest projecte introduirà components bàsics d’Arduino i programació a nivell de batxillerat. Tot i que el codi està format per individus pre
Piano Arduino amb manual i 7 cançons predefinides: 7 passos
Piano Arduino amb cançons predeterminades manuals i 7: la interfície del teclat Arduino Piano amb pantalla LCD té mode 2. El mode manual & El mode de presets. He fet servir 7 polsadors per a un simple piano de 7 tecles i 1 botó per configurar el mode per canviar a 7 cançons predefinides. Cançons en mode predefinit: feu clic al botó del mode de configuració fi
Sons de piano mitjançant Arduino a TinkerCad: 4 passos
Sons de piano utilitzant Arduino a TinkerCad: en aquest tutorial, aprendreu a utilitzar un brunzidor (o altaveu piezoelèctric) amb Arduino. Els brunzidors es poden trobar en dispositius d’alarma, ordinadors, temporitzadors i confirmació de l’entrada de l’usuari, com ara un clic del ratolí o una pulsació de tecla. També aprendreu a utilitzar el to () i
Mini piano amb Arduino: 4 passos
Mini piano amb Arduino: Tutorial Arduino: Mini piano amb Arduino En aquest vídeo, us mostro com fer un mini piano amb Arduino