विषयसूची:

प्रोटोटाइप Arduino-Raspberry Pi साउंडबोर्ड: 9 कदम (चित्रों के साथ)
प्रोटोटाइप Arduino-Raspberry Pi साउंडबोर्ड: 9 कदम (चित्रों के साथ)

वीडियो: प्रोटोटाइप Arduino-Raspberry Pi साउंडबोर्ड: 9 कदम (चित्रों के साथ)

वीडियो: प्रोटोटाइप Arduino-Raspberry Pi साउंडबोर्ड: 9 कदम (चित्रों के साथ)
वीडियो: My esp8266 pcb by jlcpcb, overview and review 2024, नवंबर
Anonim
प्रोटोटाइप Arduino-रास्पबेरी पाई साउंडबोर्ड
प्रोटोटाइप Arduino-रास्पबेरी पाई साउंडबोर्ड

Arduino और रास्पबेरी पाई के साथ बनाया गया प्रोटोटाइप साउंडबोर्ड 4 अलग-अलग ध्वनियों या शोरों को चलाने का एक सरल तरीका है, जबकि ध्वनि सेट को नॉब के साथ स्विच करने और एलसीडी स्क्रीन के साथ वर्तमान ध्वनि सेट को प्रदर्शित करने का विकल्प होता है।

*कृपया ध्यान दें: परियोजना के लिए कोड 99% पूर्ण है, लेकिन कार्यात्मक नहीं है।

रास्पबेरी पाई 16x2 एलसीडी स्क्रीन और रोटरी एनकोडर को नियंत्रित करता है जबकि Arduino बल संवेदनशील प्रतिरोधों (FSRs) से एनालॉग इनपुट को पढ़ता है और ध्वनि चलाने के लिए Arduino को एक संकेत भेजता है। हम दोनों ने इस कक्षा से पहले कभी भी Arduino या Pi का उपयोग नहीं किया था, लेकिन हमारे प्रोफेसर ने हमें इस परियोजना को आसानी से कोड करने और बनाने के लिए सभी आवश्यक उपकरण और मार्गदर्शन दिए। ऑटोडेस्क द्वारा एक मुफ्त ऑनलाइन 3डी मॉडलिंग टूल टिंकरकैड का उपयोग हमारे प्रोजेक्ट को मॉडल करने के लिए किया गया था।

परियोजना का सबसे कठिन हिस्सा सीरियल संचार के साथ संवाद करने के लिए Arduino और रास्पबेरी पाई प्राप्त करने का एक तरीका ढूंढ रहा था। हम मूल रूप से केवल परियोजना की संपूर्णता के लिए पाई का उपयोग करना चाहते थे, लेकिन एफएसआर से एनालॉग सिग्नल को पढ़ने के लिए हमें Arduino की आवश्यकता थी। हम आसानी से Arduino से शब्दों या संख्याओं की पंक्तियों को भेजने और इसे पाई पर प्रदर्शित करने में सक्षम थे, लेकिन समस्या तब आई जब हमने उन मानों को पायथन में पढ़ने की कोशिश की और उन्हें संसाधित करने के लिए उन्हें कंडीशन स्टेटमेंट में लागू किया।

आवश्यक योग्यता

  • Arduino कोडिंग के लिए C/C++ की सरल समझ
  • रास्पबेरी पाई कोडिंग के लिए पायथन की सरल समझ
  • ब्रेडबोर्ड को कैसे तार-तार किया जाता है, इस बारे में ज्ञान
  • बुनियादी 3डी मॉडलिंग कौशल
  • प्रोग्रामिंग सीखने और विस्तार करने की इच्छा, वायरिंग, और कुछ साफ-सुथरा बनाना

सूची का हिस्सा

1 एक्स रास्पबेरी पाई 3

1 एक्स एलेगो यूनो या अरुडिनो यूनो

1 x 830 टाई ब्रेडबोर्ड

1 एक्स जीपीआईओ ब्रेकआउट बोर्ड (आरएसपी-जीपीआईओ)

ब्रेकआउट बोर्ड के लिए 1 एक्स रिबन केबल

4 एक्स छोटे बल संवेदनशील प्रतिरोधी

1 एक्स बेसिक 16x2 कैरेक्टर एलसीडी स्क्रीन

1 एक्स रोटरी एनकोडर मॉड्यूल

24 x नर से मादा तार

10 x पुरुष से पुरुष तार

4 x 10k प्रतिरोधक

1 x 10k पोटेंशियोमीटर

1 एक्स गार्डन फोम घुटने पैड (डॉलर की दुकान)

चरण 1: Arduino के साथ FSR का परीक्षण करें

Arduino के साथ FSR का परीक्षण करें
Arduino के साथ FSR का परीक्षण करें

हमने पहले Arduino के साथ FSR को आज़माने का फैसला किया। FSRs एक एनालॉग सिग्नल भेजते हैं और इसलिए हमें Arduino का उपयोग करना पड़ता है क्योंकि Pi अन्य सर्किट के बिना एनालॉग प्राप्त नहीं करता है। हम यह सुनिश्चित करने के लिए थ्रेसहोल्ड का परीक्षण करना चाहते थे कि प्रेस एक अच्छे दबाव में थे। हमने इसे कुल १००० में से १५० के आसपास पाया। Arduino IDE पर सीरियल प्लॉटर इस कदम के लिए बहुत मददगार था।

चरण 2: बोर्ड के लिए योजनाएं बनाएं

बोर्ड के लिए योजनाएं बनाएं
बोर्ड के लिए योजनाएं बनाएं
बोर्ड के लिए योजनाएं बनाएं
बोर्ड के लिए योजनाएं बनाएं

फिर हमने बोर्ड के लिए योजनाएँ बनाईं और मापीं। हम ध्वनि चलाने के लिए 4 पैड चाहते थे, वर्तमान ध्वनि समूह को प्रदर्शित करने के लिए एलसीडी स्क्रीन के लिए एक स्थान, और ध्वनि समूह को बदलने के लिए एक रोटरी एन्कोडर।

चरण 3: बोर्ड को टिंकरकैड में मॉडल करें

टिंकरकैड में बोर्ड का मॉडल बनाएं
टिंकरकैड में बोर्ड का मॉडल बनाएं
टिंकरकैड में बोर्ड का मॉडल बनाएं
टिंकरकैड में बोर्ड का मॉडल बनाएं
टिंकरकैड में बोर्ड का मॉडल बनाएं
टिंकरकैड में बोर्ड का मॉडल बनाएं

योजनाएँ तैयार होने के बाद, हमने बोर्ड को एक ऑनलाइन, मुफ़्त, 3D मॉडलिंग वेबसाइट पर बनाया, जिसे Autodesk द्वारा TinkerCad कहा जाता है। हम आप में से उन लोगों के लिए इसकी अत्यधिक अनुशंसा करते हैं जो बड़े 3D मॉडलिंग सॉफ़्टवेयर पर बहुत अधिक पैसा खर्च नहीं करना चाहते हैं क्योंकि इसका उपयोग करना आसान है, क्लाउड आधारित है, और इसमें 3D प्रिंटिंग के लिए पूर्ण समर्थन है।

इसे मॉडल करने के बाद, हमें इसे प्रिंटर पर फिट करने के लिए इसे 2 टुकड़ों में विभाजित करना पड़ा। यह वास्तव में अच्छी तरह से छपा हुआ था, लेकिन मेरी गलती एलसीडी स्क्रीन स्लॉट को बहुत अच्छी तरह से आकार नहीं दे रही थी (वह गलती न करें!) हमने बाईं और दाईं ओर. STL फाइलें अपलोड कर दी हैं। यदि आप उन्हें देखना चाहते हैं।

चरण 4: एलसीडी स्क्रीन का परीक्षण करें

एलसीडी स्क्रीन का परीक्षण करें
एलसीडी स्क्रीन का परीक्षण करें

हमने पहले ही Arduino पर स्क्रीन का उपयोग कर लिया था और इसे सेटअप करना बहुत आसान था। हालाँकि, इसे पाई के साथ चलाना अधिक कठिन था। Google पर कई समस्या निवारण घंटों के साथ और तारों के साथ फ़िडगेटिंग के साथ, हमने आखिरकार इसे काम कर लिया। यह कैसे काम करता है यह देखने के लिए कृपया अंत में अंतिम पायथन कोड देखें। हमने इसे वायर करने और कोड लिखने में मदद करने के लिए कुछ वेबसाइटों का उपयोग किया। उन्हें देखें:

learn.adafruit.com/drive-a-16x2-lcd-direct…

www.raspberrypi-spy.co.uk/2012/07/16x2-lcd…

चरण 5: एलसीडी स्क्रीन के साथ रोटरी एनकोडर का परीक्षण करें

एलसीडी स्क्रीन के साथ रोटरी एनकोडर का परीक्षण करें
एलसीडी स्क्रीन के साथ रोटरी एनकोडर का परीक्षण करें

हम तब देखना चाहते थे कि क्या एन्कोडर घुमाए जाने पर हम एलसीडी स्क्रीन को इसके टेक्स्ट को बदल सकते हैं। एन्कोडर में कोण या घुमाव की एक निर्धारित मात्रा नहीं होती है, इसलिए कोड में हमने गिना कि इसे कितनी बार दक्षिणावर्त या वामावर्त घुमाया गया था और इसे 3 तक गिना गया था। यदि यह खत्म हो गया, तो यह 0 पर वापस चला जाएगा, और यदि यह 0 से नीचे चला जाता है, तो यह 3 तक वापस चला जाएगा। उन नंबरों को सेट किया जा सकता है जो आपको पसंद हैं, लेकिन हमने केवल एक ध्वनि सेट का परीक्षण किया है। सुनिश्चित करें कि आपकी ध्वनियाँ उसी फ़ोल्डर/स्थान में हैं जहाँ मुख्य पायथन कोड निष्पादित किया जा रहा है।

चरण 6: बोर्ड को इकट्ठा करें

बोर्ड को इकट्ठा करो
बोर्ड को इकट्ठा करो
बोर्ड को इकट्ठा करो
बोर्ड को इकट्ठा करो
बोर्ड को इकट्ठा करो
बोर्ड को इकट्ठा करो

एफएसआर चार अलग-अलग स्लॉट के नीचे स्लाइड करते हैं। हमने उन्हें केंद्रित किया और उन्हें नीचे टेप किया। हम डक्ट टेप या शायद ग्लूइंग की भी सलाह देते हैं क्योंकि साधारण स्कॉच टेप 3 डी प्रिंटेड सामग्री से चिपके रहने में भयानक था। डॉलर की दुकान की एक त्वरित यात्रा के बाद, हमें एक नरम लेकिन स्क्विशी गार्डन नी पैड मिला जिसे हम बोर्ड के बटन के रूप में उपयोग करने के लिए चार टुकड़ों में काट सकते थे। हमने उन्हें काट दिया ताकि वे अपने स्थानों में अच्छी तरह से फिट हो सकें ताकि वे जगह पर रह सकें, लेकिन जरूरत पड़ने पर आसानी से हटा भी सकें।

चरण 7: वायर इट ऑल अप

वायर इट ऑल अप
वायर इट ऑल अप
वायर इट ऑल अप
वायर इट ऑल अप

बोर्ड को असेंबल करने और एफएसआर, एनकोडर और स्क्रीन लगाने के बाद, हमने सब कुछ तार-तार कर दिया। आप 2 ब्रेडबोर्ड का उपयोग कर सकते हैं, लेकिन हम सब कुछ एक पर फिट करने में सक्षम थे। तस्वीर एक गड़बड़ की तरह दिखती है, लेकिन हमने फ्रिट्ज़िंग नामक एक मुफ्त कार्यक्रम में एक योजनाबद्ध आरेख बनाया है। ध्यान दें कि आप बदल सकते हैं कि आप किन पिनों को सब कुछ संलग्न करना चाहते हैं, लेकिन आरेख हमारे कोड से मेल खाता है।

चरण 8: सब कुछ कोडिंग समाप्त करें

यह मुश्किल हिस्सा था। जैसा कि परिचय में कहा गया है, हम इस भाग को पूरा नहीं कर सके। कोड 99% है, लेकिन एक हिस्सा जो काम नहीं करता था वह था Arduino से Pi तक का धारावाहिक संचार। जब हम Arduino को USB केबल से Pi से कनेक्ट करते हैं तो हम आसानी से जानकारी भेज सकते हैं, लेकिन Pi स्क्रीन पर उस जानकारी को प्रदर्शित करने के अलावा कुछ नहीं कर सकता। हम यह बताने में सक्षम होना चाहते थे कि कौन सा बटन दबाया गया था और उस प्ले को एक विशिष्ट ध्वनि बनाना था, लेकिन संचार के माध्यम से जो डेटा आ रहा था, उसे यह जांचने के लिए एक कंडीशन स्टेटमेंट में नहीं डाला जा सकता था कि कौन सा बटन दबाया गया था।

कृपया संलग्न कोड देखें, पीआई के लिए पायथन कोड में नोट्स पर टिप्पणी की गई है। Arduino कोड 100% होना चाहिए।

चरण 9: निष्कर्ष निकालें

निष्कर्ष निकालना
निष्कर्ष निकालना

कुल मिलाकर, यह परियोजना हम दोनों के लिए एक बहुत बड़ा सीखने का अनुभव था और हम आशा करते हैं कि यह लेखन भविष्य के छात्रों, शिक्षकों, या टिंकरर्स को अपने स्वयं के प्रोजेक्ट के लिए कुछ प्रेरणा दे सकता है और हमारी गलतियों से सीखकर उनका मार्गदर्शन कर सकता है। हमारे भयानक रोबोटिक्स प्रोफेसर के लिए चिल्लाओ जिन्होंने कक्षा में हमारे समय के दौरान बहुत मदद की और हमें एक वरिष्ठ COMP कक्षा में एक टन मज़ा लेने और बहुत कुछ सीखने का अवसर दिया! पढ़ने के लिए धन्यवाद:)

सिफारिश की: