Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
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.