Orodha ya maudhui:

Piano ya Arduino: Hatua 3
Piano ya Arduino: Hatua 3

Video: Piano ya Arduino: Hatua 3

Video: Piano ya Arduino: Hatua 3
Video: Какая версия винды тебе нравится больше всех? 😅🤟 #windows #microsoft #винда #виндовс11 #виндовс 2024, Julai
Anonim
Piano ya Arduino
Piano ya Arduino

"Piano" hii inaweza kucheza octave ya piano halisi. Kubonyeza vifungo kutawakilisha kubonyeza kitufe kwenye piano. Sauti itapelekwa kupitia spika ya Piezo.

Hatua ya 1: Vifaa

1. Arduino Uno

2. waya ya USB

3. Bao 3 za mkate

4. Pushbuttons 8

5. 8 100 vipingao vya Ohm

6. Spika wa "Piezo"

7. Waya wengi wa Kiume (Karibu 20)

8. Chuma cha Soldering

Hatua ya 2: Jenga Usanidi

Jenga Usanidi
Jenga Usanidi

Jenga vifungo 8 kwa kila moja kuingia kwenye pini 8 tofauti kwenye Arduino, ukiongeza kontena kwa kila mmoja, na kuziunganisha chini (kwa kutumia waya za Kiume).

Unganisha spika kwa pini ya Arduino iliyoteuliwa, na upande wa pili chini. Itabidi uunganishe waya kwa spika ili isianguke. Hakikisha waya mbili ambazo zinauzwa kwa spika hazigusiani.

Hatua ya 3: Kuunda Nambari

#fafanua HAKUNA_B0 31 # fafanua NOTE_C1 33 #fafanua NOTE_CS1 35 #fafanua NOTE_D1 37 #fafanua NOTE_DS1 39 #fafanua NOTE_E1 41 #fafanua NOTE_F1 44 #fafanua NOTE_FS1 46 #fafanua NOTE_G1 49 #fafanua NOT_GS1 52 #fafanua #Afa_SA5 NOTE_B1 62 #fasili NOTE_C2 65 #fasili NOTE_CS2 69 #fasili NOTE_D2 73 #fasili NOTE_DS2 78 #fasili NOTE_E2 82 #fasili NOTE_F2 87 #fafanua NOTE_FS2 93 #fasili NOTE_G2 98 #fafanua NOTE_GS2 104 #fafanua NOT7A #fasili NOTE_C3 131 #fasili NOTE_CS3 139 #fasili NOTE_D3 147 #fasili NOTE_DS3 156 #fasili NOTE_E3 165 #fasili NOTE_F3 175 #fafanua NOTE_FS3 185 #fasili NOTE_G3 196 #fafanua NOTE_GS3 208 #fafanua NOTAAAA 2333aa 23D3Aa 233 NOTE_C4 262 #fasili NOTE_CS4 277 #fasili NOTE_D4 294 #fasili NOTE_DS4 311 #fasili NOTE_E4 330 #fafanua NOTE_F4 349 #fafanua NOTE_FS4 370 #fafanua NOTE_G4 392 #fafanua NOTE_GS4 415 #Fafanua 04444AaAna44444AaAna44444AaAna4444AaAna4444aAnaa44 #d efine NOTE_CS5 554 #fasili NOTE_D5 587 #fasili NOTE_DS5 622 #fasili NOTE_E5 659 #fafanua NOTE_F5 698 #fafanua NOTE_FS5 740 #fafanua NOTE_G5 784 #fafanua NOTE_GS5 831 #fafanua #Ana_Taarifa8856Dhahiri_Ana_856aa6 1109 #fasili NOTE_D6 1175 #fasili NOTE_DS6 1245 #fasili NOTE_E6 1319 #fasili NOTE_F6 1397 #fasili NOTE_FS6 1480 #fasili NOTE_G6 1568 #fasili NOTE_GS6 1661 #fasili NOTE_A6 1760 #fafanua #Jua # 17666 # 17 fafanua NOTE_D7 2349 #fasili NOTE_DS7 2489 #fasili NOTE_E7 2637 #fasili NOTE_F7 2794 #fafanua NOTE_FS7 2960 #fafanua NOTE_G7 3136 #fafanua NOTE_GS7 3322 #fafanua NOTE_A7 3520 #fafanua #Jifunze # 58Ujulishe #8Taarifa # 38Fafanua # 38 4699 #fafanua NOTE_DS8 4978

Hizi "#fasili" zinapaswa kumwambia msemaji ni masafa gani hufanya nukuu ipi

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 c2State = 0;

Chagua pini za Arduino kwa vifungo. "cState, dState, eState, nk;" ni anuwai ambazo zinaokoa ikiwa kitufe kimeshinikizwa. 0 inamaanisha haikushinikizwa, 1 inamaanisha ni taabu.

kuweka batili () {// weka nambari yako ya usanidi hapa, ili uendeshe mara moja: pinMode (10, OUTPUT); Kuanzia Serial (9600); }

kitanzi batili () {// weka nambari yako kuu hapa, kuendesha mara kwa mara: cState = digitalRead (C); dState = dijitaliSoma (D); eState = digitalRead (E); fState = digitalRead (F); gState = kusoma kwa dijiti (G); aState = DigitalRead (A); bState = kusoma kwa dijiti (B); c2State = digitalRead (C2);

Hali ya kitufe (ikiwa imebanwa au la) imehifadhiwa katika "cState, dState, eState, nk;"

0 inamaanisha haikushinikizwa, 1 inamaanisha ni taabu.

ikiwa (cState == 1) {toni (piezoPin, 131); } mwingine {noTone (piezoPin);} ikiwa (dState == 1) {tone (piezoPin, 147); } mwingine {noTone (piezoPin);} ikiwa (eState == 1) {tone (piezoPin, 165); } mwingine {noTone (piezoPin);} ikiwa (fState == 1) {tone (piezoPin, 175); } mwingine {noTone (piezoPin);} ikiwa (gState == 1) {tone (piezoPin, 196); } mwingine {noTone (piezoPin);} ikiwa (aState == 1) {tone (piezoPin, 220); } mwingine {noTone (piezoPin);} ikiwa (bState == 1) {tone (piezoPin, 247); } mwingine {noTone (piezoPin);} ikiwa (c2State == 1) {tone (piezoPin, 262); } mwingine {noTone (piezoPin);}}

Ikiwa kitufe kinabanwa, inaiambia servo icheze masafa ya certiain (kumbuka). Kazi

{noTone (piezoPin);} huwaambia kwamba ikiwa kitufe hakibonyeza kucheza chochote. Kwa hivyo wakati wowote kitufe kinapobanwa, itacheza maandishi yake yaliyoteuliwa.

Ilipendekeza: