- सामग्री की आवश्यकता:
- अपने कंप्यूटर पर पायथन स्थापित करना:
- पायथन में PySerial प्राप्त करना:
- हमारे पहले Arduino पायथन कार्यक्रम:
- अजगर और Arduino के साथ एलईडी नियंत्रण:
Arduino हमेशा एक शक्तिशाली और सीखने में आसान / विकासशील प्लेटफ़ॉर्म का उपयोग करने के लिए किया गया है जब यह ओपन सोर्स हार्डवेयर डेवलपमेंट की बात आती है। आज की आधुनिक दुनिया में, प्रत्येक हार्डवेयर उच्च स्तरीय सामान्य प्रयोजन प्रोग्रामिंग भाषा द्वारा संचालित होता है ताकि इसे अधिक प्रभावी और उपयोगकर्ता के अनुकूल बनाया जा सके। ऐसी ही एक भाषा है पायथन । पायथन एक व्याख्यात्मक, ऑब्जेक्ट-ओरिएंटेड, उच्च-स्तरीय प्रोग्रामिंग भाषा है, जिसमें डायनामिक शब्दार्थों के साथ उच्च-स्तरीय डेटा संरचनाओं में बनाया गया है, जो डायनेमिक टाइपिंग और डायनामिक बाइंडिंग के साथ मिलकर रैपिड एप्लिकेशन डेवलपमेंट के लिए बहुत आकर्षक बनाता है।
Arduino और Python की शक्ति को मिलाने से बहुत सारी संभावनाओं के द्वार खुल जाएंगे क्योंकि python में ओपनकेवी, Matlab आदि जैसे अन्य प्लेटफार्मों के साथ बातचीत करने की क्षमता के साथ एक बढ़ी हुई उत्पादकता है। इसलिए इस ट्यूटोरियल में हम सीखेंगे कि हम अपने कंप्यूटर पर अजगर कैसे स्थापित कर सकते हैं। और Arduino के ऑन-बोर्ड एलईडी को टॉगल करने के लिए Arduino के साथ इसका उपयोग कैसे करें।
तो चलो शुरू करते है….
सामग्री की आवश्यकता:
- Arduino Uno (या कोई Arduino बोर्ड)
- इंटरनेट कनेक्शन के साथ कंप्यूटर
अपने कंप्यूटर पर पायथन स्थापित करना:
जाहिर है इस ट्यूटोरियल में पहला कदम हमारे कंप्यूटर पर पायथन को स्थापित करना होगा। नीचे दिए गए चरण केवल उन विंडोज़ उपयोगकर्ताओं के लिए लागू हैं जो 32-बिट या 64-बिट ओएस चला रहे हैं। मैक और लिनक्स के लिए स्थापना प्रक्रिया अलग है।
- 32-बिट पायथन-2.7.9 पर क्लिक करें और यह आपके कंप्यूटर पर 32-बिट पायथन आईडीएल स्थापित करेगा। 64-बिट संस्करण या अपडेट किए गए संस्करणों को डाउनलोड न करें क्योंकि वे हमारे Arduino लाइब्रेरी के लिए समर्थन प्रदान नहीं करते हैं। यहां तक कि अगर आपका कंप्यूटर 64-बिट पर काम कर रहा है, तो आप 32-बिट पायथन का उपयोग कर सकते हैं।
- डाउनलोड किए गए exe फ़ाइल को खोलें और निर्देश के माध्यम से अनुसरण करें। उस निर्देशिका को न बदलें जिसमें अजगर स्थापित हो रहा है। यह डिफ़ॉल्ट रूप से C: \ Python27 होगा और इसे इस तरह छोड़ दें।
- जबकि इंस्टॉलेशन होता है, तो आपको अपने एंटी-वायरस (यदि कोई हो) से चेतावनी मिल सकती है, तो उस पर क्लिक करें।
यह वह है !, अजगर हमारे कंप्यूटर पर सफलतापूर्वक स्थापित है। आप इसे विंडोज सर्च बॉक्स में "पायथन आईडीएलई" की खोज करके और इसे खोलकर सत्यापित कर सकते हैं ।
खोले जाने पर आपको निम्न स्क्रीन मिलनी चाहिए। इस विंडो को पायथन शेल कहा जाता है और हम इसे अभी से " पायथन शेल " के रूप में संदर्भित करेंगे ।
इस स्क्रीन को पायथन शेल कहा जाता है। आप सीधे यहां कोड कर सकते हैं और एक ही स्क्रीन पर आउटपुट प्राप्त कर सकते हैं या एक नई फ़ाइल बना सकते हैं और वहां प्रोग्राम लिख सकते हैं और यहां प्रोग्राम को सत्यापित कर सकते हैं। हम बाद में एक अजगर कार्यक्रम बनाने के विवरण में मिलेंगे, अब आइए जाँच करें कि क्या अजगर काम कर रहा है।
ऐसा करने के लिए, बस " प्रिंट (1 + 1) " टाइप करें और एंटर दबाएं। आपको नीचे दिखाए अनुसार परिणाम प्रिंट होते हुए देखना चाहिए।
पायथन में PySerial प्राप्त करना:
अगला कदम पाइसेरियल स्थापित करना है। PySerial एक Python API मॉड्यूल है, जो Arduino या किसी अन्य माइक्रोकंट्रोलर को सीरियल डेटा पढ़ने और लिखने के लिए उपयोग किया जाता है।
PySerial डाउनलोड करने के लिए Pyserial Windows पर क्लिक करें। परिणामस्वरूप डाउनलोड एक exe फ़ाइल होगी जिसे सीधे इंस्टॉल किया जा सकता है। इंस्टॉल करते समय किसी भी सेटिंग को न बदलें। इसे डिफ़ॉल्ट निर्देशिका और डिफ़ॉल्ट सेटिंग्स पर छोड़ दें।
अब, जाँच करें कि क्या PySerial ठीक से स्थापित है या नहीं। ऐसा करने के लिए, पायथन शेल को फिर से खोलें और टाइप करें
आयात धारावाहिक । यदि लाइब्रेरी सफलतापूर्वक स्थापित की गई थी, तो आपको कोई त्रुटि संदेश नहीं मिलना चाहिए जैसा कि नीचे दी गई तस्वीर में दिखाया गया है। यदि आपको कोई त्रुटि मिलती है तो उन्हें टिप्पणी अनुभाग पर पोस्ट करें और हम इसे हल करने का प्रयास करेंगे।
यह ट्यूटोरियल मानता है कि आप Arduino से परिचित हैं और Arduino पर प्रोजेक्ट अपलोड करने का अनुभव रखते हैं। तो चलिए सीधे अपने पायथन प्रोग्राम में कूदते हैं। यदि आप Arduino के साथ शुरुआत कर रहे हैं तो हमारे Arduino प्रोजेक्ट्स की जाँच करें और Arduino के साथ LED ब्लिंकिंग से शुरू करें।
हमारे पहले Arduino पायथन कार्यक्रम:
जैसा कि पहले कहा गया है कि हम पायथन लिपि का उपयोग करते हुए इन-बिल्ट अरडिनो बोर्ड एलईडी को नियंत्रित करेंगे । आइए हम Arduino कोड से शुरू करते हैं।
Arduino के लिए कार्यक्रम:
इस पृष्ठ के अंत में Arduino python ट्यूटोरियल का पूरा कार्यक्रम दिया गया है। यह कैसे काम करता है, यह जानने के लिए आगे पढ़ें।
सेटअप फ़ंक्शन के अंदर हम 9600 बॉड दर पर सीरियल संचार को इनिशियलाइज़ करते हैं और यह घोषणा करते हैं कि हम निर्मित एलईडी का उपयोग आउटपुट के रूप में करेंगे और प्रोग्राम शुरू होने के दौरान इसे कम कर देंगे। हमने नीचे दिखाए गए अनुसार सीरियल प्रिंट के माध्यम से अजगर को एक स्वागत संदेश भी भेजा है:
शून्य सेटअप () {Serial.begin (9600); // 9600 बॉड्रेट पिनोड (LED_BUILTIN, OUTPUT) पर धारावाहिक COM आरंभ करें; // एलईडी पिन (13) को आउटपुट डिजिटलवेट (LED_BUILTIN, LOW) के रूप में बनाएं; Serial.println ("हाय!, मैं Arduino हूँ"); }
लूप फ़ंक्शन के अंदर, हम जो भी डेटा क्रमिक रूप से आ रहे हैं उसे पढ़ते हैं और वैरिएबल "डेटा" को मान प्रदान करते हैं । अब इस चर ("डेटा") के मूल्य के आधार पर हम नीचे दिखाए गए अनुसार निर्मित टॉगल करते हैं।
शून्य लूप () {जबकि (Serial.available ()) {data = Serial.read (); } अगर (डेटा == '1') डिजिटलवर्ट (LED_BUILTIN, हाई); अगर (data == '0') digitalWrite (LED_BUILTIN, LOW); }
पायथन के लिए कार्यक्रम:
इस ट्यूटोरियल का पूरा पायथन प्रोग्राम इस पेज के अंत में दिया गया है। आगे पढ़ें कैसे लिखें और उसी का उपयोग करें।
- अपना पायथन शेल (Python IDLE) खोलें और फ़ाइल-> नया पर क्लिक करें
- यह एक नई टेक्स्ट फ़ाइल खोलेगा जहाँ आप अपने प्रोग्राम में टाइप कर सकते हैं।
- इससे पहले कि हम कुछ भी टाइप करें, फ़ाइल को Ctrl + S द्वारा सहेजने दें। किसी भी नाम में टाइप करें और सेव पर क्लिक करें। यह आपको ".py" एक्सटेंशन में फ़ाइल को स्वचालित रूप से बचाएगा।
- अब, प्रोग्राम में टाइप करें या इस पेज के अंत में दिए गए पायथन कोड को पेस्ट करें। उसी के लिए स्पष्टीकरण नीचे दिया गया है और अंत में कार्यक्रम चलाते हैं।
हमारे कार्यक्रम में पहला कदम धारावाहिक और समय पुस्तकालय का आयात करना होगा । धारावाहिक पुस्तकालय जैसा कि पहले कहा गया था कि धारावाहिक डेटा पढ़ने और लिखने के लिए उपयोग किया जाएगा और समय पुस्तकालय का उपयोग हमारे कार्यक्रम में देरी पैदा करने के लिए किया जाएगा। इन दो पुस्तकालयों को निम्नलिखित दो लाइनों का उपयोग करके हमारे कार्यक्रम में आयात किया जा सकता है:
आयात सीरियल # सीरियल संचार के लिए आयात किए गए सीरियल आयात समय # देरी कार्यों का उपयोग करने के लिए तैयार है
अगला कदम हमारे सीरियल लाइब्रेरी का उपयोग करके एक सीरियल ऑब्जेक्ट को इनिशियलाइज़ करना होगा । इस कार्यक्रम में हमने अपने सीरियल ऑब्जेक्ट को "ArduinoSerial" नाम दिया है । इस पंक्ति में हमें COM पोर्ट के नाम का उल्लेख करना है जिससे हमारा Arduino जुड़ा हुआ है और किस बॉड दर पर यह नीचे दिखाया गया है।
ArduinoSerial = serial.Serial ('com18', 9600)
नोट: सही COM पोर्ट नाम का उल्लेख करना बहुत महत्वपूर्ण है। यह आपके कंप्यूटर पर डिवाइस प्रबंधक का उपयोग करके पाया जा सकता है।
जैसे ही सीरियल ऑब्जेक्ट को इनिशियलाइज़ किया जाता है, हमें सीरियल कम्युनिकेशन को स्थापित करने के लिए दो सेकंड के लिए प्रोग्राम रखना चाहिए । यह नीचे पंक्ति का उपयोग करके किया जा सकता है:
time.sleep (2)
अब हम अपने Arduino Board से / से कुछ भी पढ़ या लिख सकते हैं।
निम्न पंक्ति Arduino से आने वाली किसी भी चीज़ को पढ़ेगी और इसे शेल विंडो पर प्रिंट करेगी
प्रिंट ArduinoSerial.readline ()
आप किसी वैरिएबल को मान भी असाइन कर सकते हैं और गणना के लिए इसका उपयोग कर सकते हैं।
निम्न पंक्ति पैरामीटर के मान को Arduino Board में लिखेगी ।
ArduinoSerial.write ('1')
यह पंक्ति अरुडिनो को '1' लिख देगी। आप एक ही लाइन का उपयोग करके दशमलव से तार तक कुछ भी भेज सकते हैं।
अब, अपने प्रोग्राम पर वापस जा रहे हैं, लूप करते हुए अनंत के अंदर, हमारी निम्नलिखित पंक्तियाँ हैं
var = raw_input () # प्रिंट इनपुट को यूजर प्रिंट से "आपने दर्ज किया", var #print इनपुट के लिए पुष्टिकरण if (var == '1'): #if मान 1 ArduinoSerial.write ('1') asend 1 है प्रिंट ("LED चालू") time.sleep (1) if (var == '0'): #if मान 0 ArduinoSerial.write ('0') #send 0 प्रिंट ("LED बंद हो गया)" समय है । स्लीप (1)
पंक्ति var = raw_input को शेल स्क्रिप्ट में टाइप किया गया कोई भी मान मिलेगा और उस मान को चर var में असाइन करना होगा ।
बाद में, यदि मान 1 है, तो यह Arduino को '1' क्रमिक रूप से प्रिंट करेगा और यदि 0 यह Arduino को '0' क्रमिक रूप से प्रिंट करेगा। हमारे Arduino प्रोग्राम में कोड (ऊपर चर्चा की गई) हम प्राप्त मूल्य के आधार पर एलईडी को टॉगल करेंगे।
एक बार पूरा कार्यक्रम हो जाने के बाद आपकी स्क्रिप्ट को नीचे कुछ इस तरह दिखना चाहिए
अब Run -> Run Module पर क्लिक करें या F5 दबाएं यह आपको प्रोग्राम को बचाने के लिए कह सकता है और फिर इसे लॉन्च करेगा।
अजगर और Arduino के साथ एलईडी नियंत्रण:
इस परियोजना का कार्य बहुत सीधा है। कार्यक्रम को अपने Arduino पर अपलोड करें और सत्यापित करें कि यह उसी COM पोर्ट से जुड़ा है जैसा कि पायथन प्रोग्राम में बताया गया है। फिर ऊपर वर्णित के रूप में पायथन प्रोग्राम लॉन्च करें।
यह नीचे दिखाए गए अनुसार एक पायथन शेल स्क्रिप्ट लॉन्च करेगा। बाईं ओर की विंडो आउटपुट को दिखाने वाली शेल विंडो है और दाईं ओर की विंडो प्रोग्राम दिखाने वाली स्क्रिप्ट है।
जैसा कि आप देख सकते हैं कि स्ट्रिंग "हाय !, मैं अरुडिनो हूँ" को Arduino प्रोग्राम में दर्ज किया गया है जिसे पायथन द्वारा प्राप्त किया गया है और इसकी शेल विंडो पर प्रदर्शित किया गया है।
जब शेल विंडो मान दर्ज करने के लिए कहती है, तो हम 0 या 1 में प्रवेश कर सकते हैं। अगर हम Arduino बोर्ड पर 1 LED भेजते हैं, तो हम ON करेंगे और यदि हम 0 Arduino Board पर एलईडी भेजेंगे तो वह बंद हो जाएगा। हमारे Arduino प्रोग्राम और पायथन के बीच सफलतापूर्वक कनेक्शन दिखा रहा है।
कर रहे हैं दो नीचे दिए गए कार्यक्रम, एक अपलोड करने के लिए किया जा और Arduino से चलाने के लिए और दूसरा Windows में अजगर शैल से चलाया जा रहा है।
आशा है कि आप इस परियोजना को समझ गए हैं और इसे प्राप्त करने में सक्षम हैं। यदि नहीं, तो नीचे टिप्पणी में अपनी समस्या पोस्ट करें और मुझे आपकी मदद करने में खुशी होगी। हमारी अगली परियोजना में हम सीखेंगे कि पायथन और अरुडिनो के साथ और क्या किया जा सकता है, जैसे कि विथथॉन, गेमपीथॉन इत्यादि जैसे अन्य अजगर मॉड्यूल में गहराई से खोज करके तब तक बने रहें…।