Tartalomjegyzék:

Arduino zongora nyomógombos kapcsolókkal: 3 lépés
Arduino zongora nyomógombos kapcsolókkal: 3 lépés

Videó: Arduino zongora nyomógombos kapcsolókkal: 3 lépés

Videó: Arduino zongora nyomógombos kapcsolókkal: 3 lépés
Videó: Piano Tiles Arduino Robot 2024, November
Anonim
Arduino zongora nyomógombos kapcsolókkal
Arduino zongora nyomógombos kapcsolókkal
Arduino zongora nyomógombos kapcsolókkal
Arduino zongora nyomógombos kapcsolókkal

Készítette: Haotian Ye

Áttekintés

Ez egy zongora tábla nyolc nyomógombos kapcsolóval, amely lehetővé teszi egy oktáv lejátszását (Do Re Mi Fa So La Si Do), és ezzel az egy oktávval megpróbálhat lejátszani néhány tetszőleges dalt. Ehhez a projekthez néhány fontos tudást kell ismernie, mielőtt elkezdené.

Először is ismernünk kell a zongora alaphangjainak gyakoriságát.

A frekvenciákat az alábbiakban soroljuk fel:

- 261 Hz

Re - 294Hz

Mi - 329 Hz

Fa - 349 Hz

Tehát - 392 Hz

La - 440 Hz

Si - 493 Hz

- 523 Hz

Másodszor, megmutatom, hogyan kell felépíteni az áramkört a Lee elektronikus áruházából megvásárolható alkatrészek felhasználásával. Végül , bemutatom és elmagyarázom a kódot, amelyet fel kell tölteni az Arduino táblára.

Alkatrészek, amelyekre szüksége lesz:

Arduino Uno R3 (Termékazonosító: 10997)

USB A -B kábel M/M (Termékazonosító: 29861)

10K ellenállás * 8 (Termékazonosító: 91516)

Különböző színű tack kapcsoló * 8 (Termékazonosító: 3124, 31242, 31243, 31245, 31246)

Mini hangszóró (Termékazonosító: 41680)

Breadboard (Termékazonosító: 106861)

Jumper vezetékek (Termék azonosító: 21801)

1. lépés: 1. lépés: Az áramkör kiépítése

1. lépés: Az áramkör építése
1. lépés: Az áramkör építése
1. lépés: Az áramkör építése
1. lépés: Az áramkör építése
1. lépés: Az áramkör építése
1. lépés: Az áramkör építése
1. lépés: Az áramkör építése
1. lépés: Az áramkör építése

Először helyezze be egyenként az összes nyomógombos kapcsolót és mini hangszórót a kenyértáblára, és illessze őket egy sorba. Ezután csatlakoztassa a nyomógombos kapcsolók csapjait a földhöz. Másodszor csatlakoztasson 10k ellenállást a pozitív teljesítmény és az egyes nyomógombos kapcsolók többi csapja közé. És csatlakoztassa ezt az oszlopot az Arduino Board 2-9. Ezenkívül csatlakoztassa a földet a földelőcsaphoz, és a pozitív áramot az Arduino 3,3 V -os tűjéhez. Végül csatlakoztassa a mini hangszórót az Arduino 10 -es tűjéhez.

2. lépés: 2. lépés: Kód és magyarázat

Az alábbi kódot én írtam

const int fekete = 2;

const int fehér = 3;

const int piros = 4;

const int zöld = 5;

const int kék = 6;

const int fekete2 = 7;

const int zöld2 = 8;

const int piros2 = 9;

const int hangszóró = 10; // Kapcsolja össze az összes nyomógombos kapcsolót és hangszórót az arduino jelzőcsapjaival

int frekvencia = {262, 294, 330, 349, 392, 440, 493, 523}; // tömb egy oktáv összes frekvenciáját tartalmazza

void setup () {

// tegye ide a beállítási kódot, hogy egyszer fusson:

pinMode (fekete, INPUT);

pinMode (fehér, INPUT);

pinMode (piros, INPUT);

pinMode (zöld, INPUT);

pinMode (kék, INPUT);

pinMode (fekete2, BEMENET);

pinMode (zöld2, BEMENET);

pinMode (piros2, BEMENET);

pinMode (hangszóró, OUTPUT);

hangszín (hangszóró, 2000);

Sorozat.kezdet (9600);

}

void loop () {

// tegye ide a fő kódot az ismételt futtatáshoz:

if (digitalRead (fekete) == LOW) // amikor megnyomja a "DO" nyomógombot

{hang (hangszóró, frekvencia [0], 50);

késleltetés (50);

noTone (hangszóró);}

egyébként if (digitalRead (fehér) == LOW) // amikor megnyomja a "RE" nyomógombot

{hang (hangszóró, frekvencia [1], 50);

késleltetés (50);

noTone (hangszóró);}

egyébként if (digitalRead (piros) == LOW) // amikor megnyomja az "MI" nyomógombot

{hang (hangszóró, frekvencia [2], 50);

késleltetés (50);

noTone (hangszóró);}

else if (digitalRead (zöld) == LOW) // amikor megnyomja az "FA" nyomógombot

{hang (hangszóró, frekvencia [3], 50);

késleltetés (50);

noTone (hangszóró);}

else if (digitalRead (blue) == LOW) // amikor megnyomja a "SO" nyomógombot

{hang (hangszóró, frekvencia [4], 50);

késleltetés (50);

noTone (hangszóró);}

else if (digitalRead (black2) == LOW) // amikor megnyomja az "LA" nyomógombot

{hang (hangszóró, frekvencia [5], 50);

késleltetés (50);

noTone (hangszóró);}

else if (digitalRead (green2) == LOW) // amikor megnyomja az "SI" nyomógombot

{hang (hangszóró, frekvencia [6], 50);

késleltetés (50);

noTone (hangszóró);}

else if (digitalRead (red2) == LOW) // amikor megnyomja a "DO" nyomógombot

{hang (hangszóró, frekvencia [7], 50);

késleltetés (50);

noTone (hangszóró);}

else // ha nem nyomsz semmit

noTone (hangszóró);

}

Először is az összes nyomógombos kapcsolót és hangszórót 2-10 -es csapként kell deklarálnunk az Arduino -n. Minden kapcsoló egy hangot jelent. Ezután egy tömb segítségével helyezze be az összes frekvenciát. Ezután az If és más utasítást használom annak tudatására, hogy Arduino melyik nyomógombos kapcsolót nyomom meg.

Végül csatlakoztassa Arduino kártyáját számítógépéhez vagy laptopjához USB A -B kábellel. Mielőtt feltöltené a kódot, le kell töltenie az Arduino szoftvert, és meg kell adnia néhány alapértelmezett beállítást. Válassza az Eszközök -> Tábla -> Arduino/Genuino Uno lehetőséget; Ezután ki kell választanunk az Arduino kártyához csatlakoztatott kommunikációs portot. Válassza az Eszközök -> Port lehetőséget, majd válassza ki a port nevét "(Arduino/Genuino Uno)." Ezután feltöltheti a kódot az Arduino táblára.

Ajánlott: