Innehållsförteckning:
Video: Arduino -piano med tryckknappsbrytare: 3 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:43
Skapad av: Haotian Ye
Översikt
Detta är ett pianotavla med åtta tryckknappar som låter dig spela en oktav (Do Re Mi Fa So La Si Do) och med den här oktaven kan du försöka spela några låtar du gillar. För detta projekt finns det några viktiga kunskaper du behöver veta innan du börjar.
Först måste vi känna till frekvenserna för ett pianos grundtoner.
Frekvenserna anges nedan:
Gör - 261Hz
Om - 294 Hz
Mi - 329Hz
Fa - 349Hz
Alltså - 392Hz
La - 440Hz
Si - 493Hz
Gör - 523Hz
För det andra kommer jag att visa dig hur du bygger kretsen med hjälp av delarna som kan köpas från Lees elektroniska butik. Slutligen , Jag kommer att presentera och förklara koden som måste laddas upp på Arduino -kortet.
Delar du behöver:
Arduino Uno R3 (Produkt -ID: 10997)
USB A till B -kabel M/M (produkt -ID: 29861)
10K motstånd * 8 (produkt -ID: 91516)
Olika färger på tack -switch * 8 (produkt -ID: 3124, 31242, 31243, 31245, 31246)
Minihögtalare (produkt -ID: 41680)
Brödbräda (Produkt -ID: 106861)
Jumper Wires (Produkt -ID: 21801)
Steg 1: Steg 1: Bygg kretsen
Först sätter du in alla tryckknappsbrytare och minihögtalare på brödbrädan en efter en och matchar dem på en rad. Anslut sedan stiften på varje tryckknappsbrytare till marken. Anslut sedan 10k motstånd mellan positiv effekt och de andra stiften på varje tryckknappsbrytare. Och anslut den här kolumnen till stiften 2-9 på Arduino Board. Anslut också marken till jordstiftet och positiv effekt till 3,3v stift på Arduino. Slutligen ansluter minihögtalaren till stift 10 på Arduino.
Steg 2: Steg 2: Kod och förklaring
Koden nedan är vad jag skrev
const int svart = 2;
const int vit = 3;
const int röd = 4;
const int grönt = 5;
const int blå = 6;
const int black2 = 7;
const int green2 = 8;
const int red2 = 9;
const int högtalare = 10; // Länka alla tryckknappsbrytare och högtalare med arduinos signalstift
int frekvens = {262, 294, 330, 349, 392, 440, 493, 523}; // array innehåller alla frekvenser för en oktav
void setup () {
// lägg din installationskod här för att köra en gång:
pinMode (svart, INGÅNG);
pinMode (vit, INGÅNG);
pinMode (röd, INGÅNG);
pinMode (grön, INGÅNG);
pinMode (blå, INGÅNG);
pinMode (black2, INPUT);
pinMode (green2, INPUT);
pinMode (red2, INPUT);
pinMode (högtalare, OUTPUT);
ton (högtalare, 2000);
Serial.begin (9600);
}
void loop () {
// lägg din huvudkod här för att köra upprepade gånger:
om (digitalRead (svart) == LÅG) // när du trycker på knappen "DO"
{ton (högtalare, frekvens [0], 50);
fördröjning (50);
noTone (högtalare);}
annars om (digitalRead (vit) == LÅG) // när du trycker på knappen "RE"
{ton (högtalare, frekvens [1], 50);
fördröjning (50);
noTone (högtalare);}
annars om (digitalRead (röd) == LÅG) // när du trycker på knappen "MI"
{ton (högtalare, frekvens [2], 50);
fördröjning (50);
noTone (högtalare);}
annars om (digitalRead (grön) == LÅG) // när du trycker på knappen "FA"
{ton (högtalare, frekvens [3], 50);
fördröjning (50);
noTone (högtalare);}
annars om (digitalRead (blå) == LÅG) // när du trycker på knappen "SO"
{ton (högtalare, frekvens [4], 50);
fördröjning (50);
noTone (högtalare);}
annars om (digitalRead (black2) == LOW) // när du trycker på knappen "LA"
{ton (högtalare, frekvens [5], 50);
fördröjning (50);
noTone (högtalare);}
annars om (digitalRead (green2) == LOW) // när du trycker på knappen "SI"
{ton (högtalare, frekvens [6], 50);
fördröjning (50);
noTone (högtalare);}
annars om (digitalRead (red2) == LOW) // när du trycker på knappen "DO"
{ton (högtalare, frekvens [7], 50);
fördröjning (50);
noTone (högtalare);}
annars // när du inte trycker på någonting
noTone (högtalare);
}
Först måste vi deklarera alla tryckknappsbrytare och högtalare som stiftet från 2 till 10 på Arduino. Varje switch representerar för en ton. Använd sedan en array för att sätta alla frekvenser inuti. Därefter är uttalandet If and else det jag använder för att låta Arduino veta vilken knappknapp jag trycker på.
Slutligen ansluter du ditt Arduino -kort till din dator eller bärbara dator med usb A till B -kabel. Innan du laddar upp din kod måste du fortfarande ladda ner Arduino -programvara och göra några standardinställningar. Välj Verktyg -> Board -> Arduino/Genuino Uno; Då måste vi välja kommunikationsporten som är ansluten till Arduino -kortet. Välj Verktyg -> Port, sedan vilket portnamn som är märkt "(Arduino/Genuino Uno)." Sedan kan du ladda upp koden till Arduino -kortet.
Rekommenderad:
Tryckknappsbrytare: 31 steg
Tryckknappsbrytare: Tryckknappsbrytaren är en annan variant av en hjälpväxel. Den är avsedd för barn med funktionshinder så att de kan få befogenheter att använda vardagsartiklar
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
RC -spårad robot med Arduino - Steg för steg: 3 steg
RC -spårad robot med Arduino - Steg för steg: Hej killar, jag är tillbaka med ett annat häftigt robotchassi från BangGood. Hoppas att du har gått igenom våra tidigare projekt - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot med Robotic Arms och The Badland Braw
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter - Rc helikopter - RC -plan med Arduino: 5 steg (med bilder)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter | Rc helikopter | Rc -plan med Arduino: Att driva en Rc -bil | Quadcopter | Drone | RC -plan | RC -båt, vi behöver alltid en mottagare och sändare, antag att för RC QUADCOPTER behöver vi en 6 -kanals sändare och mottagare och den typen av TX och RX är för dyr, så vi kommer att göra en på vår
AVR -mikrokontroller. Växla lysdioder med en tryckknappsbrytare. Push Button Debouncing .: 4 steg
AVR -mikrokontroller. Växla lysdioder med en tryckknappsbrytare. Push Button Debouncing .: I det här avsnittet kommer vi att lära oss hur man gör program C -kod för ATMega328PU för att växla status för de tre lysdioderna enligt ingången från en knappomkopplare. Vi har också undersökt lösningar på problemet med "Switch Bounce". Som vanligt kommer vi