पायथन के साथ एक Arduino को प्रोग्राम और कंट्रोल कैसे करें

पायथन के साथ एक Arduino को प्रोग्राम और कंट्रोल कैसे करें

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





एप्लीकेशन आइकॉन कैसे बदलें विंडोज़ 10

दो ठंडी चीजों को मिलाने से बेहतर कोई एहसास नहीं है। अफसोस की बात है कि पाइथन के साथ एक Arduino को सीधे प्रोग्राम करना असंभव है, क्योंकि बोर्ड के पास भाषा की ऑनबोर्ड व्याख्या के लिए कोई विकल्प नहीं है। हालाँकि, जो संभव है, वह है पायथन प्रोग्राम का उपयोग करके USB पर सीधा नियंत्रण।





यह लेख आपको दिखाएगा कि पायथन प्रोग्राम का उपयोग करके कमांड लाइन से प्रोग्राम और नियंत्रित करने के लिए एक Arduino UNO (हालांकि कोई भी Arduino संगत बोर्ड यहां काम कर सकता है) को कैसे सेट किया जाए। यह ट्यूटोरियल विंडोज 10 के लिए लिखा गया है, लेकिन मैक और लिनक्स के लिए भी काम करता है। आप अंतिम डबल-डाउन-DIY अनुभव के लिए सीधे रास्पबेरी पाई से Arduino को नियंत्रित करने के लिए इस वर्कफ़्लो का उपयोग कर सकते हैं।





पायथन के लिए अपना Arduino सेट करना

आज के प्रोजेक्ट के लिए हम एक Arduino Uno का उपयोग करेंगे, साथ ही Python के लिए pyFirmata इंटरफ़ेस भी। आप इसके लिए लगभग किसी भी Arduino- संगत बोर्ड का उपयोग कर सकते हैं, हालांकि लेखन के समय केवल Arduino Uno, Mega, Due और Nano ही pyFfirmata इंटरफ़ेस द्वारा समर्थित हैं। यदि आप पहले से ही एक पायथन गुरु हैं, तो आप अपने स्वयं के बोर्ड समर्थन को pyFirmata में जोड़ सकते हैं - यदि आप ऐसा करते हैं तो उनके GitHub को अपडेट करना सुनिश्चित करें!

यदि आपने पहले से नहीं किया है, तो Arduino IDE स्थापित करें। यदि आप माइक्रोकंट्रोलर्स की दुनिया में पूरी तरह से नए हैं, तो हमारा Arduino के लिए शुरुआती गाइड आपको सब कुछ ठीक करने में मदद मिलेगी।



अपना Arduino बोर्ड कनेक्ट करें, और IDE खोलें। सुनिश्चित करें कि आपके पास सही बोर्ड और पोर्ट चुना गया है उपकरण मेन्यू। लोड करें StandardFirmata उदाहरण स्केच और इसे बोर्ड पर अपलोड करें। यह आपको Arduino को सीधे तब तक नियंत्रित करने की अनुमति देगा जब तक कि यह USB के माध्यम से कंप्यूटर से जुड़ा हो। बशर्ते स्केच आपके बोर्ड पर बिना किसी त्रुटि के अपलोड हो, आप आगे बढ़ने के लिए तैयार हैं।

पायथन और कमांड लाइन नियंत्रण

हम अपने Arduino को नियंत्रित करने के लिए Python 3.4 का उपयोग करेंगे, क्योंकि आप जिस मॉड्यूल को स्थापित कर रहे हैं वह इसे नवीनतम संगत संस्करण के रूप में निर्दिष्ट करता है। इससे पहले किसी भी संस्करण को ठीक काम करना चाहिए, और बाद के संस्करणों को काम करने की सूचना दी गई है। आप विंडोज 10 के लिए पायथन 3.4 को यहां से डाउनलोड कर सकते हैं पायथन सॉफ्टवेयर फाउंडेशन स्थल। यदि आप पायथन के कई संस्करण चलाना चाहते हैं, तो पायथन वर्चुअल वातावरण के लिए हमारा गाइड आपकी मदद करने में सक्षम होगा।





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

यदि आप पहले से ही देखते हैं पथ सूची में, संपादित करें पर क्लिक करें और अपना जोड़ें अजगर तथा पायथन / लिपियों निर्देशिका। यदि आपके पास PATH वैरिएबल नहीं है, तो नया क्लिक करें और इसे जोड़ें। ध्यान दें कि पायथन सीधे में स्थापित किया गया था सी: यहां। यदि आपने इसे कहीं और स्थापित किया है तो आपको इसे प्रतिबिंबित करने के लिए इसे संशोधित करना होगा। विंडोज़ की श्रृंखला के नीचे ओके पर क्लिक करें, और आप अपने Arduino को पायथन के साथ नियंत्रित करने के लिए लगभग तैयार हैं!





जादू ग्रीस

पायथन को हमारे Arduino के साथ अच्छी तरह से बात करने के लिए आपको पहेली के एक अंतिम टुकड़े की आवश्यकता होगी। यह एक पायथन इंटरफ़ेस के रूप में आता है जिसे कहा जाता है pyFirmata . Tino de Bruijn द्वारा बनाया गया यह इंटरफ़ेस है डाउनलोड करने के लिए उपलब्ध जीथब से, हालांकि आप इसे सीधे कमांड लाइन से टाइप करके इंस्टॉल कर सकते हैं:

pip install pyfirmata

सब कुछ ठीक है, इसे स्थापित करना चाहिए और इस तरह दिखना चाहिए:

यदि यह विफल हो जाता है, तो पायथन को जोड़ने पर जाएं वातावरण विविधता अनुभाग और सुनिश्चित करें कि आपने अपनी पायथन निर्देशिका को सही रास्ता दिया है।

ऐसा करना

अब सब कुछ सेट हो गया है, और आप अपने Arduino के परीक्षण के लिए एक पायथन प्रोग्राम बना सकते हैं। अपनी पसंद का एक आईडीई खोलें। हम उपयोग करेंगे ग्रहण आज, लेकिन आप उतनी ही आसानी से किसी भी टेक्स्ट एडिटर , या यहां तक ​​कि क्लाउड में एक IDE का उपयोग कर सकते हैं।

एक नई स्क्रिप्ट बनाएं, और इसे इस रूप में सहेजें ब्लिंक.py . मानक ब्लिंकिंग एलईडी प्रोग्राम के साथ परंपरा को तोड़ते हुए, आप एक ऐसा प्रोग्राम बनाने जा रहे हैं जो उपयोगकर्ता को एलईडी को चलाने से पहले कितनी बार फ्लैश करना चाहता है, इसके लिए संकेत देता है। यह एक छोटा कार्यक्रम है, जिसे आप कर सकते हैं यहाँ डाउनलोड करें यदि आप सीधे उस तक पहुंचना चाहते हैं, लेकिन आइए इसे तोड़ दें।

सबसे पहले, आप जो चाहते हैं उसे आयात करना चाहेंगे pyFirmata मॉड्यूल, मानक पायथन के साथ समय मापांक।

टाइम मशीन पर पुराने बैकअप कैसे डिलीट करें
from pyfirmata import Arduino, util
import time

अब आप Arduino बोर्ड स्थापित करना चाहेंगे। यह लेख मानता है कि आप एक का उपयोग कर रहे हैं Arduino uno बोर्ड, हालांकि कई अन्य Arduino बोर्ड समर्थित हैं। बोर्ड समर्थन पर विवरण के लिए pyFirmata github देखें।

जांचें कि आप Arduino IDE में किस COM पोर्ट का उपयोग कर रहे हैं, और इसे अपने कोड में वेरिएबल के रूप में दर्ज करें मंडल .

board = Arduino('COM3')

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

loopTimes = input('How many times would you like the LED to blink: ')
print('Blinking ' + loopTimes + ' times.')

एलईडी को उचित संख्या में ब्लिंक करने के लिए, आप a . का उपयोग करते हैं पाश के लिए . अगर आप पायथन के लिए नया , इंडेंटेशन का ध्यान रखें, क्योंकि अन्य भाषाओं के विपरीत रिक्त स्थान सिंटैक्स का हिस्सा होते हैं। ध्यान दें कि पिन 13 Arduino Uno के लिए ऑनबोर्ड एलईडी है, यदि आपका बोर्ड अलग है तो आपको इसे संशोधित करना होगा।

for x in range(int(loopTimes)):
board.digital[13].write(1)
time.sleep(0.2)
board.digital[13].write(0)
time.sleep(0.2)

आप कास्ट करेंगे लूपटाइम्स यहां एक पूर्णांक के लिए चर, क्योंकि उपयोगकर्ता से इनपुट स्वचालित रूप से एक स्ट्रिंग के रूप में संग्रहीत किया जाएगा। इस सरल डेमो में, हम मान रहे हैं कि उपयोगकर्ता एक संख्यात्मक मान इनपुट करेगा। कोई अन्य प्रविष्टि जैसे 'आठ' एक त्रुटि उत्पन्न करेगी।

अपनी स्क्रिप्ट सहेजें, और खोलें सही कमाण्ड .

चमकती रोशनी और अन्य खुलासे

सब कुछ जाने के लिए तैयार है, आपको बस इतना करना है कि स्क्रिप्ट कहां है और इसे चलाएं। इसे टाइप करके करें सीडी [स्क्रिप्ट की निर्देशिका के लिए पथ] और फिर टाइपिंग पायथन ब्लिंक.py .

सब ठीक है, आपका प्रोग्राम थोड़ी देरी से शुरू होगा क्योंकि Arduino प्रारंभ होता है, आपको एक नंबर के लिए संकेत देता है, और फिर ऑनबोर्ड एलईडी का उपयोग करके कई बार फ्लैश करता है।

प्रोग्राम आउटपुट इस तरह दिखना चाहिए:

जैसे ही आप अपनी चुनी हुई पलकों की संख्या के बाद एंटर दबाते हैं, Arduino को आपके आदेशों को पूरा करना चाहिए।

छोटी शुरुआत

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

यदि आप a . का उपयोग करते हैं लिनक्स सर्वर घर पर, Arduino बोर्डों के साथ संचार करने का यह तरीका उस सर्वर को पूरी तरह से विकसित DIY होम ऑटोमेशन सिस्टम में विस्तारित कर सकता है। एक DIY ऑटोमेशन सर्किट के साथ माइक्रोकंट्रोलर को नियंत्रित करने वाली पायथन लिपियों को मिलाकर, आपका NAS स्टोरेज बॉक्स उपयोगी कार्यों का एक नया सेट ले सकता है।

जिम्प फोटो एडिटर का उपयोग कैसे करें

इसे परम DIY अनुभव बनाने के लिए, क्यों नहीं अपना खुद का NAS बॉक्स बनाएं और इसका उपयोग अपने उपकरणों को नियंत्रित करने के लिए भी करते हैं? कल्पना कीजिए कि आपके प्लेक्स सर्वर पर प्ले को दबाने के लिए कितना अच्छा होगा और रोशनी अपने आप बंद हो जाएगी!

क्या आप पहले से ही Python का उपयोग करके Arduino को नियंत्रित कर रहे हैं? क्या ऐसे अद्भुत कामकाज हैं जिनके बारे में हम अभी तक नहीं जानते हैं? चलो हम नीचे टिप्पणी अनुभाग में पता करते हैं!

साझा करना साझा करना कलरव ईमेल अपने वर्चुअलबॉक्स लिनक्स मशीनों को सुपरचार्ज करने के लिए 5 टिप्स

वर्चुअल मशीनों द्वारा पेश किए गए खराब प्रदर्शन से थक गए हैं? अपने वर्चुअलबॉक्स प्रदर्शन को बढ़ावा देने के लिए आपको यहां क्या करना चाहिए।

आगे पढ़िए
संबंधित विषय
  • DIY
  • प्रोग्रामिंग
  • अरुडिनो
  • घर स्वचालन
  • अजगर
लेखक के बारे में इयान बकले(२१६ लेख प्रकाशित)

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

इयान बकले की और फ़िल्में या टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें