Innholdsfortegnelse:
- Trinn 1: Trinn 1: Bygg kretsen
- Trinn 2: Trinn 2: Kode og forklaring
- Trinn 3: Trinn 3: Videodemonstrasjon
Video: Arduino -piano med trykknappbrytere: 3 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Laget av: Haotian Ye
Oversikt
Dette er et pianobrett med åtte trykknappbrytere som lar deg spille en oktav (Do Re Mi Fa So La Si Do), og med denne oktaven kan du prøve å spille noen sanger du liker. For dette prosjektet er det noen viktige kunnskaper du trenger å vite før du starter.
Først må vi kjenne frekvensene til grunnnotene til et piano.
Frekvensene er listet opp nedenfor:
Gjør - 261Hz
Re - 294Hz
Mi - 329Hz
Fa - 349Hz
Så - 392Hz
La - 440Hz
Si - 493Hz
Gjør - 523Hz
For det andre vil jeg vise deg hvordan du bygger kretsen ved å bruke delene som kan kjøpes fra Lees elektroniske butikk. Til slutt , Jeg vil presentere og forklare koden som må lastes opp på Arduino -kortet.
Deler du trenger:
Arduino Uno R3 (produkt -ID: 10997)
USB A til B -kabel M/M (produkt -ID: 29861)
10K motstand * 8 (produkt -ID: 91516)
Ulike farger på takkebryter * 8 (produkt -ID: 3124, 31242, 31243, 31245, 31246)
Minihøyttaler (produkt -ID: 41680)
Brødbrett (produkt -ID: 106861)
Jumper Wires (Produkt -ID: 21801)
Trinn 1: Trinn 1: Bygg kretsen
Sett først inn alle trykknappbryterne og minihøyttaleren på brødbrettet en etter en, og match dem på en rad. Koble deretter pinnene til hver trykknappbryter til bakken. Koble deretter 10k motstander mellom positiv effekt og de andre pinnene på hver trykknappbryter. Og koble denne kolonnen til pinne 2-9 på Arduino Board. Koble også bakken til jordpinnen og positiv strøm til 3,3v pinne på Arduino. Til slutt kobler du minihøyttaleren til pinnen 10 på Arduino.
Trinn 2: Trinn 2: Kode og forklaring
Koden nedenfor er det jeg skrev
const int svart = 2;
const int hvit = 3;
const int rød = 4;
const int grønn = 5;
const int blå = 6;
const int black2 = 7;
const int green2 = 8;
const int red2 = 9;
const int speaker = 10; // Koble alle trykknappbrytere og høyttalere med arduinos signalpinner
int frekvens = {262, 294, 330, 349, 392, 440, 493, 523}; // array inneholder alle frekvenser på en oktav
ugyldig oppsett () {
// legg oppsettskoden her for å kjøre en gang:
pinMode (svart, INNGANG);
pinMode (hvit, INNGANG);
pinMode (rød, INNGANG);
pinMode (grønn, INNGANG);
pinMode (blå, INNGANG);
pinMode (black2, INPUT);
pinMode (grønn2, INNGANG);
pinMode (red2, INPUT);
pinMode (høyttaler, OUTPUT);
tone (høyttaler, 2000);
Serial.begin (9600);
}
void loop () {
// legg hovedkoden her for å kjøre gjentatte ganger:
hvis (digitalRead (svart) == LAV) // når du trykker på "DO" -bryteren
{tone (høyttaler, frekvens [0], 50);
forsinkelse (50);
noTone (høyttaler);}
ellers hvis (digitalRead (hvit) == LAV) // når du trykker på knappen "RE"
{tone (høyttaler, frekvens [1], 50);
forsinkelse (50);
noTone (høyttaler);}
ellers hvis (digitalRead (rød) == LAV) // når du trykker på "MI" trykknappbryteren
{tone (høyttaler, frekvens [2], 50);
forsinkelse (50);
noTone (høyttaler);}
ellers hvis (digitalRead (grønn) == LAV) // når du trykker på "FA" trykknappbryteren
{tone (høyttaler, frekvens [3], 50);
forsinkelse (50);
noTone (høyttaler);}
ellers hvis (digitalRead (blå) == LAV) // når du trykker på knappen "SO"
{tone (høyttaler, frekvens [4], 50);
forsinkelse (50);
noTone (høyttaler);}
ellers hvis (digitalRead (black2) == LOW) // når du trykker på "LA" trykknappbryteren
{tone (høyttaler, frekvens [5], 50);
forsinkelse (50);
noTone (høyttaler);}
ellers hvis (digitalRead (green2) == LOW) // når du trykker på "SI" trykknappbryteren
{tone (høyttaler, frekvens [6], 50);
forsinkelse (50);
noTone (høyttaler);}
ellers hvis (digitalRead (red2) == LOW) // når du trykker på "DO" trykknappbryteren
{tone (høyttaler, frekvens [7], 50);
forsinkelse (50);
noTone (høyttaler);}
annet // når du ikke trykker på noe
noTone (høyttaler);
}
Først må vi deklarere alle trykknappbrytere og høyttalere som pinnen fra 2 til 10 på Arduino. Hver bryter representerer én note. Bruk deretter en matrise for å sette alle frekvensene inne. Deretter er If and else -uttalelsen det jeg bruker for å la Arduino vite hvilken trykknappbryter jeg trykker på.
Til slutt kobler du Arduino -kortet til datamaskinen eller den bærbare datamaskinen med usb A til B -kabel. Før du laster opp koden din, må du fortsatt laste ned Arduino -programvare og gjøre noen standardinnstillinger. Velg Verktøy -> Brett -> Arduino/Genuino Uno; Deretter må vi velge kommunikasjonsporten som er koblet til Arduino -kortet. Velg Verktøy -> Port, og deretter det portnavnet som er merket "(Arduino/Genuino Uno)." Deretter kan du laste opp koden til Arduino -kortet.
Anbefalt:
PWM Med ESP32 - Dimmende LED med PWM på ESP 32 Med Arduino IDE: 6 trinn
PWM Med ESP32 | Dimmende LED med PWM på ESP 32 Med Arduino IDE: I denne instruksen vil vi se hvordan du genererer PWM -signaler med ESP32 ved hjelp av Arduino IDE & PWM brukes i utgangspunktet til å generere analog utgang fra hvilken som helst MCU, og den analoge utgangen kan være alt mellom 0V til 3,3V (i tilfelle esp32) & fra
Teppe med sensorer/ RF -kommunikasjon med Arduino Micro: 4 trinn (med bilder)
Teppe med sensorer/ RF -kommunikasjon med Arduino Micro: Jeg avsluttet nylig installasjonen Like variert, som er laget av en serie lamper som reagerer på sensorene plassert i et teppe under lampene. Her er hvordan jeg laget teppet med trykksensorer. Jeg håper du finner det nyttig
Slik demonterer du en datamaskin med enkle trinn og bilder: 13 trinn (med bilder)
Slik demonterer du en datamaskin med enkle trinn og bilder: Dette er en instruksjon om hvordan du demonterer en PC. De fleste grunnkomponentene er modulære og fjernes lett. Det er imidlertid viktig at du er organisert om det. Dette vil bidra til å hindre deg i å miste deler, og også i å gjøre monteringen igjen
PCB -design med enkle og enkle trinn: 30 trinn (med bilder)
PCB -design med enkle og enkle trinn: HELLO VENNER Den veldig nyttige og enkle opplæringen for de som ønsker å lære PCB -design, kan komme i gang
Hvordan lage en delt skjermvideo med fire trinn: 4 trinn (med bilder)
Hvordan lage en delt skjermvideo med fire trinn: Vi ser ofte en samme person vise i en scene to ganger i et TV -spill. Og så vidt vi vet har ikke skuespilleren en tvillingbror. Vi har også sett at to sangvideoer blir satt på en skjerm for å sammenligne sangferdighetene sine. Dette er kraften til spl