Innholdsfortegnelse:

Arduino -piano med trykknappbrytere: 3 trinn
Arduino -piano med trykknappbrytere: 3 trinn

Video: Arduino -piano med trykknappbrytere: 3 trinn

Video: Arduino -piano med trykknappbrytere: 3 trinn
Video: Измерьте ток до 500A с помощью шунтирующего резистора с помощью Arduino 2024, November
Anonim
Arduino -piano med trykknappbrytere
Arduino -piano med trykknappbrytere
Arduino -piano med trykknappbrytere
Arduino -piano med trykknappbrytere

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

Trinn 1: Bygg kretsen
Trinn 1: Bygg kretsen
Trinn 1: Bygg kretsen
Trinn 1: Bygg kretsen
Trinn 1: Bygg kretsen
Trinn 1: Bygg kretsen
Trinn 1: Bygg kretsen
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: