विषयसूची:

Arduino पियानो: 3 कदम
Arduino पियानो: 3 कदम

वीडियो: Arduino पियानो: 3 कदम

वीडियो: Arduino पियानो: 3 कदम
वीडियो: Arduino piano with 3 modes and a sustain 2024, नवंबर
Anonim
अरुडिनो पियानो
अरुडिनो पियानो

यह "पियानो" एक वास्तविक पियानो का सप्तक बजाने में सक्षम है। बटन दबाने से पियानो पर एक कुंजी दबाने का प्रतिनिधित्व होगा। ध्वनि एक पीजो स्पीकर के माध्यम से प्रसारित की जाएगी।

चरण 1: सामग्री

1. Arduino Uno

2. यूएसबी तार

3. 3 ब्रेडबोर्ड

4. 8 पुशबटन

5. 8 100 ओम प्रतिरोधक

6. "पीजो" स्पीकर

7. कई पुरुष तार (लगभग 20)

8. सोल्डरिंग आयरन

चरण 2: सेटअप बनाएँ

सेटअप बनाएं
सेटअप बनाएं

Arduino में 8 अलग-अलग पिनों में जाने के साथ 8 बटन बनाएं, प्रत्येक में एक रोकनेवाला जोड़कर, और उन्हें जमीन से कनेक्ट करें (पुरुष तारों का उपयोग करके)।

स्पीकर को निर्दिष्ट Arduino पिन से कनेक्ट करें, और दूसरी तरफ जमीन से। आपको तारों को स्पीकर में मिलाप करना होगा ताकि यह गिर न जाए। सुनिश्चित करें कि स्पीकर में टांके लगाने वाले दो तार एक दूसरे को स्पर्श नहीं करते हैं।

चरण 3: कोड का निर्माण

#डिफाइन नोट_बी0 31#डिफाइन नोट_सी1 33 #डिफाइन नोट_सीएस1 35 #डिफाइन नोट_डी1 37 #डिफाइन नोट_डीएस1 39 #डिफाइन नोट_ई1 41 #डिफाइन नोट_एफ1 44 #डिफाइन नोट_एफएस1 46 #डिफाइन नोट_जी1 49 #डिफाइन नोट_जीएस1 52 #डिफाइन नोट_ए1 55 #डिफाइन नोट_एएस1 58 #डिफाइन नोट_एएस1 58 नोट_बी1 62 #डिफाइन नोट_सी2 65 #डिफाइन नोट_सीएस2 69 #डिफाइन नोट_डी2 73 #डिफाइन नोट_डीएस2 78 #डिफाइन नोट_ई2 82 #डिफाइन नोट_एफ2 87 #डिफाइन नोट_एफएस2 93 # डिफाइन नोट_जी 2 98 # डिफाइन नोट_जीएस 2 104 # डिफाइन नोट_एएस 2 110 # 117 डिफाइन नोट_ए 2 110 # डिफाइन करें। #डिफाइन नोट_सी3 131 #डिफाइन नोट_सीएस3 139 #डिफाइन नोट_डी3 147 #डिफाइन नोट_डीएस3 156 #डिफाइन नोट_ई3 165 #डिफाइन नोट_एफ3 175 #डिफाइन नोट_एफएस3 185 # डिफाइन नोट_जी 3 196 # डिफाइन नोट_जीएस 3 208 # डिफाइन नोट_ए 3 220 # डिफाइन नोट_एएस3 233 # डिफाइन नोट_एएस3 Note_C4 262 #define note_CS4 277 #define note_D4 294 #define note_DS4 311 #define note_E4 330 #definenote_F4 349 #define note_FS4 370 #define note_G4 392 #define note_GS4 415 #define note_A4 440 #define note_as4 466 4 #define note_C5 466 #define note_as4 466 #डी नोट करें_CS5 554 # परिभाषित करें नोट_D5 587 # नोट_डीएस 5 622 परिभाषित करें # नोट_E5 659 # परिभाषित करें नोट_F5 698 # परिभाषित नोट_FS5 740 # परिभाषित नोट_जी 5 784 # नोट_जीएस 5 831 परिभाषित करें ११०९ #डिफाइन नोट_डी६ ११७५ #डिफाइन नोट_डीएस६ १२४५ # डिफाइन नोट_ई६ १३१९ # डिफाइन नोट_एफ६ १३९७ #डिफाइन नोट_एफएस६ १४८० # डिफाइन नोट_जी६ १५६८ # डिफाइन नोट_जीएस६ १६६१ # डिफाइन नोट_ए६ १७६० # डिफाइन नोट_एएस६ १८६५ # डिफाइन नोट_बी६ १९७६ # डिफाइन नोट_सीएस७ २२१७ नोट_डी7 2349 को परिभाषित करें # नोट_डीएस7 2489 को परिभाषित करें # नोट_ई7 2637 को परिभाषित करें # नोट_एफ7 2794 को परिभाषित करें नोट_एफएस7 2960 को परिभाषित करें नोट_जी7 3136 को परिभाषित करें नोट_जीएस7 3322 को परिभाषित करें। ४६९९ #डिफाइन नोट_डीएस८ ४९७८

ये "#defines" स्पीकर को यह बताने के लिए हैं कि कौन सी फ़्रीक्वेंसी किस नोट को बनाती है

कॉन्स्ट इंट सी = 2; कॉन्स्ट इंट डी = 3; कॉन्स्ट इंट ई = 4; कॉन्स्ट इंट एफ = 5; कॉन्स्ट इंट जी = 6; कॉन्स्ट इंट ए = 7; कॉन्स्ट इंट बी = 8; कॉन्स्ट इंट C2 = 9; कॉन्स्ट इंट पीजोपिन = 10; इंट सीस्टेट = 0; इंट डीस्टेट = 0; इंट ईस्टेट = 0; इंट एफस्टेट = 0; इंट जीस्टेट = 0; इंट स्टेट = 0; इंट बीस्टेट = 0; int c2State= 0;

Arduino पिन को बटनों पर नामित करें। "cState, dState, eState, आदि;" वे वेरिएबल्स हैं जो सहेजते हैं कि बटन दबाया गया है या नहीं। ए 0 का मतलब है कि इसे दबाया नहीं गया है, 1 का मतलब है कि इसे दबाया गया है।

शून्य सेटअप () {// अपना सेटअप कोड यहां एक बार चलाने के लिए डालें: पिनमोड (10, OUTPUT); सीरियल.बेगिन (९६००); }

शून्य लूप () {// बार-बार चलाने के लिए अपना मुख्य कोड यहां रखें: cState = digitalRead(C); dState = digitalRead (D); ईस्टेट = डिजिटल रीड (ई); fState = digitalRead (F); जीस्टेट = डिजिटलरेड (जी); एस्टेट = डिजिटलरीड (ए); बीस्टेट = डिजिटलरीड (बी); c2State= digitalRead(C2);

बटन की स्थिति (यदि इसे दबाया गया है या नहीं) "cState, dState, eState, आदि" में सहेजा गया है;

ए 0 का मतलब है कि इसे दबाया नहीं गया है, 1 का मतलब है कि इसे दबाया गया है।

अगर (सीस्टेट == 1) {टोन (पीजोपिन, 131); }else{noTone(piezoPin);} if(dState ==1){ टोन (पीजोपिन, 147); }else{noTone(piezoPin);} if(eState ==1){ टोन (पीजोपिन, 165); }else{noTone(piezoPin);} if(fState ==1){ टोन (पीजोपिन, १७५); }else{noTone(piezoPin);} if(gState ==1){ टोन (पीजोपिन, 196); }else{noTone(piezoPin);} if(aState ==1){ टोन (पीजोपिन, 220); }else{noTone(piezoPin);} if(bState ==1){ टोन (पीजोपिन, 247); }else{noTone(piezoPin);} if(c2State ==1){ टोन (पीजोपिन, 262); } और {नोटोन (पीजोपिन);} }

यदि एक बटन दबाया जाता है, तो यह सर्वो को निश्चित आवृत्ति (नोट) चलाने के लिए कहता है। कार्यक्रम

{noTone(piezoPin);} उन्हें बताता है कि अगर बटन को दबाया नहीं गया तो कुछ भी नहीं चलेगा। इसलिए जब भी बटन दबाया जाएगा, यह अपना निर्दिष्ट नोट बजाएगा।

सिफारिश की: