STM32F103C8T6 किमान प्रणाली विकास मंडळ
उत्पादन माहिती
STM32F103C8T6 ARM STM32 मिनिमम सिस्टम डेव्हलपमेंट बोर्ड मॉड्यूल हे STM32F103C8T6 मायक्रोकंट्रोलरवर आधारित डेव्हलपमेंट बोर्ड आहे. हे Arduino IDE वापरून प्रोग्राम करण्यासाठी डिझाइन केले आहे आणि विविध Arduino क्लोन, भिन्नता आणि ESP32 आणि ESP8266 सारख्या तृतीय-पक्ष बोर्डांशी सुसंगत आहे.
बोर्ड, ज्याला ब्लू पिल बोर्ड असेही म्हटले जाते, ते Arduino UNO पेक्षा अंदाजे 4.5 पट जास्त वारंवारतेवर कार्य करते. हे विविध प्रकल्पांसाठी वापरले जाऊ शकते आणि TFT डिस्प्ले सारख्या पेरिफेरल्सशी कनेक्ट केले जाऊ शकते.
या बोर्डसह प्रकल्प तयार करण्यासाठी आवश्यक घटकांमध्ये STM32 बोर्ड, FTDI प्रोग्रामर, कलर TFT डिस्प्ले, पुश बटण, स्मॉल ब्रेडबोर्ड, वायर्स, पॉवर बँक (स्टँड-अलोन मोडसाठी पर्यायी), आणि यूएसबी टू सीरियल कनव्हर्टर यांचा समावेश आहे.
योजनाबद्ध
STM32F1 बोर्ड 1.8 ST7735-आधारित रंगीत TFT डिस्प्ले आणि पुश बटणाशी जोडण्यासाठी, प्रदान केलेल्या स्कीमॅटिक्समध्ये वर्णन केलेल्या पिन-टू-पिन कनेक्शनचे अनुसरण करा.
STM32 साठी Arduino IDE सेट करत आहे
- Arduino IDE उघडा.
- टूल्स -> बोर्ड -> बोर्ड मॅनेजर वर जा.
- शोध बारसह संवाद बॉक्समध्ये, “STM32F1” शोधा आणि संबंधित पॅकेज स्थापित करा.
- स्थापना प्रक्रिया पूर्ण होण्याची प्रतीक्षा करा.
- स्थापनेनंतर, STM32 बोर्ड आता Arduino IDE बोर्ड सूची अंतर्गत निवडीसाठी उपलब्ध असावा.
Arduino IDE सह STM32 बोर्ड प्रोग्रामिंग
त्याच्या स्थापनेपासून, Arduino IDE ने Arduino क्लोन आणि विविध उत्पादकांच्या भिन्नतेपासून ते ESP32 आणि ESp8266 सारख्या तृतीय-पक्ष बोर्डांपर्यंत सर्व प्रकारच्या प्लॅटफॉर्मला समर्थन देण्याची इच्छा प्रदर्शित केली आहे. जसजसे अधिक लोक IDE शी परिचित होतात, तसतसे ते ATMEL चिप्सवर आधारित नसलेल्या अधिक बोर्डांना समर्थन देऊ लागले आहेत आणि आजच्या ट्यूटोरियलसाठी आपण अशा बोर्डांपैकी एक पाहू. Arduino IDE सह STM32-आधारित, STM32F103C8T6 डेव्हलपमेंट बोर्ड कसे प्रोग्राम करायचे ते आम्ही तपासू.
या ट्यूटोरियलसाठी वापरला जाणारा STM32 बोर्ड हा STM32F103C8T6 चिप-आधारित STM32F1 विकास बोर्ड नसून त्याच्या PCB च्या निळ्या रंगाच्या अनुषंगाने "ब्लू पिल" म्हणून ओळखला जातो. ब्लू पिल शक्तिशाली 32-बिट STM32F103C8T6 ARM प्रोसेसरद्वारे समर्थित आहे, 72MHz वर क्लॉक आहे. बोर्ड 3.3v लॉजिक स्तरांवर कार्य करतो परंतु त्याच्या GPIO पिन 5v सहनशील असण्याची चाचणी केली गेली आहे. हे ESP32 आणि Arduino सारख्या वायफाय किंवा ब्लूटूथसह येत नसले तरी, ते 20KB RAM आणि 64KB फ्लॅश मेमरी देते ज्यामुळे ते मोठ्या प्रकल्पांसाठी पुरेसे आहे. यामध्ये 37 GPIO पिन देखील आहेत, त्यापैकी 10 एनालॉग सेन्सरसाठी वापरल्या जाऊ शकतात कारण ते ADC सक्षम आहेत, इतरांसह जे SPI, I2C, CAN, UART आणि DMA साठी सक्षम आहेत. सुमारे $3 किंमत असलेल्या बोर्डसाठी, तुम्ही माझ्याशी सहमत व्हाल की हे प्रभावी चष्मा आहेत. Arduino Uno च्या तुलनेत या वैशिष्ट्यांची सारांशित आवृत्ती खालील प्रतिमेमध्ये दर्शविली आहे.
वरील चष्म्यांवर आधारित, आजच्या ट्यूटोरियलसाठी, माजी म्हणून, ब्लू पिल ज्या फ्रिक्वेंसीवर चालते ती Arduino UNO पेक्षा सुमारे 4.5 पट जास्त आहे.ampSTM32F1 बोर्ड कसा वापरायचा याविषयी, आम्ही ते 1.44″ TFT डिस्प्लेशी कनेक्ट करू आणि “Pi” स्थिरांक मोजण्यासाठी प्रोग्राम करू. बोर्डाला मूल्य मिळविण्यासाठी किती वेळ लागला आणि तेच कार्य करण्यासाठी Arduino Uno ला लागणाऱ्या वेळेशी तुलना करू.
आवश्यक घटक
हा प्रकल्प तयार करण्यासाठी खालील घटक आवश्यक आहेत;
- STM32 बोर्ड
- FTDI प्रोग्रामर
- रंग TFT
- पुश बटण
- लहान ब्रेडबोर्ड
- तारा
- पॉवर बँक
- यूएसबी ते सिरीयल कनव्हर्टर
नेहमीप्रमाणे, या ट्यूटोरियलसाठी वापरलेले सर्व घटक संलग्न लिंक्सवरून विकत घेतले जाऊ शकतात. मात्र पॉवर बँक फक्त जर तुम्हाला स्टँड-अलोन मोडमध्ये प्रोजेक्ट डिप्लॉय करायची असेल तरच आवश्यक आहे.
योजनाबद्ध
- आधी सांगितल्याप्रमाणे, आम्ही पुश बटणासह STM32F1 बोर्ड 1.8″ ST7735 आधारित रंगीत TFT डिस्प्लेला जोडू.
- पुश बटणाचा वापर बोर्डला गणना सुरू करण्यासाठी सूचना देण्यासाठी केला जाईल.
- खालील योजनाबद्ध मध्ये दर्शविल्याप्रमाणे घटक कनेक्ट करा.
कनेक्शन्सची नक्कल करणे सोपे करण्यासाठी, STM32 आणि डिस्प्लेमधील पिन-टू-पिन कनेक्शन खाली वर्णन केले आहेत.
STM32 - ST7735
सर्व काही जसे असावे तसे आहे याची खात्री करण्यासाठी पुन्हा एकदा कनेक्शनवर जा कारण ते थोडे अवघड आहे. हे पूर्ण केल्यावर, आम्ही Arduino IDE सह प्रोग्राम केलेले STM32 बोर्ड सेट करण्यास पुढे निघालो.
STM32 साठी Arduino IDE सेट करत आहे
- Arduino द्वारे बनवलेल्या बहुतेक बोर्डांप्रमाणे, Arduino IDE सह बोर्ड वापरण्यापूर्वी थोडा सेटअप करणे आवश्यक आहे.
- यामध्ये बोर्ड बसवणे समाविष्ट आहे file एकतर Arduino बोर्ड व्यवस्थापकाद्वारे किंवा इंटरनेटवरून डाउनलोड करून आणि कॉपी करा files हार्डवेअर फोल्डरमध्ये.
- बोर्ड मॅनेजर मार्ग हा कमी कंटाळवाणा आहे आणि STM32F1 सूचीबद्ध बोर्डांमध्ये असल्याने, आम्ही त्या मार्गावर जाऊ. Arduino प्राधान्य सूचींमध्ये STM32 बोर्डची लिंक जोडून सुरुवात करा.
- वर जा File -> प्राधान्ये, नंतर हे प्रविष्ट करा URL ( http://dan.drown.org/stm32duino/package_STM32duino_index.json ) खाली दर्शविल्याप्रमाणे बॉक्समध्ये आणि ओके क्लिक करा.
- Now go to Tools -> Board -> Board Manager, it will open a dialogue box with a search bar. साठी शोधा STM32F1 and install the corresponding package.
- स्थापना प्रक्रियेस काही सेकंद लागतील. त्यानंतर, बोर्ड आता Arduino IDE बोर्ड सूची अंतर्गत निवडीसाठी उपलब्ध असावे.
कोड
- आम्ही Arduino प्रोजेक्टसाठी इतर कोणतेही स्केच लिहू त्याप्रमाणे कोड लिहिला जाईल, फक्त फरक म्हणजे पिनचा संदर्भ कसा दिला जातो.
- या प्रकल्पासाठी कोड सहजपणे विकसित करण्यात सक्षम होण्यासाठी, आम्ही दोन लायब्ररी वापरणार आहोत जे STM32 शी सुसंगत बनवण्यासाठी मानक Arduino लायब्ररीचे दोन्ही बदल आहेत.
- आम्ही Adafruit GFX आणि Adafruit ST7735 लायब्ररीची सुधारित आवृत्ती वापरू.
- दोन्ही लायब्ररी त्यांच्याशी जोडलेल्या लिंकद्वारे डाउनलोड केल्या जाऊ शकतात. नेहमीप्रमाणे, मी कोडचे एक लहान ब्रेकडाउन करत आहे.
- आम्ही वापरणार असलेल्या दोन लायब्ररी आयात करून कोड सुरू करतो.
- पुढे, आम्ही STM32 च्या पिन परिभाषित करतो ज्यात LCD चे CS, RST आणि DC पिन जोडलेले आहेत.
- पुढे, कोडमध्ये रंग त्यांच्या हेक्स मूल्यांऐवजी त्यांच्या नावांनुसार वापरणे सोपे करण्यासाठी आम्ही काही रंग व्याख्या तयार करतो.
- पुढे, आम्ही प्रगती पट्टी वापरण्यासाठी रिफ्रेश कालावधीसह बोर्डाने किती पुनरावृत्ती करू इच्छितो ते सेट करतो.
- हे पूर्ण केल्यावर, आम्ही ST7735 लायब्ररीचा एक ऑब्जेक्ट तयार करतो जो संपूर्ण प्रोजेक्टमध्ये डिस्प्लेचा संदर्भ देण्यासाठी वापरला जाईल.
- आम्ही STM32 चा पिन देखील सूचित करतो ज्याला पुशबटण जोडलेले आहे आणि त्याची स्थिती ठेवण्यासाठी एक व्हेरिएबल तयार करतो.
- असे केल्यावर, आपण void setup() फंक्शनवर जाऊ.
- ज्या पिनला पुशबटण जोडले आहे त्याचा पिनमोड() सेट करून आम्ही सुरुवात करतो, पिनवर अंतर्गत पुल-अप रेझिस्टर सक्रिय करतो कारण पुशबटण दाबल्यावर जमिनीशी जोडले जाते.
- पुढे, आम्ही सिरियल कम्युनिकेशन आणि स्क्रीन सुरू करतो, डिस्प्लेची पार्श्वभूमी ब्लॅकवर सेट करतो आणि इंटरफेस प्रदर्शित करण्यासाठी प्रिंट () फंक्शनला कॉल करतो.
- पुढे void loop() फंक्शन आहे. व्हॉइड लूप फंक्शन अगदी सोपे आणि लहान आहे, लायब्ररी/फंक्शन्सचा वापर केल्याबद्दल धन्यवाद.
- आम्ही पुश बटणाची स्थिती वाचून प्रारंभ करतो. जर बटण दाबले गेले असेल तर, आम्ही removePressKeyText() वापरून स्क्रीनवरील वर्तमान संदेश काढून टाकतो आणि drawBar() फंक्शन वापरून बदलणारा प्रगती बार काढतो.
- त्यानंतर आम्ही Pi चे मूल्य मिळवण्यासाठी आणि त्याची गणना करण्यासाठी लागणाऱ्या वेळेसह प्रदर्शित करण्यासाठी स्टार्ट कॅल्क्युलेशन फंक्शनला कॉल करतो.
- पुशबटण दाबले नसल्यास, डिव्हाइस स्क्रीनसह निष्क्रिय मोडमध्ये राहते आणि त्याच्याशी संवाद साधण्यासाठी की दाबण्याची मागणी केली जाते.
- शेवटी, "लूप" स्केच करण्यापूर्वी थोडा वेळ देण्यासाठी लूपच्या शेवटी विलंब घातला जातो.
- कोडचा उरलेला भाग म्हणजे बार काढण्यापासून पाईची गणना करण्यापर्यंतची कार्ये साध्य करण्यासाठी म्हणतात.
- यापैकी बहुतेक फंक्शन्स ST7735 डिस्प्लेच्या वापराचा समावेश असलेल्या इतर ट्यूटोरियलमध्ये कव्हर केली गेली आहेत.
- प्रकल्पासाठी संपूर्ण कोड खाली उपलब्ध आहे आणि डाउनलोड विभागा अंतर्गत संलग्न आहे.
STM32 वर कोड अपलोड करत आहे
- मानक Arduino-सुसंगत बोर्डच्या तुलनेत STM32f1 वर स्केचेस अपलोड करणे थोडे अवघड आहे. बोर्डवर कोड अपलोड करण्यासाठी, आम्हाला FTDI-आधारित, USB-टू सिरीयल कनवर्टर आवश्यक आहे.
- खाली दिलेल्या स्कीमॅटिक्समध्ये दाखवल्याप्रमाणे यूएसबी ते सीरियल कन्व्हर्टरला STM32 शी कनेक्ट करा.
कनेक्शनचा पिन-टू-पिन नकाशा येथे आहे
FTDI - STM32
- असे केल्यावर, आम्ही बोर्डला प्रोग्रामिंग मोडमध्ये ठेवण्यासाठी बोर्डच्या स्टेट जंपरची स्थिती एक स्थानावर (खालील gif मध्ये दर्शविल्याप्रमाणे) बदलतो.
- यानंतर एकदा बोर्डवरील रीसेट बटण दाबा आणि आम्ही कोड अपलोड करण्यास तयार आहोत.
- संगणकावर, तुम्ही "जेनेरिक STM32F103C बोर्ड" निवडल्याची खात्री करा आणि अपलोड पद्धतीसाठी अनुक्रमांक निवडा त्यानंतर तुम्ही अपलोड बटण दाबू शकता.
- एकदा अपलोड पूर्ण झाल्यावर, स्टेट जम्पर स्थितीत बदला "ओ" हे बोर्डला "रन" मोडमध्ये ठेवेल आणि अपलोड केलेल्या कोडच्या आधारावर ते आता चालू होईल.
- या टप्प्यावर, तुम्ही FTDI डिस्कनेक्ट करू शकता आणि बोर्डला त्याच्या USB वर पॉवर करू शकता. पॉवर दिल्यानंतर कोड रन होत नसल्यास, तुम्ही जंपर व्यवस्थित रिस्टोअर केल्याची खात्री करा आणि बोर्डवर पॉवर रिसायकल करा.
डेमो
- कोड पूर्ण झाल्यावर, तुमच्या सेटअपवर कोड अपलोड करण्यासाठी वर वर्णन केलेल्या अपलोड प्रक्रियेचे अनुसरण करा.
- खालील चित्रात दाखवल्याप्रमाणे तुम्हाला डिस्प्ले आलेला दिसेल.
- गणना सुरू करण्यासाठी पुश बटण दाबा. तुम्हाला प्रोग्रेस बार स्लाइड हळूहळू शेवटपर्यंत दिसली पाहिजे.
- प्रक्रियेच्या शेवटी, गणनेला लागलेल्या वेळेसह Pi चे मूल्य प्रदर्शित केले जाते.
- हाच कोड Arduino Uno वर लागू केला जातो. परिणाम खालील चित्रात दर्शविला आहे.
- या दोन मूल्यांची तुलना केल्यास, आपण पाहतो की "ब्लू पिल" Arduino Uno पेक्षा 7 पट जास्त वेगवान आहे.
- हे अशा प्रकल्पांसाठी आदर्श बनवते ज्यात जड प्रक्रिया आणि वेळेची कमतरता असते.
- ब्लू पिलचा लहान आकार देखील अॅडव्हान म्हणून काम करतोtage येथे कारण ती Arduino Nano पेक्षा थोडी मोठी आहे आणि जिथे नॅनो पुरेशी वेगवान होणार नाही अशा ठिकाणी ती वापरली जाऊ शकते.
कागदपत्रे / संसाधने
![]() |
STM32 STM32F103C8T6 किमान प्रणाली विकास मंडळ [pdf] वापरकर्ता मॅन्युअल STM32F103C8T6 किमान प्रणाली विकास मंडळ, STM32F103C8T6, किमान प्रणाली विकास मंडळ, प्रणाली विकास मंडळ, विकास मंडळ, मंडळ |