Sisällysluettelo:
Video: Arduino -piano: 3 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Tämä "Piano" pystyy soittamaan oktaavin todellisesta pianosta. Painikkeiden painaminen edustaa näppäimen painamista pianossa. Ääni välitetään pietsokaiuttimen kautta.
Vaihe 1: Materiaalit
1. Arduino Uno
2. USB -johto
3. 3 leipälautaa
4. 8 Painikkeet
5. 8 100 ohmin vastukset
6. "Piezo" -kaiutin
7. Monet urosjohdot (noin 20)
8. Juotin
Vaihe 2: Rakenna asennus
Rakenna 8 painiketta, joista jokainen menee 8 eri nastaan Arduinossa, lisää vastus kuhunkin ja liitä ne maahan (urosjohtojen avulla).
Liitä kaiutin nimettyyn Arduino -nastaan ja toinen puoli maahan. Johdot on juotettava kaiuttimeen, jotta se ei putoa. Varmista, että kaiuttimeen juotetut kaksi johtoa eivät kosketa toisiaan.
Vaihe 3: Koodin luominen
#define NOTE_B0 31 #define NOTE_C1 33 #define NOTE_CS1 35 #define NOT NOTE_D1 37 #define NOTE_DS1 39 #define NOT NOT NOTE_B1 62 #define NOT NOTE_C2 65 #define NOT NOT #määrittele NOTE_C3 131 #määrittele NOTE_CS3 139 #määrittele NOTE_D3 147 #määritä NOTE_DS3 156 #määrittele NOTE_E3 165 #määritä NOTE_F3 175 #määritä EI NOTE_C4 262 #define NOT NOTE_CS4 277 #define NOT NOT #d efine NOTE_CS5 554 #define NOTE_D5 587 #define NOTE_DS5 622 #define NOTE_E5 659 #define NOTE_F5 698 #define NOTE_FS5 740 #define NOTE_G5 784 #define NOTE_GS5 831 #definise 1109 #määrittele NOTE_D6 1175 #määrittele NOTE_DS6 1245 #määrittele NOTE_E6 1319 #määrittele NOTE_F6 1397 #määrittele NOTE_FS6 1480 #määritä NOTE_G6 1568 #määrittele EIE_GS6 1661 #määritä NOTE_A6 1760 #määritä NOTE_AS6 187 # määritä NOTE_D7 2349 #define NOTE_DS7 2489 #define NOTE_E7 2637 #define NOTE_F7 2794 #define NOTE_FS7 2960 #define NOTE_G7 3136 #define NOTE_GS7 3322 #define NOTE_A7 3520 #define NOTE_AS7 3729 #define NOT #def 4699 #määrittele NOTE_DS8 4978
Näiden "#määrittelyjen" tarkoituksena on kertoa kaiuttimelle, mikä taajuus tekee minkäkin nuotin
const int C = 2; const int D = 3; const int E = 4; const int F = 5; const int G = 6; const int A = 7; const int B = 8; const int C2 = 9; const int piezoPin = 10; int cState = 0; int dState = 0; int eState = 0; int fState = 0; int gState = 0; int aState = 0; int bState = 0; int c2tila = 0;
Nimeä Arduino -nastat painikkeisiin. "cState, dState, eState jne;" ovat muuttujia, jotka tallentavat painikkeen painamisen. 0 tarkoittaa, että sitä ei paineta, 1 tarkoittaa, että sitä painetaan.
void setup () {// laita asennuskoodi tähän, jotta se suoritetaan kerran: pinMode (10, OUTPUT); Sarja.alku (9600); }
void loop () {// laita pääkoodisi tänne toistettavaksi: cState = digitalRead (C); dState = digitalRead (D); eState = digitalRead (E); fState = digitalRead (F); gState = digitalRead (G); aState = digitalRead (A); bState = digitalRead (B); c2 Tila = digitalRead (C2);
Painikkeen tila (jos sitä painetaan tai ei) tallennetaan "cState, dState, eState, jne."
0 tarkoittaa, että sitä ei paineta, 1 tarkoittaa, että sitä painetaan.
if (cState == 1) {sävy (piezoPin, 131); } else {noTone (piezoPin);} if (dState == 1) {tone (piezoPin, 147); } else {noTone (piezoPin);} if (eState == 1) {tone (piezoPin, 165); } else {noTone (piezoPin);} if (fState == 1) {tone (piezoPin, 175); } else {noTone (piezoPin);} if (gState == 1) {tone (piezoPin, 196); } else {noTone (piezoPin);} if (aState == 1) {tone (piezoPin, 220); } else {noTone (piezoPin);} if (bState == 1) {tone (piezoPin, 247); } else {noTone (piezoPin);} if (c2State == 1) {tone (piezoPin, 262); } muu {noTone (piezoPin);}}
Jos painiketta painetaan, se kehottaa servoa toistamaan tietyn taajuuden (huomautus). Toiminto
{noTone (piezoPin);} kertoo heille, että jos painiketta ei paineta toistaaksesi mitään. Siksi aina, kun painiketta painetaan, se soittaa sille määrätyn nuotin.
Suositeltava:
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): 8 vaihetta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): ultraäänikaiuttimet L298N DC-naarasadapterin virtalähde urospuolisella dc-nastalla ja analogiset portit koodin muuntamiseksi (C ++)
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: 3 vaihetta
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: Seuraava opas auttaa sinua saamaan live-HD-videovirtoja lähes mistä tahansa DJI-dronesta. FlytOS -mobiilisovelluksen ja FlytNow -verkkosovelluksen avulla voit aloittaa videon suoratoiston droonilta
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
4 vaihetta akun sisäisen vastuksen mittaamiseksi: 4 vaihetta
4 vaihetta akun sisäisen vastuksen mittaamiseksi: Tässä on 4 yksinkertaista vaihetta, joiden avulla voit mitata taikinan sisäisen vastuksen
Halvin Arduino -- Pienin Arduino -- Arduino Pro Mini -- Ohjelmointi -- Arduino Neno: 6 vaihetta (kuvilla)
Halvin Arduino || Pienin Arduino || Arduino Pro Mini || Ohjelmointi || Arduino Neno: …………………………. Tilaa YouTube -kanavani saadaksesi lisää videoita ……. Tässä projektissa keskitytään kaikkien aikojen pienimpään ja halvinan arduinoon. Pienin ja halvin arduino on arduino pro mini. Se muistuttaa arduinoa