इस सत्र में हम एक ध्वनि बोर्ड बनाने के लिए रास्पबेरी पाई और PYGAME फ़ंक्शन का उपयोग करने जा रहे हैं । सरल शब्दों में, हम रास्पबेरी पाई GPIO पिन के कुछ बटन कनेक्ट करने जा रहे हैं और जब इन बटन को दबाया जाता है तो रास्पबेरी पाई इसकी मेमोरी में संग्रहीत ऑडियो फाइलों को प्ले करती है। इन ऑडियो फाइलों को एक-एक करके चलाया जा सकता है या फिर इन सभी को एक साथ चलाया जा सकता है। दूसरे शब्दों में, आप एक ही समय में एक या कई बटन दबा सकते हैं, रास्पबेरी पाई एक ही समय में एक या एक से अधिक ऑडियो फ़ाइलें चलाएगी। इस लेख के अंत में डेमो वीडियो देखें। इसके अलावा कुछ अच्छे IoT प्रोजेक्ट्स के साथ हमारी रास्पबेरी पाई ट्यूटोरियल सीरीज़ देखें।
रास्पबेरी पाई में हमारे पास 26 GPIO पिन हैं जिन्हें प्रोग्राम किया जा सकता है, जिनमें से कुछ का उपयोग कुछ विशेष कार्य करने के लिए किया जाता है और फिर हमारे पास 17 GPIO शेष हैं। प्रत्येक GPIO पिन अधिकतम 15mA प्रदान या आकर्षित कर सकता है। और सभी GPIO से धाराओं का योग 50mA से अधिक नहीं हो सकता है। इसलिए हम इनमें से प्रत्येक GPIO पिन से औसतन अधिकतम 3mA खींच सकते हैं। हम वर्तमान प्रवाह को सीमित करने के लिए प्रतिरोधों का उपयोग करेंगे। GPIO पिन और रास्पबेरी पाई के साथ इंटरफेसिंग बटन के बारे में अधिक जानें।
आवश्यक घटक:
यहां हम रास्पबेरी जेसी ओएस के साथ रास्पबेरी पाई 2 मॉडल बी का उपयोग कर रहे हैं । सभी मूल हार्डवेयर और सॉफ़्टवेयर आवश्यकताओं पर पहले से चर्चा की जाती है, आप इसे रास्पबेरी पाई परिचय और रास्पबेरी पीआई एलईडी ब्लिंकिंग को शुरू करने के लिए देख सकते हैं, इसके अलावा, हमें इसकी आवश्यकता है:
- पूर्व-स्थापित ओएस के साथ रास्पबेरी पाई
- बिजली की आपूर्ति
- वक्ता
- 1K 1 रोकनेवाला (6 टुकड़े)
- पुश बटन (6 टुकड़े)
- 1000uF संधारित्र
कार्य स्पष्टीकरण:
यहां हम रास्पबेरी पाई के साथ बटन का उपयोग करके ध्वनि बज रहे हैं । हमने 6 ऑडियो फ़ाइलों को चलाने के लिए 6 पुश बटन का उपयोग किया है। हम इन बटनों को दबाकर और अधिक सुंदर पैटर्न बनाने के लिए इस बोर्ड का विस्तार करने के लिए अधिक बटन और ऑडियो फ़ाइलों को जोड़ सकते हैं। किसी भी आगे की व्याख्या करने से पहले, नीचे दिए गए चरणों को पूरा करें।
1. सबसे पहले नीचे दिए गए लिंक से 6 ऑडियो फाइलों को डाउनलोड करें या आप अपनी ऑडियो फाइलों का उपयोग कर सकते हैं, लेकिन फिर आपको कोड में फाइल नामों को बदलने की आवश्यकता है।
यहां से ऑडियो फाइल डाउनलोड करें
2. रास्पबेरी पाई डेस्कटॉप स्क्रीन पर एक नया फ़ोल्डर बनाएं और इसे "PI साउंड बोर्ड" नाम दें।
3. डाउनलोड किए गए ऑडियो फाइलों को उस फ़ोल्डर में अनज़िप करें, जिसे हमने पिछले चरण में DESKTOP पर बनाया है।
4. रास्पबेरी पाई में टर्मिनल विंडो खोलें और नीचे कमांड दर्ज करें:
सुदो अमिक्सर cset संख्या = 3 1
यह कमांड पीआई को बोर्ड पर 3.5 मिमी ऑडियो जैक के माध्यम से ऑडियो आउटपुट प्रदान करने के लिए कहता है।
अगर आपको एचडीएमआई पोर्ट से ऑडियो आउटपुट चाहिए तो आप नीचे दिए गए कमांड का उपयोग कर सकते हैं:
$ सुडो एमिक्सर काउंट नंबिड = 3 2
5. रास्पबेरी पाई बोर्ड पर वक्ताओं को 3.5 मिमी ऑडियो आउटपुट जैक से कनेक्ट करें।
6. PYTHON फाइल (*.py एक्सटेंशन) बनाएं और उसी फोल्डर में सेव करें। रास्पबेरी पाई में पायथन प्रोग्राम बनाने और चलाने के लिए इस ट्यूटोरियल की जाँच करें।
7. OS में डिफ़ॉल्ट रूप से Pygame मिक्सर स्थापित किया जाएगा। यदि प्रोग्राम, निष्पादन के बाद, PYMIXER को याद नहीं करता है, तो टर्मिनल विंडो में कमांड दर्ज करके रास्पबेरी पाई के ओएस को अपडेट करें। सुनिश्चित करें कि पाई इंटरनेट से जुड़ी है।
sudo apt-get update
OS अपडेट करने के लिए कुछ मिनटों तक प्रतीक्षा करें।
अब नीचे दिए गए सर्किट आरेख के अनुसार हर घटक को कनेक्ट करें, डेस्कटॉप पर बनाई गई PYHTON फाइल में PYHTON प्रोग्राम को कॉपी करें और अंत में बटन के माध्यम से ऑडियो फाइलों को चलाने के लिए रन हिट करें। पायथन प्रोग्राम को डेमो वीडियो के साथ अंत में दिया गया है ।
सर्किट आरेख:
प्रोग्रामिंग स्पष्टीकरण:
यहां हमने बटन प्रेस के अनुसार ऑडियो फाइल चलाने के लिए पायथन प्रोग्राम बनाया है । यहां हमें कुछ आदेशों को समझने की आवश्यकता है, जिनका उपयोग हमने कार्यक्रम में किया है।
IO के रूप में RPi.GPIO आयात करें
हम लाइब्रेरी से GPIO फ़ाइल आयात करने जा रहे हैं, ऊपर कमांड हमें PI के GPIO पिन को प्रोग्राम करने में सक्षम बनाता है। हम "GPIO" का नाम भी "IO" कर रहे हैं, इसलिए जब भी हम GPIO पिन को संदर्भित करना चाहते हैं, तो हम 'IO' शब्द का उपयोग करेंगे।
IO.setwarnings (गलत)
कभी-कभी, जब GPIO पिन जो हम उपयोग करने की कोशिश कर रहे हैं, वह कुछ अन्य कार्य कर सकता है। जब भी आप किसी कार्यक्रम को अंजाम देंगे, तब आप चेतावनियों को प्राप्त कर लेंगे। यह कमांड रास्पबेरी पाई को चेतावनी को अनदेखा करने और कार्यक्रम के साथ आगे बढ़ने के लिए कहता है।
IO.setmode (IO.BCM)
यहां हम उनके फ़ंक्शन नाम से PI के i / o पिन को संदर्भित करने जा रहे हैं। इसलिए हम बीसीएम पिन नंबर द्वारा GPIO की प्रोग्रामिंग कर रहे हैं, जो हमें अपने GPIO पिन नंबर के साथ पिन कॉल करने में सक्षम बनाता है। जैसे हम PIN39 को प्रोग्राम में GPIO19 कह सकते हैं।
आयात pygame.mixer
हम ऑडियो फ़ाइलों को चलाने के लिए pygame मिक्सर कह रहे हैं ।
Audio1 = pygame.mixer.Sound ("बजर। wav")
हम डेस्कटॉप फ़ोल्डर में संग्रहीत 'buzzer.wav' ऑडियो फ़ाइल के लिए कॉल कर रहे हैं। यदि आप किसी अन्य फ़ाइल को खेलना चाहते हैं, तो बस ऊपर दिए गए फ़ंक्शन में ऑडियो फ़ाइल का नाम बदलें। आप डेस्कटॉप फ़ोल्डर में मौजूद किसी भी फाइल को नाम दे सकते हैं।
channel1 = pygame.mixer.Channel (1)
यहां हम प्रत्येक बटन के लिए एक चैनल स्थापित कर रहे हैं ताकि हम सभी ऑडियो फाइलों को एक साथ चला सकें।
अगर (IO.input (21) == 0): channel1.play (audio1)
मामले में, यदि कथन सत्य है, तो नीचे दिए गए कथन को एक बार निष्पादित किया जाएगा। तो अगर GPIO पिन 21 कम या जमीन पर जाती है, तो यह ऑडियो फाइल को ऑडियो 1 वेरिएबल को सौंपेगा । सर्किट आरेख के अनुसार, हम देख सकते हैं कि जब हम पहला बटन दबाते हैं तो GPIO पिन 21 कम हो जाता है। इसलिए हम संबंधित बटन दबाकर कोई भी ऑडियो फ़ाइल चला सकते हैं।
जबकि 1: हमेशा के लिए लूप के रूप में उपयोग किया जाता है, इस कमांड के साथ इस लूप के अंदर के स्टेटमेंट को लगातार निष्पादित किया जाएगा।
रास्पबेरी पाई के साथ सबसे संतोषजनक ध्वनि बोर्ड बनाने के लिए आप अजगर कार्यक्रम में बदलाव कर सकते हैं । आप चीजों को अधिक रोचक बनाने और अधिक ऑडियो फ़ाइलों को चलाने के लिए और अधिक बटन भी जोड़ सकते हैं।