Sisällysluettelo:

Arduino -piano painikekytkimillä: 3 vaihetta
Arduino -piano painikekytkimillä: 3 vaihetta

Video: Arduino -piano painikekytkimillä: 3 vaihetta

Video: Arduino -piano painikekytkimillä: 3 vaihetta
Video: Драм-секвенсор Arduino: 8 дорожек, 16 шагов на такт, 8 тактов на паттерн 2024, Heinäkuu
Anonim
Arduino -piano painonapilla
Arduino -piano painonapilla
Arduino -piano painonapilla
Arduino -piano painonapilla

Tekijä: Haotian Ye

Yleiskatsaus

Tämä on pianolauta, jossa on kahdeksan painonappikytkintä ja jonka avulla voit soittaa yhden oktaavin (Do Re Mi Fa So La Si Do). Tällä oktaavilla voit yrittää toistaa joitain haluamiasi kappaleita. Tässä projektissa on joitain tärkeitä tietoja, jotka sinun on tiedettävä ennen aloittamista.

Ensinnäkin meidän on tiedettävä pianon perusmuistioiden taajuudet.

Taajuudet on lueteltu alla:

Tee - 261 Hz

Taas - 294 Hz

Mi - 329 Hz

Fa - 349 Hz

Joten - 392 Hz

La - 440 Hz

Si - 493 Hz

Tee - 523 Hz

Toiseksi näytän sinulle, kuinka rakentaa piiri käyttämällä osia, jotka voidaan ostaa Lee's Electronic Storesta. Lopuksi , Esittelen ja selitän koodin, joka on ladattava Arduino -levylle.

Tarvitsemasi osat:

Arduino Uno R3 (Tuotetunnus: 10997)

USB A - B -kaapeli M/M (Tuotetunnus: 29861)

10K vastus * 8 (Tuotteen tunnus: 91516)

Tack -kytkimen eri värit * 8 (Tuotetunnus: 3124, 31242, 31243, 31245, 31246)

Minikaiutin (Tuotteen tunnus: 41680)

Leipälauta (Tuotteen tunnus: 106861)

Hyppyjohdot (Tuotteen tunnus: 21801)

Vaihe 1: Vaihe 1: Piirin rakentaminen

Vaihe 1: Piirin rakentaminen
Vaihe 1: Piirin rakentaminen
Vaihe 1: Piirin rakentaminen
Vaihe 1: Piirin rakentaminen
Vaihe 1: Piirin rakentaminen
Vaihe 1: Piirin rakentaminen
Vaihe 1: Piirin rakentaminen
Vaihe 1: Piirin rakentaminen

Aseta ensin kaikki painikekytkimet ja minikaiutin yksi kerrallaan leipälaudalle ja yhdistä ne yhdelle riville. Kytke sitten kunkin painikekytkimen nastat maahan. Kytke toinen 10k vastukset positiivisen tehon ja kunkin painikekytkimen muiden nastojen väliin. Liitä tämä sarake Arduino Boardin nastoihin 2-9. Liitä myös maa maadoitusnastaan ja positiivinen virta 3.3 V: n nastaan Arduinossa. Lopuksi kytke minikaiutin Arduinon nastaan 10.

Vaihe 2: Vaihe 2: Koodi ja selitys

Alla oleva koodi on se mitä kirjoitin

const int musta = 2;

const int valkoinen = 3;

const int punainen = 4;

const int vihreä = 5;

const int sininen = 6;

const int musta2 = 7;

const int vihreä2 = 8;

const int punainen2 = 9;

const int kaiutin = 10; // Linkitä kaikki painikekytkimet ja kaiutin arduinon signaalitappeihin

int taajuus = {262, 294, 330, 349, 392, 440, 493, 523}; // taulukko sisältää kaikki yhden oktaavin taajuudet

void setup () {

// laita asennuskoodi tähän, jotta se suoritetaan kerran:

pinMode (musta, INPUT);

pinMode (valkoinen, INPUT);

pinMode (punainen, INPUT);

pinMode (vihreä, INPUT);

pinMode (sininen, INPUT);

pinMode (musta2, TULO);

pinMode (vihreä2, TULO);

pinMode (punainen2, TULO);

pinMode (kaiutin, OUTPUT);

ääni (kaiutin, 2000);

Sarja.alku (9600);

}

void loop () {

// laita pääkoodisi tänne toistettavaksi:

if (digitalRead (black) == LOW) // kun painat DO -painikekytkintä

{ääni (kaiutin, taajuus [0], 50);

viive (50);

noTone (kaiutin);}

muuten jos (digitalRead (valkoinen) == LOW) // kun painat RE -painikekytkintä

{ääni (kaiutin, taajuus [1], 50);

viive (50);

noTone (kaiutin);}

muuten if (digitalRead (punainen) == LOW) // kun painat "MI" -painiketta

{ääni (kaiutin, taajuus [2], 50);

viive (50);

noTone (kaiutin);}

muuten if (digitalRead (vihreä) == LOW) // kun painat FA -painikekytkintä

{ääni (kaiutin, taajuus [3], 50);

viive (50);

noTone (kaiutin);}

muuten if (digitalRead (sininen) == LOW) // kun painat SO -painikekytkintä

{ääni (kaiutin, taajuus [4], 50);

viive (50);

noTone (kaiutin);}

else if (digitalRead (black2) == LOW) // kun painat LA -painikekytkintä

{ääni (kaiutin, taajuus [5], 50);

viive (50);

noTone (kaiutin);}

muuten if (digitalRead (green2) == LOW) // kun painat SI -painikekytkintä

{ääni (kaiutin, taajuus [6], 50);

viive (50);

noTone (kaiutin);}

else if (digitalRead (red2) == LOW) // kun painat "DO" -painikepainiketta

{ääni (kaiutin, taajuus [7], 50);

viive (50);

noTone (kaiutin);}

else // kun et paina mitään

noTone (kaiutin);

}

Ensinnäkin meidän on ilmoitettava kaikki painikekytkimet ja kaiutin nastaksi 2-10 Arduinolla. Jokainen kytkin edustaa yhtä nuottia. Käytä sitten yhtä taulukkoa kaikkien taajuuksien asettamiseen sisään. Seuraavaksi käytän If ja else -lauseketta, jotta voin kertoa Arduinolle, mitä painikekytkintä painan.

Liitä lopuksi Arduino -korttisi tietokoneeseen tai kannettavaan tietokoneeseen USB -A -kaapelilla. Ennen kuin lähetät koodin, sinun on vielä ladattava Arduino -ohjelmisto ja tehtävä joitakin oletusasetuksia. Valitse Työkalut -> Hallitus -> Arduino/Genuino Uno; Sitten meidän on valittava Arduino -korttiin liitetty viestintäportti. Valitse Työkalut -> Portti ja sen jälkeen mikä portin nimi on "(Arduino/Genuino Uno)." Sitten voit ladata koodin Arduino -taululle.

Suositeltava: