Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
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
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.