- Arduino IDE सेट करना
- Arduino IDE प्रोग्रामिंग के लिए STM8S103F3 बोर्ड की स्थापना
- Arduino का उपयोग करके STM8S103F3 पर एलईडी ब्लिंकिंग
- STM8S103F3 के लिए Arduino पिन मैपिंग
- Arduino IDE पर SPL लाइब्रेरीज़ का संकलन
Arduino निस्संदेह एक उपयोगकर्ता के अनुकूल और त्वरित प्रोटोटाइप टूल में विकसित हुआ है, इसके सहायक उपयोगकर्ता समुदाय के लिए धन्यवाद। आज, अपने ओपन-सोर्स प्रकृति के कारण, प्लेटफ़ॉर्म केवल Arduino बोर्डों तक ही सीमित नहीं है, बल्कि अन्य विकास बोर्डों जैसे NodeMCU, ESP8266, STM32, MSP430 आदि को भी Arduino IDE से प्रोग्राम किया जा सकता है। यदि आप यह जानना चाहते हैं कि कैसे, आप नीचे दिए गए लिंक का अनुसरण कर सकते हैं।
- Arduino IDE के साथ NodeMCU प्रोग्रामिंग
- Arduino IDE के साथ ESP8266 प्रोग्रामिंग
- Arduino IDE के साथ प्रोग्रामिंग STM32
- एनर्जिया के साथ MSP430 प्रोग्रामिंग (Arduino के समान)
एक शक के बिना, Arduino IDE शुरुआती लोगों के लिए बहुत अच्छा है, लेकिन फिर भी, पेशेवर विकास के लिए, देशी विकास वातावरण और संकलक के साथ काम करना अच्छा है। PIC माइक्रोकंट्रोलर्स के लिए MPLABX और TI माइक्रोकंट्रोलर्स के लिए कोड कंपोज़र स्टूडियो की तरह। देशी मंच का उपयोग करने से हमें रजिस्टर स्तर (यहां तक कि विधानसभा स्तर पर काम करने की आवश्यकता होती है) पर काम करने की अनुमति मिलती है, जिससे कार्यक्रम अधिक स्मृति प्रभावी हो सके। यही कारण है कि जब हमने STM8S माइक्रोकंट्रोलर ट्यूटोरियल शुरू कियाश्रृंखला, मंच की पसंद STVD और कॉस्मिक सी संकलक थे, दोनों डाउनलोड और उपयोग करने के लिए स्वतंत्र हैं। हालांकि, अफसोस की बात है कि STVD एक बहुत पुरानी आईडीई है और ऐसा लगता है कि 90 के साथ काम करते समय। उसके शीर्ष पर, STVP प्रोग्रामर टूल भी IDE के साथ अच्छी तरह से एकीकृत नहीं है और आपको इसे अलग से उपयोग करना होगा। यह संकलन और अपलोडिंग समय बढ़ाता है और विकास और डीबगिंग को एक दर्द बनाता है।
मैं विकल्पों की तलाश में चला गया और वह यह है कि जब Arduino IDE बचाव के लिए आया था। माइकल मेयर द्वारा सद्दीनो नामक एक उपकरण हमें आसानी से Arduino IDE से STM8s माइक्रोकंट्रोलर (अधिकांश लोकप्रिय) को प्रोग्राम करने की अनुमति देता है और इसे स्थापित करने और आरंभ करने में केवल मिनट लगते हैं। और अधिक दिलचस्प बात यह है कि Arduino शैली प्रोग्रामिंग का समर्थन करने के अलावा, Sduino हमें मानक पेरिफेरल लाइब्रेरी (SPL) का उपयोग करने की भी अनुमति देता है, दूसरे शब्दों में, हम लगभग उसी कार्यक्रम को Arduino EE में संकलित कर सकते हैं। हालांकि स्यूडिनो एक अच्छा उपकरण है, यह अभी भी विकास में है और अभी तक अरुडिनो के कई पुस्तकालयों और कार्यों का समर्थन नहीं करता है। कहा जा रहा है, आइए STM8S103F डेवलपमेंट बोर्ड के साथ Arduino IDE का उपयोग करना सीखें।यदि आप इस बोर्ड के लिए पूरी तरह से नए हैं, तो STM8S103F ट्यूटोरियल के साथ आरंभ करने की जांच करें। STM8S103F के अलावा, Sduino STM8S003, STM8S105C, STM8S105K, STM8S, STM8S58MB, ESP14 आदि जैसे अन्य STM8S माइक्रोकंट्रोलर्स का भी समर्थन करता है। इस ट्यूटोरियल में बताई गई प्रक्रिया सभी के लिए समान है।
Arduino IDE सेट करना
चरण 1: यदि आप Arduino पर्यावरण के लिए पूरी तरह से नए हैं, तो अपने ऑपरेटिंग सिस्टम के आधार पर Arduino डाउनलोड करें और इसे इंस्टॉल करें।
चरण 2: फ़ाइल का पालन करें -> वरीयताएँ विंडो खोलने के लिए प्राथमिकताएँ और नीचे दिए गए लिंक को अतिरिक्त बोर्ड में डालकर URL टेक्स्ट बॉक्स प्रबंधित करें और OK पर क्लिक करें।
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
चरण 3: उपकरण का पालन करें -> बोर्ड मैनेजर -> बोर्ड मैनेजर बोर्ड मैनेजर डायलॉग बॉक्स खोलने के लिए और "sduino" के लिए खोजें। इंस्टॉलेशन पूरा होने के बाद इंस्टॉल और डायलॉग बॉक्स को बंद करें पर क्लिक करें।
चरण 4: IDE को पुनरारंभ करें और फिर टूल -> बोर्ड -> STM8S103F3 का पालन करें । यदि आपके पास एक अलग विकास बोर्ड है, तो आप अन्य बोर्डों का चयन कर सकते हैं।
अब Arduino IDE STM8S103F3 डेवलपमेंट बोर्ड की प्रोग्रामिंग के लिए तैयार है। आइए हम बोर्ड सेट करें, इसे कंप्यूटर से कनेक्ट करें, और साधारण एलईडी ब्लिंक के लिए प्रोग्राम करें।
Arduino IDE प्रोग्रामिंग के लिए STM8S103F3 बोर्ड की स्थापना
नीचे दिखाए गए अनुसार एसटी-लिंक V2 को विकास बोर्ड से कनेक्ट करें।
कनेक्शन बहुत सीधे हैं और सबसे अच्छी बात यह है कि आपको बाहरी घटकों की आवश्यकता नहीं है। प्रोग्रामिंग के लिए मेरा हार्डवेयर सेटअप नीचे दिखाया गया है, मैंने अपना कनेक्शन बनाने के लिए सिर्फ महिला हेडर तारों का उपयोग किया है। हालांकि, ध्यान दें कि आपके एसटी-लिंक का पिनआउट खदान से अलग हो सकता है, कनेक्शन बनाने से पहले डिवाइस पर पिनआउट का पालन करना सुनिश्चित करें।
कनेक्शन बनाएं और डिवाइस को अपने कंप्यूटर से कनेक्ट करें, ड्राइवर की स्थापना स्वचालित रूप से शुरू होनी चाहिए। आप यह सुनिश्चित करने के लिए डिवाइस मैनेजर का उपयोग कर सकते हैं कि क्या आपके कंप्यूटर ने ST-LINK V2 की सही खोज की है। यदि आप बोर्ड को पहली बार पॉवर दे रहे हैं, तो आपको बोर्ड पर पलक झपकते हुए टेस्ट एलईडी दिखाई देगा।
Arduino का उपयोग करके STM8S103F3 पर एलईडी ब्लिंकिंग
अब एक साधारण एलईडी ब्लिंकिंग के लिए, हम उदाहरण खंड से ब्लिंक प्रोग्राम का उपयोग कर सकते हैं। फ़ाइल का पालन करें -> उदाहरण -> Generic_Example -> मूल बातें -> पलक ।
एलईडी जहाज पर पलक झपकने का पूरा कार्यक्रम नीचे दिखाया गया है-
शून्य सेटअप () {// आउटपुट के रूप में डिजिटल पिन LED_BUILTIN को इनिशियलाइज़ करें। पिनमोड (LED_BUILTIN, OUTPUT); } // लूप फंक्शन हमेशा के लिए लूप को ओवर-ओवर रन करता है () {digitalWrite (LED_BUILTIN, HIGH); // एलईडी चालू करें (उच्च वोल्टेज स्तर है) देरी (1000); // एक दूसरे digitalWrite (LED_BUILTIN, LOW) की प्रतीक्षा करें; // वोल्टेज को कम करके एलईडी को बंद करें देरी (1000); // एक दूसरे के लिए प्रतीक्षा करें}
जैसा कि आप देख सकते हैं यह Arduino पलक कार्यक्रम के समान है। कार्यक्रम अपलोड करने के लिए, सुनिश्चित करें कि आपका बोर्ड ऊपर चर्चा किए गए अनुसार st-link v2 के माध्यम से जुड़ा हुआ है और नीचे दिखाए गए अनुसार प्रोग्रामर को "ST-Link / V2" चुनें।
नोट: Arduino बोर्डों के विपरीत, आपको बोर्ड की प्रोग्रामिंग के लिए सही COM पोर्ट का चयन करने की आवश्यकता नहीं है। आप COM पोर्ट का उपयोग केवल धारावाहिक संचार के लिए करेंगे।
एक बार COM पोर्ट चुने जाने के बाद, कोड अपलोड करना भी बहुत सरल है। बस अपलोड बटन दबाएं (नीचे लाल रंग में घिरा हुआ) और कोड संकलित हो जाएगा और स्वचालित रूप से हमारे बोर्ड पर अपलोड हो जाएगा।
वह यह है, कार्यक्रम सीधे बोर्ड पर अपलोड किया जाता है और आपको ऑन-बोर्ड एलईडी ब्लिंकिंग देखना चाहिए। कोई बाहरी अपलोडिंग सॉफ़्टवेयर नहीं, कुछ भी नहीं। जितना आसान है। आप काम करने के लिए इस पृष्ठ के निचले भाग में वीडियो देख सकते हैं।
STM8S103F3 के लिए Arduino पिन मैपिंग
यदि आप यहां से आगे बढ़ना चाहते हैं, तो आपको यह जानना होगा कि STM8S103F3 डेवलपमेंट बोर्ड में प्रत्येक पिन को कैसे पता करें। पिन मैपिंग को इस छवि से समझा जा सकता है-
उदाहरण के लिए STM8S103F3 बोर्ड सर्किट आरेख से, हम जानते हैं कि ऑन-बोर्ड एलईडी PB5 से जुड़ा है। Arduino पर इस पिन को संबोधित करने के लिए, हमें 3 का उपयोग करना होगा, इसलिए कार्यक्रम को इस प्रकार लिखा जा सकता है-
शून्य सेटअप () {// आउटपुट के रूप में डिजिटल पिन LED_BUILTIN को इनिशियलाइज़ करें। पिनमोड (3, बाहर); } // लूप फंक्शन हमेशा के लिए लूप को ओवर-ओवर रन करता है () {digitalWrite (3, LOW); // एलईडी चालू करें (उच्च वोल्टेज स्तर है) देरी (1000); // एक दूसरे digitalWrite (3, उच्च) के लिए प्रतीक्षा करें; // वोल्टेज को कम करके एलईडी को बंद करें देरी (1000); // एक दूसरे के लिए प्रतीक्षा करें}
Arduino IDE पर SPL लाइब्रेरीज़ का संकलन
जैसा कि पहले उल्लेख किया गया है, हम Arduino IDE पर SPL लाइब्रेरी का उपयोग भी कर सकते हैं। यदि आपको याद है, हमारे पिछले STM8S GPIO ट्यूटोरियल में, हमने ऑन-बोर्ड एलईडी को ब्लिंक करने के लिए एक कोड लिखा था और पुश बटन का उपयोग करके एक बाहरी एलईडी भी। बहुत कम संशोधनों के साथ समान कोड को Arduino पर भी संकलित किया जा सकता है। संशोधित कोड नीचे दिखाया गया है।
#define Green_LED GPIOA, GPIO_PIN_3 शून्य सेटअप () {GPIO_DeInit (GPIOA); // GPIO_DeInit (GPIOB) काम करने के लिए पोर्ट ए तैयार करें; // पोर्ट बी को काम करने के लिए तैयार करें। PA2 को इनपुट GP पिन_इनिट (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT) के रूप में घोषित करें। // पीए 3 को पुश पुल आउटपुट पिन GPIO_Init (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW) के रूप में घोषित करें; // पीबी 5 को पुश पुल आउटपुट पिन GPIO_Init (GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_SLOW) के रूप में घोषित करें; } शून्य लूप () {if (GPIO_ReadInputPin (GPIOA, GPIO_PIN_2)) // अगर बटन GPIO_WriteLow (Green_LED) दबाया गया; // LED ON GP GP_WriteHigh (Green_LED); // LED OFF GPIO_WriteReverse (GPIOB, GPIO_PIN_5); देरी (100); }
Sduino के साथ Arduino IDE को समाप्त करने के लिए बहुत अच्छा विकल्प है यदि आप STM8S के साथ अपना विकास शुरू करना चाहते हैं। हालाँकि, अभी भी मंच का विकास चल रहा है और कई Arduino पुस्तकालयों का समर्थन किया जाना बाकी है। फिर भी, यदि आप गहरी खुदाई करना चाहते हैं और विकास में योगदान करना चाहते हैं, तो यह बहुत अच्छा होगा। लेकिन, सीखने के लिए, मैं STVD और कॉस्मिक सी कंपाइलर के साथ ट्यूटोरियल श्रृंखला जारी रखूंगा।