Indholdsfortegnelse:

Arduino klaver med trykknapper: 3 trin
Arduino klaver med trykknapper: 3 trin

Video: Arduino klaver med trykknapper: 3 trin

Video: Arduino klaver med trykknapper: 3 trin
Video: Ultra:bit ep16 Klaver med pin 2024, November
Anonim
Arduino klaver med trykknapper
Arduino klaver med trykknapper
Arduino klaver med trykknapper
Arduino klaver med trykknapper

Skabt af: Haotian Ye

Oversigt

Dette er et klaverbræt med otte trykknapkontakter, der giver dig mulighed for at spille en oktav (Do Re Mi Fa So La Si Do), og med denne ene oktav kan du prøve at afspille nogle sange, du kan lide. Til dette projekt er der en vigtig viden, du skal vide, før du starter.

Først skal vi kende frekvenserne af et klavers grundtoner.

Frekvenserne er angivet herunder:

Gør - 261Hz

Gen - 294Hz

Mi - 329Hz

Fa - 349Hz

Altså - 392Hz

La - 440Hz

Si - 493Hz

Gør - 523Hz

For det andet vil jeg vise dig, hvordan du opbygger kredsløbet ved at bruge de dele, der kan købes fra Lees elektroniske butik. Endelig , vil jeg præsentere og forklare koden, der skal uploades på Arduino -kortet.

Dele du skal bruge:

Arduino Uno R3 (produkt -id: 10997)

USB A til B -kabel M/M (produkt -id: 29861)

10K modstand * 8 (produkt -id: 91516)

Forskellige farver på tack -switch * 8 (produkt -id: 3124, 31242, 31243, 31245, 31246)

Minihøjttaler (produkt -id: 41680)

Breadboard (produkt -id: 106861)

Jumper Wires (Produkt -ID: 21801)

Trin 1: Trin 1: Opbygning af kredsløbet

Trin 1: Opbygning af kredsløbet
Trin 1: Opbygning af kredsløbet
Trin 1: Opbygning af kredsløbet
Trin 1: Opbygning af kredsløbet
Trin 1: Opbygning af kredsløbet
Trin 1: Opbygning af kredsløbet
Trin 1: Opbygning af kredsløbet
Trin 1: Opbygning af kredsløbet

Først skal du indsætte alle trykknapkontakter og minihøjttalere på brødbrættet en efter en og matche dem på en række. Tilslut derefter stifterne på hver trykknapkontakt til jorden. Forbind derefter 10k modstande mellem positiv effekt og de andre ben på hver trykknapkontakt. Og tilslut denne kolonne til benene 2-9 på Arduino Board. Tilslut også jorden til jordstiften og positiv strøm til 3,3v pin på Arduino. Tilslut til sidst minihøjttaleren til pin 10 på Arduino.

Trin 2: Trin 2: Kode og forklaring

Koden herunder er, hvad jeg skrev

const int sort = 2;

const int hvid = 3;

const int rød = 4;

const int grøn = 5;

const int blå = 6;

const int black2 = 7;

const int green2 = 8;

const int red2 = 9;

const int speaker = 10; // Link alle trykknapkontakter og højttalere med arduinos signalstifter

int frekvens = {262, 294, 330, 349, 392, 440, 493, 523}; // array indeholder alle frekvenser af en oktav

ugyldig opsætning () {

// sæt din opsætningskode her for at køre en gang:

pinMode (sort, INPUT);

pinMode (hvid, INPUT);

pinMode (rød, INPUT);

pinMode (grøn, INPUT);

pinMode (blå, INPUT);

pinMode (black2, INPUT);

pinMode (green2, INPUT);

pinMode (red2, INPUT);

pinMode (højttaler, OUTPUT);

tone (højttaler, 2000);

Serial.begin (9600);

}

void loop () {

// sæt din hovedkode her for at køre gentagne gange:

hvis (digitalRead (sort) == LAV) // når du trykker på knappen "DO"

{tone (højttaler, frekvens [0], 50);

forsinkelse (50);

noTone (højttaler);}

ellers hvis (digitalRead (hvid) == LAV) // når du trykker på knappen "RE"

{tone (højttaler, frekvens [1], 50);

forsinkelse (50);

noTone (højttaler);}

ellers hvis (digitalRead (rød) == LAV) // når du trykker på knappen "MI"

{tone (højttaler, frekvens [2], 50);

forsinkelse (50);

noTone (højttaler);}

ellers hvis (digitalRead (grøn) == LAV) // når du trykker på knappen "FA"

{tone (højttaler, frekvens [3], 50);

forsinkelse (50);

noTone (højttaler);}

ellers hvis (digitalRead (blå) == LAV) // når du trykker på knappen "SO"

{tone (højttaler, frekvens [4], 50);

forsinkelse (50);

noTone (højttaler);}

ellers hvis (digitalRead (black2) == LOW) // når du trykker på knappen "LA"

{tone (højttaler, frekvens [5], 50);

forsinkelse (50);

noTone (højttaler);}

ellers hvis (digitalRead (green2) == LOW) // når du trykker på knappen "SI"

{tone (højttaler, frekvens [6], 50);

forsinkelse (50);

noTone (højttaler);}

ellers hvis (digitalRead (red2) == LOW) // når du trykker på knappen "DO"

{tone (højttaler, frekvens [7], 50);

forsinkelse (50);

noTone (højttaler);}

ellers // når du ikke trykker på noget

noTone (højttaler);

}

Først skal vi erklære alle trykknapkontakter og højttalere som stiften fra 2 til 10 på Arduino. Hver switch repræsenterer én note. Brug derefter et array til at sætte alle frekvenserne inde. Dernæst er If and else -erklæring det, jeg bruger til at lade Arduino vide, hvilken trykknapkontakt jeg trykker på.

Tilslut endelig dit Arduino -kort til din computer eller bærbare med usb A til B -kabel. Inden du uploader din kode, skal du stadig downloade Arduino -software og foretage nogle standardindstillinger. Vælg Værktøjer -> Board -> Arduino/Genuino Uno; Derefter skal vi vælge kommunikationsporten, der er forbundet til Arduino -kortet. Vælg Værktøjer -> Port, derefter det portnavn, der er mærket "(Arduino/Genuino Uno)." Derefter kan du uploade koden til Arduino board.

Anbefalede: