रास्पबेरी पीआई के जीपीआईओ के साथ एक एलईडी लाइट करें

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

जीपीआईओ यह है कि कैसे रास्पबेरी पीई बाहरी दुनिया से बात करता है - "वास्तविक चीजें" - कोड का उपयोग सिग्नल और वोल्टेज को 40-पिन हेडर से और उसके लिए प्रोग्राम करने के लिए करते हैं।

जीपीआईओ के साथ कोडिंग शुरू करने के लिए काफी सरल है, खासकर शुरुआती परियोजनाओं जैसे कि एल ई डी और बज़र्स के लिए। केवल कुछ घटकों और कोड की कुछ पंक्तियों के साथ आप अपनी परियोजना के हिस्से के रूप में एलईडी को प्रकाश या फ्लैश कर सकते हैं।

यह आलेख आपको दिखाएगा कि आपको पारंपरिक रास्पबेरी पीआई पर पाइथन कोड का उपयोग करके एलईडी को प्रकाश देने की आवश्यकता है, पारंपरिक 'RPi.GPIO' विधि का उपयोग करके।

04 में से 01

जिसकी आपको जरूरत है

इस परियोजना के लिए बस कुछ सरल और सस्ते भागों की आवश्यकता है। रिचर्ड Saville

इस छोटी स्टार्टर परियोजना के लिए आपको जो कुछ भी चाहिए, उसकी एक सूची यहां दी गई है। आपको इन वस्तुओं को अपने पसंदीदा निर्माता स्टोर या ऑनलाइन नीलामी साइटों में ढूंढने में सक्षम होना चाहिए।

04 में से 02

सर्किट बनाएं - चरण 1

प्रत्येक पिन को जम्पर तारों के साथ ब्रेडबोर्ड से कनेक्ट करें। रिचर्ड Saville

हम इस परियोजना के लिए 2 जीपीआईओ पिन, एलईडी के ग्राउंड लेग के लिए एक ग्राउंड पिन (भौतिक पिन 39) और एलईडी जेनरेट करने के लिए एक सामान्य जीपीआईओ पिन (जीपीआईओ 21, भौतिक पिन 40) का उपयोग करने जा रहे हैं - लेकिन केवल तभी हम निर्णय लेते हैं - जहां कोड आता है।

सबसे पहले, अपने रास्पबेरी पीआई बंद करें। अब, जम्पर तारों का उपयोग करके, ग्राउंड पिन को अपने ब्रेडबोर्ड पर एक लेन से कनेक्ट करें। इसके बाद जीपीआईओ पिन के लिए एक अलग लेन से कनेक्ट करें।

03 का 04

सर्किट बनाएं - चरण 2

एलईडी और प्रतिरोधी सर्किट को पूरा करते हैं। रिचर्ड Saville

इसके बाद हम सर्किट में एलईडी और प्रतिरोधी जोड़ते हैं।

एल ई डी में ध्रुवीयता है - जिसका अर्थ है कि उन्हें एक निश्चित तरीके से तारित किया जाना है। उनके पास आमतौर पर एक लंबा पैर होता है जो एनोड (पॉजिटिव) पैर होता है, और आमतौर पर एलईडी प्लास्टिक के सिर पर एक फ्लैट धार होता है जो कैथोड (नकारात्मक) पैर को दर्शाता है।

एक प्रतिरोधी का उपयोग एलईडी को बहुत अधिक वर्तमान प्राप्त करने से बचाने के लिए किया जाता है, और जीपीआईओ पिन 'देने' से बहुत अधिक होता है - जो दोनों को नुकसान पहुंचा सकता है।

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

अपने ब्रेडबोर्ड पर जीएनडी लेन पर अवरोधक के एक पैर को कनेक्ट करें, और अन्य एलईडी प्रतिरोधी पैर को अपने एलईडी के छोटे पैर से जुड़े लेन से कनेक्ट करें।

एलईडी के लंबे पैर को अब जीपीआईओ पिन से जुड़े लेन में शामिल होने की जरूरत है।

04 का 04

पायथन जीपीआईओ कोड (आरपीआई.जीपीआईओ)

RPI.GPIO GPIO पिन का उपयोग करने के लिए एक उत्कृष्ट लाइब्रेरी है। रिचर्ड Saville

फिलहाल हमारे पास सर्किट वायर्ड है और जाने के लिए तैयार है, लेकिन हमने अभी तक कोई भी बिजली भेजने के लिए हमारे जीपीआईओ पिन को नहीं बताया है, इसलिए आपके एलईडी को जलाया नहीं जाना चाहिए।

आइए 5 जी सेकेंड के लिए कुछ पावर भेजने के लिए हमारे जीपीआईओ पिन को बताने के लिए पाइथन फाइल बनाएं और फिर रुकें। रास्पियन के नवीनतम संस्करण में पहले से स्थापित नेकैसरी जीपीआईओ पुस्तकालय स्थापित होंगे।

टर्मिनल विंडो खोलें और निम्न आदेश दर्ज करके एक नई पायथन स्क्रिप्ट बनाएं:

सुडो नैनो led1.py

यह हमारे कोड दर्ज करने के लिए हमारे लिए एक खाली फ़ाइल खुल जाएगा। नीचे दी गई रेखाएं दर्ज करें:

#! / usr / bin / python # पुस्तकालयों को आयात करें जिन्हें हमें GPIO आयात समय के रूप में RPi.GPIO आयात करने की आवश्यकता है # GPIO मोड GPIO.setmode (GPIO.BCM) सेट करें # एलईडी जीपीआईओ नंबर सेट करें = 21 # एलईडी जीपीआईओ पिन को एक के रूप में सेट करें आउटपुट GPIO.setup (एलईडी, GPIO.OUT) # GPIO.output (एलईडी, ट्रू) पर GPIO पिन को चालू करें # प्रतीक्षा करें 5 सेकंड time.sleep (5) # जीपीआईओ पिन को GPIO.output (एलईडी, झूठी) बंद करें

फ़ाइल को सहेजने के लिए Ctrl + X दबाएं। फ़ाइल चलाने के लिए, टर्मिनल में निम्न आदेश दर्ज करें और एंटर दबाएं:

सुडो पायथन led1.py

एलईडी को 5 सेकंड के लिए प्रकाश देना चाहिए, फिर प्रोग्राम को समाप्त करना बंद कर देना चाहिए।

अलग-अलग समय के लिए एलईडी को प्रकाश देने के लिए 'time.sleep' संख्या को बदलने का प्रयास क्यों न करें, या 'GPIO.output (LED, True)' को 'GPIO.output (LED, False)' में बदलने का प्रयास करें और देखें कि क्या होता है?