विज्ञापन

क्या आप कभी व्यक्तिगत स्वागत के लिए घर पहुंचना चाहते हैं? रास्पबेरी पाई और कुछ सरल घटकों के साथ, आप कर सकते हैं! इस सरल परियोजना में, हम एक दरवाजा खोलने पर थीम ट्यून को ट्रिगर करने के लिए एक रीड स्विच का उपयोग करेंगे। हम यहां नियंत्रक के रूप में रास्पबेरी पाई का उपयोग कर रहे हैं, हालांकि आप लगभग किसी भी का उपयोग कर सकते हैं अन्य माइक्रोकंट्रोलर $ 5 माइक्रोकंट्रोलर: अर्डुइनो, रास्पबेरी पाई जीरो, या नोडेएमसीयू?यह मामला हुआ करता था कि यदि आप एक कंप्यूटर प्राप्त करना चाहते हैं, तो आपको इसके लिए भुगतान करने के लिए अपने घर को फिर से शुरू करना होगा। अब, आप एक अब्राहम लिंकन के लिए एक प्राप्त कर सकते हैं। अधिक पढ़ें एक ही सर्किट का उपयोग कर इस परियोजना के लिए। यहाँ एक डेमो है।

आपको चाहिये होगा

आप संभवतः पहले से ही उन सभी हिस्सों के मालिक होंगे जिन्हें आपको रीड स्विच के अलावा बनाने की ज़रूरत है, जो लगभग $ 2-3 है, या आप $ 8 के लिए 5 का पैकेट प्राप्त कर सकते हैं यहाँ.

  • एक रास्पबेरी पाई (कोई भी मॉडल इसके लिए काम करेगा)।
  • 1 एक्स 220 ओम अवरोधक।
  • 1 एक्स 1K ओम अवरोधक।
  • 3 x 10K ओम अवरोधक।
  • 1 एक्स चुंबकीय ईख स्विच।
  • 1 एक्स एलईडी।
  • 2 एक्स पुश-बटन स्विच।
  • ब्रेड बोर्ड।
  • हुक-अप केबल।
  • कंप्यूटर स्पीकर या समान।
instagram viewer

हम कमरे में प्रवेश करने पर एक गाना बजाने के लिए रास्पबेरी पाई का उपयोग करेंगे, और इसे देरी पर सक्रिय करने के लिए हमारे ब्रेडबोर्ड पर बटन के साथ एक सर्किट डिजाइन करेंगे और कार्यक्रम को रोक देंगे।

यह परियोजना, जबकि ज्यादातर मज़े के लिए बनाई जा रही है, में कई अनुप्रयोगों के लिए मूल बातें शामिल हैं DIY घर स्वचालन रास्पबेरी पाई और Arduino के साथ होम ऑटोमेशन गाइडघर स्वचालन बाजार महंगी उपभोक्ता प्रणालियों से भरा हुआ है, एक दूसरे के साथ असंगत है और स्थापित करने के लिए महंगा है। यदि आपके पास रास्पबेरी पाई और एक Arduino है, तो आप मूल रूप से एक ही चीज़ प्राप्त कर सकते हैं ... अधिक पढ़ें और भी DIY घर की सुरक्षा एक DIY गृह सुरक्षा प्रणाली समाधान के लिए खोज रहे हैं? इनमें से एक आजमाएंडिजिटल तकनीक और हमेशा जुड़े हार्डवेयर की उम्र में, घर की सुरक्षा प्रणाली स्थापित करके दीवार पर अलार्म के आकार का बॉक्स लगाने की कला को पार करना चाहिए। अधिक पढ़ें

शुरू करना

हमारे सर्किट बनाने से शुरू होता है। सुनिश्चित करें कि आपका पाई निर्बाध है, और अपने सर्किट को इस तरह सेट करें:

फ्रिटिंग एनोटेट मुख्यालय

एलईडी हमारे पाई पर पिन 7 से जुड़ा हुआ है। दो पुश बटन स्विच पिन 11 और 13 से जुड़े होते हैं, और रीड स्विच 15 पिन से जुड़ता है। हमारी शक्ति पिन 1 (3v3) और पिन 6 (Gnd) जाती है।

पिन आरेख

सब कुछ सही जगह पर है की जाँच करना सुनिश्चित करें।

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

रीड स्विच स्थापित

3.5 मिमी जैक आउटपुट को अपने स्पीकर सिस्टम से कनेक्ट करें। एक बार जब सब कुछ एक साथ रखा जाता है तो इसे कुछ इस तरह देखना चाहिए:

पूरा सेटअप सही है

ध्यान दें कि यहाँ उपयोग किए गए ब्रेडबोर्ड में बिजली है, जो ऊपर दिए गए फ्रिट्ज़िंग आरेख के लिए दूसरे रास्ते पर है।

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

आरंभ करने से पहले, यह जांचने योग्य है कि क्या आप अद्यतित हैं। प्रकार sudo apt-get update टर्मिनल में।

अब हम अपने पाई को अपने सर्किट से बात करने के लिए आगे बढ़ा सकते हैं।

हमारे सेटअप का परीक्षण

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

यदि आपने पहले कभी पायथन में प्रोग्राम नहीं किया है और थोड़ा-बहुत भयभीत महसूस कर रहे हैं, तो एक मेजबान हैं महान वेबसाइटों पायथन प्रोग्रामिंग सीखने के लिए 5 सर्वश्रेष्ठ वेबसाइटअजगर प्रोग्रामिंग सीखना चाहते हैं? यहाँ पायथन ऑनलाइन सीखने के सर्वोत्तम तरीके हैं, जिनमें से कई पूरी तरह से मुफ्त हैं। अधिक पढ़ें आरंभ करने में आपकी सहायता कर सकता है

टर्मिनल में, एक नई स्क्रिप्ट बनाएं:

नैनो टेस्टहोम

एक बार खुलने के बाद, इस कोड को फ़ाइल में जोड़ें, और Ctrl-C को प्रेस से बचाकर, डायलॉग को दबाए रखें:

# यह कोड www पर एक लेख के लिए लिखा गया था। MakeUseOf.com इयान बकले द्वारा। आरपीआई आयात करें। GPIO के रूप में GPIO। आयात का समय। GPIO.setwarnings (गलत) GPIO.setmode (GPIO.BOARD) GPIO.setup (7, GPIO.OUT) GPIO.setup (11, GPIO.IN) GPIO.setup (13, GPIO.IN) GPIO.setup (15, GPIO.IN) जबकि ट्रू: GPIO.output (7, GPIO.HIGH) अगर (GPIO.input (11) == 1): प्रिंट ("GPIO 11 पर बटन") time.sepep ) अगर (GPIO.input (13) == 1): प्रिंट ("GPIO 13 पर बटन") time.sleep (1) यदि (GPIO.input (15) == 1): प्रिंट ("GPIO 15 पर बटन") समय । स्लीप (1) GPIO.cleanup ()

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

स्विच

प्रोग्राम चलाएँ:

अजगर टेस्टोस्टेरोन

जब आप अपने दो बटन दबाते हैं और चुंबक को अपने ईख स्विच से दूर खींचते हैं, तो आपको एलईडी लाइट और स्क्रीन की एक रिपोर्ट दिखनी चाहिए। यदि आपको बटन दबाते समय फीडबैक नहीं मिल रहा है, तो अपने सर्किट्री को फिर से जांचें और सुनिश्चित करें कि सब कुछ जुड़ा हुआ है जैसा कि यह होना चाहिए। जब आप परीक्षण पूरा कर लें, तो दबाएं CTRL-C कार्यक्रम को रोकने के लिए।

परीक्षा

अब हम अपने डोर सेंसर को सेट करने, ट्रिगर करने और रीसेट करने के लिए एक सरल प्रोग्राम को एक साथ रख सकते हैं। हम भागों में कोड पर जाएंगे और संक्षेप में बताएंगे कि प्रत्येक भाग क्या करता है, हालांकि यदि आप पूर्ण कोड को देखना चाहते हैं तो इसे पूर्ण रूप से प्रस्तुत करने के लिए नीचे स्क्रॉल करें।

हमें कुछ मॉड्यूल आयात करके शुरू करने की आवश्यकता है:

आयात Rpi। GPIO के रूप में GPIO। आयात pygame.mixer। आयात का समय। 

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

हम नामक वैरिएबल का उपयोग करने जा रहे हैं सक्रिय यह तय करने के लिए कि हमारा सिस्टम सक्रिय है या नहीं। कुछ कार्यों को परिभाषित करें जो हमारे लिए यह करेंगे:

def activeSetup (): वैश्विक सक्रिय सक्रिय = 0 प्रिंट ("वर्तमान में सक्रिय नहीं है") activeState () को सक्रिय करें: यदि सक्रिय == 1: वैश्विक सक्रिय है तो = 0 GPIO.output (7, GPIO.LOW) प्रिंट ("वर्तमान में सक्रिय नहीं है") elif सक्रिय == 0: प्रिंट ("10 सेकंड में सक्रिय") रेंज में x के लिए (0,10): GPIO.output (7, GPIO.HIGH) time.sleep (0.5) GPIO.output (7, GPIO.LOW) समय.sleep (0.5) सक्रिय = 1 GPIO.output (7, GPIO.HIGH) प्रिंट ("वर्तमान में") सक्रिय ") और: वापसी। 

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

जब सिस्टम सक्रिय है (या) चेक को कॉल करने पर दूसरा फ़ंक्शन सक्रिय == 1). यदि यह है, तो यह सिस्टम को सक्रिय नहीं करने के लिए सेट करता है (सक्रिय == 0), एलईडी को बंद कर देता है, और कंसोल को प्रिंट करता है। यदि यह नहीं है, तो यह आपको उस कमरे को छोड़ने के लिए 10 सेकंड का काउंटडाउन देता है जिसमें एलईडी चमकती है, शेष रहने से पहले यह दिखाने के लिए कि सिस्टम सक्रिय है।

अब हम एक फ़ंक्शन को परिभाषित कर सकते हैं जो हमारे रीड चुंबक स्विच को देखेगा:

def watchDoor (): ग्लोबल प्लेइंग प्ले = गलत जबकि ट्रू: अगर एक्टिव == 1 और GPIO.input (15) == 1 और प्लेइंग == फाल्स: प्लेइंग = ट्रू pygame.mixer.music.play () यदि GPIO.input (13) == 1: प्रिंट ("स्टॉप बटन दबाया: बाहर निकलें") pygame.mixer.music.stop () ब्रेक अगर GPIO.input (11 = = 1): activeState () time.sleep (0.5)

हम यहां एक और वैरिएबल बनाते हैं जिसे कहा जाता है खेल रहे हैं - यह स्विच बंद होने पर बार-बार खेल शुरू करने की कोशिश कर रहे कार्यक्रम को रोकने के लिए है।

लूप के अंदर, पहला अगर स्टेटमेंट संगीत शुरू करता है (जो कि हमारे पास अभी तक नहीं है, लेकिन चिंता करने के लिए नहीं है, यह आ रहा है)। यह केवल संगीत को शुरू करने देता है यदि सिस्टम सक्रिय है, रीड स्विच खुला है, और यह पहले से ही नहीं चल रहा है।

दूसरा अगर स्टेटमेंट हमारे एग्जिट बटन के लिए है। यदि यह बटन दबाया जाता है तो संगीत बंद हो जाता है और प्रोग्राम बाहर निकल जाता है।

तीसरा अगर स्टेटमेंट टॉगल करने के लिए है कि सिस्टम सक्रिय है या नहीं। निद्रा का समय यहाँ कार्य कई बटन रीड को रोकने के लिए है जब इसे दबाया जाता है।

अब पाई के पिनों को स्थापित करने का समय आ गया है।

GPIO.setmode (GPIO.BOARD) GPIO.setup (7, GPIO.OUT, प्रारंभिक = GPIO.LOW) GPIO.setup (11, GPIO.IN) GPIO.setup (13, GPIO.IN) GPIO.setup (15, GPIO.IN)

यदि आपने पाई के साथ कोई प्रयोग किया है तो इससे पहले आपको परिचित होना चाहिए। प्रारंभिक = GPIO.LOW पिन 7 के सेटअप में तर्क यह शुरू होते ही इसे कम कर देता है।

अब हम अपने फ़ंक्शन को कॉल कर सकते हैं जो प्रोग्राम शुरू होने पर सक्रिय नहीं होने के लिए सिस्टम सेट करेगा।

activeSetup ()

संगीत उस्ताद!

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

wget

हमारे कोड में वापस, हमें Pygame मिक्सर को शुरू करने और हमारी धुन को लोड करने की आवश्यकता है।

pygame.mixer.init (44100, -16,2,1024) pygame.mixer.music.set_volume (1.0) नाम = "एक-दृष्टि वाली Maestro.mp3" pygame.mixer.music.load (नाम) प्रिंट ("लोड किया गया ट्रैक -" + str (नाम))

इस ब्लॉक की पहली पंक्ति शुरू होती है pygame मिक्सर। कोष्ठक में अंतिम तर्क बफर है जो उस विलंबता को नियंत्रित करता है जिसमें ध्वनि बजाई जाती है। यदि बाद में जब आपका संगीत बजता है, तो आप चॉपी प्लेबैक का अनुभव करते हैं, इस संख्या को 4096 तक बढ़ाने का प्रयास करें। सेटिंग्स के रूप में वे एक Pi 3 पर कोई समस्या नहीं के साथ काम कर रहे हैं।

यदि आपने अपनी संगीत फ़ाइल को अपनी एक अलग निर्देशिका में डाउनलोड किया है door.py प्रोग्राम, आपको नाम चर को परिभाषित करते समय कोष्ठक के अंदर पूर्ण पथ प्रदान करना होगा।

अब जो कुछ करना बाकी है, वह एक लूप सेट किया गया है जो हमारे लिए इंतजार कर रहा है कि या तो प्रोग्राम को सक्रिय करें, या उससे बाहर निकलें।

जबकि सच: अगर (GPIO.input (13) == 1): प्रिंट ("स्टॉप बटन दबाया: बाहर निकलें") pygame.mixer.music.stop () ब्रेक अगर (GPIO.input (11) == 1): activeState () time.sleep (0.5) if (सक्रिय == 1): watchDoor () ब्रेक GPIO.cleanup ()

यह जबकि लूप या तो बटन से इनपुट की प्रतीक्षा करता है, और तदनुसार सक्रिय होने के लिए राज्य को बदल देता है या बदल देता है। यदि सक्रिय की स्थिति 1 हो जाती है, तो watchDoor फ़ंक्शन जिसे हमने पहले परिभाषित किया था उसे बुलाया जाता है और अगली बार जब दरवाजा खुलता है तो हमारी धुन बजती है। हम भी बुलाते हैं GPIO.cleanup () बाहर निकलने पर हमारे पिन को रीसेट करने के लिए, जो आमतौर पर रास्पबेरी पाई पर सभी प्रोग्रामिंग के लिए एक अच्छा अभ्यास है।

इस परियोजना को पूरा करने और चलाने के लिए हमें जो कुछ भी करना है, वह यहां पूर्ण कोड है:

आरपीआई आयात करें। GPIO के रूप में GPIO। आयात pygame.mixer। आयात का समय सक्रिय करें (): वैश्विक सक्रिय सक्रिय = 0 प्रिंट ("वर्तमान में सक्रिय नहीं है") सक्रिय करें () को सक्रिय करें: यदि सक्रिय है == 1: सक्रिय = 0 GPIO.output (7, GPIO.LOW) प्रिंट (" नहीं सक्रिय ") एलीफ सक्रिय == 0: प्रिंट (" 10 सेकंड में सक्रिय करना ") एक्स के लिए रेंज में (0,10): GPIO.output (7, GPIO.HIGH) time.sleep (0.5) GPIO.output (7) GPIO.LOW) time.sleep (0.5) सक्रिय = 1 GPIO.output (7, GPIO.HIGH) प्रिंट ("वर्तमान में सक्रिय"): रिटर्न डी वॉचडूर (): वैश्विक खेल खेल = गलत जबकि सच: यदि सक्रिय == 1 और GPIO.input (15) == 1 और खेल == झूठी: खेलना = सच्चा pygame.mixer.music.play () यदि GPIO.input (13) == 1: प्रिंट ("स्टॉप बटन दबाया: बाहर निकलें"): activeState () time.sleep (0.5) GPIO.setmode (GPIO.BOARD) GPIO.setup (7, GPIO.OUT, प्रारंभिक = GPIO.LOW) GPIO.setup (11, GPIO.IN) GPIO.setup (13, GPIO.IN) GPIO.setup (15, GPIO.IN) सक्रियSetup () pygame.mixer.init (44100, -16,2,1024) pygame.mixer.music.set_volume (1.0) नाम = "एक-दृष्टि वाली Maestro.mp3" pygame.mixer.music.load (नाम) प्रिंट ("लोड किया गया ट्रैक -" + str (नाम)) सत्य है: अगर (GPIO.input (13) == 1): प्रिंट ("स्टॉप बटन दबाया गया: बाहर निकल रहा है") pygame.mixer.music.stop () ब्रेक अगर (GPIO.input (11) == 1): सक्रिय करें () समय। सो (0.5) यदि (सक्रिय == 1): watchDoor () ब्रेक GPIO.cleanup ()

यदि आपने सीधे पूरा कोड हथियाने के लिए यहां नीचे स्क्रॉल किया है, तो ध्यान रखें कि काम करने के लिए आपको अपने पीआई पर संगीत डाउनलोड करना होगा!

अब आपके पास एक कामकाजी स्वागत गृह थीम ट्यून होना चाहिए! अपने ईख स्विच को अपने दरवाजे से संलग्न करें, और इसे आज़माएं। शर्मनाक नृत्य वैकल्पिक है लेकिन अनुशंसित है।

इस परियोजना ने घर की निगरानी, ​​सुरक्षा और स्वचालन के कई रूपों के लिए मूल बातें कवर कीं, और उम्मीद है कि यह मजेदार भी था!

अब जब आप यह दूर आ गए हैं, तो वहां क्यों रुकें? आप और अधिक ट्रैक जोड़ सकते हैं और प्रोग्राम को किसी सूची से यादृच्छिक पर चुन सकते हैं। आप ऐसा कर सकते हैं एक रिले जोड़ें GPIO के साथ एक रास्पबेरी पाई पर शुरू करनायदि आप हालांकि Arduino शांत थे, तो बस एक रास्पबेरी पाई पर अपने हाथों को पाने तक प्रतीक्षा करें - ये चीजें अद्भुत हैं। एक पूरी तरह कार्यात्मक कंप्यूटर होने के साथ-साथ, उनके पास एक ... अधिक पढ़ें और अन्य वस्तुओं को प्रवेश पर ट्रिगर किया जा सकता है। यदि आपके पास एक घर संगीत प्रणाली है, तो हर कमरे के लिए एक थीम गीत क्यों नहीं है?

रिले रोशनी

क्या आप अपना निजी स्वागत गृह संदेश तैयार करेंगे? क्या आप अन्य तरीकों से अपने घर में ईख स्विच के साथ आविष्कारशील हैं? यदि हां, तो एक टिप्पणी छोड़ दें कि आप क्या योजना बना रहे हैं या पहले से ही नीचे टिप्पणी अनुभाग में कर चुके हैं!

इयान बकले बर्लिन, जर्मनी में रहने वाले एक स्वतंत्र पत्रकार, संगीतकार, कलाकार और वीडियो निर्माता हैं। जब वह लेखन या मंच पर नहीं है, तो वह पागल वैज्ञानिक बनने की उम्मीद में DIY इलेक्ट्रॉनिक्स या कोड के साथ छेड़छाड़ कर रहा है।