Talaan ng mga Nilalaman:
Video: Ang Arduino Piano: 3 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Ang "Piano" na ito ay nakakapagpatugtog ng isang oktaba ng isang totoong piano. Ang pagpindot ng mga pindutan ay kumakatawan sa pagpindot ng isang susi sa piano. Ang tunog ay maipapasa sa pamamagitan ng isang Piezo speaker.
Hakbang 1: Mga Kagamitan
1. Arduino Uno
2. USB wire
3. 3 mga breadboard
4. 8 Mga Pushbutton
5. 8 100 Ohm resistors
6. Tagapagsalita na "Piezo"
7. Maraming Mga Lalaki na Wires (Mga 20)
8. Bakal na Bakal
Hakbang 2: Buuin ang Pag-setup
Bumuo ng 8 mga pindutan sa bawat pagpunta sa 8 magkakaibang mga pin sa Arduino, pagdaragdag ng isang risistor sa bawat isa, at ikonekta ang mga ito sa lupa (gamit ang mga Male wires).
Ikonekta ang nagsasalita sa itinalagang Arduino pin, at sa kabilang panig sa lupa. Kailangan mong i-solder ang mga wire sa speaker upang hindi ito malagas. Siguraduhin na ang dalawang wires na na-solder sa nagsasalita ay hindi magkadikit.
Hakbang 3: Pagbubuo ng Code
#define TANDAAN_B0 31 # tukuyin ang NOTE_C1 33 #define NOTE_CS1 35 #define NOTE_D1 37 #define NOTE_DS1 39 #define NOTE_E1 41 #define NOTE_F1 44 #define NOTE_FS1 46 #define NOTE_G1 49 #define NOTA #Teace #Teace #Teace #Teace #Teace #Teace #Teace #Teace #Teace #Teace #TeaceTeace NOTE_B1 62 #define NOTE_C2 65 #define NOTE_CS2 69 #define NOTE_D2 73 #define NOTE_DS2 78 #define NOTE_E2 82 #define NOTE_F2 87 #define NOTE_FS2 93 #define NoteEGG 98 #define NOTE_C3 131 #define NOTE_CS3 139 #define NOTE_D3 147 #define NOTE_DS3 156 #define NOTE_E3 165 #define NOTE_F3 175 #define NOTE_FS3 185 #define NOTE_G3 196 #define NOTE_GS3Et2 #define #define #define #define #define NOTE_C4 262 #define NOTE_CS4 277 #define NOTE_D4 294 #define NOTE_DS4 311 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_FS4 370 #define NOTE_G4 392 #define NOTE_GS4Define_Define_Define_Define_Ef142f52f52f2f2f2f2f1f2fw5fpwpwpw58w58w58w58w1fw58w1f1fw1fw1fw8w1fw8w1fw8w1fw8w1fw8w1fw1w1fw1w1fw1w1fw1w1fw1w1fw1w1fw1w1fw1w1f1w1w1fw1w1fw51w1fwwfw1fexw1fw1fexf> #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 #define NOTE #Adefine_A51Ef2_105Ef2_105Ef2_105Erf_E51EdEine_A52Ef2102Ef2_E52Ef2102Ef2_1052EW2E10210EF2102EF2102EF2102EF2102EF2102EF2102EF2102EF2102EF2102EF2102EF2102EF2102EF2102_E210_E210_E210_E210_EF2102EF210_E2_E210_E210_E2102_E210_E210_E2102_E52 1109 #define NOTE_D6 1175 #define NOTE_DS6 1245 #define NOTE_E6 1319 #define NOTE_F6 1397 #define NOTE_FS6 1480 #define NOTE_G6 1568 #define NOTE_GS6 1661 #define NOTE_A6 1760 #define #Teine #Acreine_Teace # 212Creine tukuyin NOTE_D7 2349 # tukuyin NOTE_DS7 2489 # tukuyin NOTE_E7 2637 # tukuyin NOTE_F7 2794 # tukuyin NOTE_FS7 2960 # tukuyin NOTE_G7 3136 # tukuyin NOTE_GS7 3322 # tukuyin NOTE_A7 3520 # tukuyin NOTE_AS7 3729 # tukuyin NOTE_B7 3951 # tukuyin NOTE_C8 4186 # tukuyin NOTE_CS8 4435 # tukuyin NOTE_D8 4699 # tukuyin TANDAAN_DS8 4978
Ang "#defines" na ito ay sasabihin sa tagapagsalita kung aling dalas ang gumagawa ng aling tala
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;
Italaga ang mga pin ng Arduino sa mga pindutan. "cState, dState, eState, atbp;" ay mga variable na makatipid kung pinindot ang pindutan. Ang isang 0 ay nangangahulugang hindi ito pinindot, ang isang 1 ay nangangahulugang pinindot ito.
void setup () {// ilagay ang iyong setup code dito, upang patakbuhin nang isang beses: pinMode (10, OUTPUT); Serial.begin (9600); }
void loop () {// ilagay ang iyong pangunahing code dito, upang tumakbo nang paulit-ulit: cState = digitalRead (C); dState = digitalRead (D); eState = digitalRead (E); fState = digitalRead (F); gState = digitalRead (G); aState = digitalRead (A); bState = digitalRead (B); c2State = digitalRead (C2);
Ang estado ng pindutan (kung pinindot o hindi) ay nai-save sa "cState, dState, eState, atbp;"
Ang isang 0 ay nangangahulugang hindi ito pinindot, ang isang 1 ay nangangahulugang pinindot ito.
kung (cState == 1) {tone (piezoPin, 131); } iba pa {noTone (piezoPin);} kung (dState == 1) {tone (piezoPin, 147); } iba pa {noTone (piezoPin);} kung (eState == 1) {tone (piezoPin, 165); } iba pa {noTone (piezoPin);} kung (fState == 1) {tone (piezoPin, 175); } iba pa {noTone (piezoPin);} kung (gState == 1) {tone (piezoPin, 196); } iba pa {noTone (piezoPin);} kung (aState == 1) {tone (piezoPin, 220); } iba pa {noTone (piezoPin);} kung (bState == 1) {tone (piezoPin, 247); } iba pa {noTone (piezoPin);} kung (c2State == 1) {tone (piezoPin, 262); } iba pa {noTone (piezoPin);}}
Kung ang isang pindutan ay pinindot, sasabihin nito sa servo na i-play ang dalas ng certiain (tala). Ang pagpapaandar
Sinasabi sa kanila ng {noTone (piezoPin);} na kung ang pindutan ay hindi pinindot upang maglaro ng wala. Samakatuwid tuwing ang pindutan ay pinindot, ito ay i-play ang itinalagang tala.
Inirerekumendang:
Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED: 4 na Hakbang
Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED: " Push-It " Interactive na laro gamit ang isang hubad na Arduino board, walang mga panlabas na bahagi o mga kable na kinakailangan (gumagamit ng isang capacitive 'touch' input). Ipinapakita sa itaas, ipinapakita ang pagtakbo nito sa dalawang magkakaibang board. Push-Mayroon itong dalawang layunin. Upang mabilis na maipakita / v
Ginawa ang Water Piano Gamit ang Glass Jar: 3 Hakbang
Ginawa ang Water Piano Gamit ang Glass Jar: Ito ay isang kamangha-manghang proyekto na madaling gawin para sa lahat. Hindi ako gumamit ng isang microcontroller o isang IC. Gumagamit ang water piano na ito ng maliliit na garapon. Ito ay talagang isang pangunahing proyekto. Upang maisagawa ang proyektong ito, sundin ang itinuturo. KINAKAILANGAN - mga garapon ng anumang laki, atleast 4 hanggang max.
Sinusubaybayan ng RC ang Robot Gamit ang Arduino - Hakbang sa Hakbang: 3 Mga Hakbang
Sinusubaybayan ng RC ang Robot Gamit ang Arduino - Hakbang-hakbang: Hey guys, bumalik ako kasama ang isa pang cool na chassis ng Robot mula sa BangGood. Inaasahan mong dumaan ka sa aming nakaraang mga proyekto - Spinel Crux V1 - Ang Kinokontrol na Robot ng Gesture, Spinel Crux L2 - Arduino Pick at Place Robot na may Robotic Arms at The Badland Braw
Hindi gumagana ang NODEMcu Usb Port? I-upload ang Code Gamit ang USB sa TTL (FTDI) Module sa 2 Hakbang lamang: 3 Hakbang
Hindi gumagana ang NODEMcu Usb Port? I-upload ang Code Gamit ang USB sa TTL (FTDI) Module sa Lamang 2 Mga Hakbang: Pagod na sa pagkonekta sa maraming mga wire mula sa USB hanggang TTL module sa NODEMcu, sundin ang itinuturo na ito, upang mai-upload ang code sa 2 hakbang lamang. Kung ang USB port ng Ang NODEMcu ay hindi gumagana, pagkatapos ay huwag panic. Ito lang ang USB driver chip o ang konektor ng USB,
Kontrolin ang Arduino Gamit ang Smartphone Sa pamamagitan ng USB Gamit ang Blynk App: 7 Mga Hakbang (na may Mga Larawan)
Kontrolin ang Arduino Gamit ang Smartphone Sa Pamamagitan ng USB Sa Blynk App: Sa tutorial na ito, matututunan namin kung paano gamitin ang Blynk app at Arduino upang makontrol ang lampara, ang kumbinasyon ay sa pamamagitan ng USB serial port. Ang layunin ng pagtuturo na ito ay upang ipakita ang pinakasimpleng solusyon sa malayo-pagkontrol ng iyong Arduino o c