STM32F103C8T6 न्यूनतम प्रणाली विकास बोर्ड
उत्पादन जानकारी
STM32F103C8T6 ARM STM32 न्यूनतम प्रणाली विकास बोर्ड मोड्युल एक विकास बोर्ड हो जुन STM32F103C8T6 माइक्रोकन्ट्रोलरमा आधारित छ। यो Arduino IDE प्रयोग गरेर प्रोग्राम गर्न डिजाइन गरिएको हो र विभिन्न Arduino क्लोनहरू, भिन्नताहरू, र तेस्रो-पक्ष बोर्डहरू जस्तै ESP32 र ESP8266 सँग उपयुक्त छ।
बोर्ड, ब्लू पिल बोर्ड पनि भनिन्छ, एक Arduino UNO भन्दा लगभग 4.5 गुणा उच्च आवृत्ति मा काम गर्दछ। यसलाई विभिन्न परियोजनाहरूको लागि प्रयोग गर्न सकिन्छ र TFT डिस्प्ले जस्ता बाह्य उपकरणहरूमा जडान गर्न सकिन्छ।
यस बोर्डसँग परियोजनाहरू निर्माण गर्न आवश्यक कम्पोनेन्टहरूमा STM32 बोर्ड, FTDI प्रोग्रामर, रङ TFT डिस्प्ले, पुश बटन, सानो ब्रेडबोर्ड, तारहरू, पावर बैंक (स्ट्यान्ड-अलोन मोडको लागि वैकल्पिक), र USB देखि सिरियल कन्भर्टर समावेश छन्।
योजनाबद्ध
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 संस्करणहरू जस्तै WiFi वा ब्लुटुथसँग आउँदैन, यसले 20KB RAM र 64KB फ्ल्यास मेमोरी प्रदान गर्दछ जसले यसलाई ठूला परियोजनाहरूको लागि पर्याप्त बनाउँछ। यसमा 37 GPIO पिनहरू पनि छन्, जसमध्ये 10 एनालग सेन्सरहरूको लागि प्रयोग गर्न सकिन्छ किनभने तिनीहरूले ADC सक्षम पारेका छन्, साथै अन्यहरू जुन SPI, I2C, CAN, UART, र DMA को लागि सक्षम छन्। लगभग $3 लागत भएको बोर्डको लागि, तपाईं मसँग सहमत हुनुहुनेछ कि यी प्रभावशाली चश्माहरू हुन्। Arduino Uno को तुलनामा यी विशिष्टताहरूको संक्षिप्त संस्करण तलको छविमा देखाइएको छ।
माथिको चश्माको आधारमा, ब्लू पिलले सञ्चालन गर्ने फ्रिक्वेन्सी आजको ट्यूटोरियलको लागि, अर्डिनो UNO भन्दा लगभग 4.5 गुणा बढी छ, पूर्वको रूपमा।ampSTM32F1 बोर्ड कसरी प्रयोग गर्ने भन्ने बारे जान्नुहोस्, हामी यसलाई 1.44″ TFT डिस्प्लेमा जडान गर्नेछौं र यसलाई "Pi" स्थिर गणना गर्न प्रोग्राम गर्नेछौं। बोर्डले मूल्य प्राप्त गर्न कति समय लियो भनेर हामी नोट गर्नेछौं र त्यसलाई एउटै कार्य गर्न Arduino Uno लिने समयसँग तुलना गर्नुहोस्।
आवश्यक अवयवहरू
यस परियोजना निर्माण गर्न निम्न अवयवहरू आवश्यक छन्;
- STM32 बोर्ड
- FTDI प्रोग्रामर
- रंग TFT
- पुश बटन
- सानो ब्रेडबोर्ड
- तारहरू
- पावर बैंक
- USB बाट सिरियल कन्भर्टर
सामान्य रूपमा, यस ट्यूटोरियलको लागि प्रयोग गरिएका सबै कम्पोनेन्टहरू संलग्न लिङ्कहरूबाट किन्न सकिन्छ। यदि तपाइँ स्ट्यान्ड-अलोन मोडमा परियोजना तैनात गर्न चाहनुहुन्छ भने मात्र पावर बैंक आवश्यक छ।
योजनाबद्ध
- पहिले उल्लेख गरिएझैं, हामी 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 प्रोजेक्टको लागि कुनै अन्य स्केच लेख्छौं, पिनहरू सन्दर्भ गर्ने तरिका मात्र फरक छ।
- यस परियोजनाको लागि कोड सजिलैसँग विकास गर्न सक्षम हुनको लागि, हामी दुई पुस्तकालयहरू प्रयोग गर्नेछौं जुन दुबै मानक Arduino पुस्तकालयहरूको परिमार्जन हो तिनीहरूलाई STM32 सँग उपयुक्त बनाउन।
- हामी Adafruit GFX र Adafruit ST7735 पुस्तकालयहरूको परिमार्जित संस्करण प्रयोग गर्नेछौं।
- दुवै पुस्तकालयहरू तिनीहरूसँग संलग्न लिङ्कहरू मार्फत डाउनलोड गर्न सकिन्छ। सामान्य रूपमा, म कोडको छोटो ब्रेकडाउन गर्दैछु।
- हामी प्रयोग गर्ने दुई पुस्तकालयहरू आयात गरेर कोड सुरु गर्छौं।
- अर्को, हामी STM32 को पिन परिभाषित गर्छौं जसमा LCD को CS, RST, र DC पिनहरू जडान हुन्छन्।
- त्यसपछि, हामीले केही रङ परिभाषाहरू सिर्जना गर्छौं ताकि तिनीहरूको हेक्स मानहरूको सट्टा कोडमा तिनीहरूको नामद्वारा रङहरू प्रयोग गर्न सजिलो होस्।
- अर्को, हामीले प्रगति पट्टी प्रयोग गर्नको लागि रिफ्रेस अवधिको साथमा बोर्डलाई जान चाहने पुनरावृत्तिहरूको संख्या सेट गर्छौं।
- यो गरेपछि, हामीले ST7735 पुस्तकालयको एउटा वस्तु सिर्जना गर्छौं जुन सम्पूर्ण परियोजनामा प्रदर्शनलाई सन्दर्भ गर्न प्रयोग गरिनेछ।
- हामीले STM32 को पिन पनि संकेत गर्छौं जसमा पुशबटन जोडिएको छ र यसको अवस्था होल्ड गर्न एउटा चर सिर्जना गर्दछ।
- यो गरेपछि, हामी शून्य सेटअप() प्रकार्यमा जान्छौं।
- हामी पिनको पिनमोड() सेट गरेर सुरु गर्छौं जसमा पुशबटन जडान गरिएको छ, पिनमा आन्तरिक पुल-अप रेसिस्टर सक्रिय गर्दै जब पुशबटन थिच्दा जमिनमा जडान हुन्छ।
- अर्को, हामी सिरियल कम्युनिकेसन र स्क्रिन सुरु गर्छौं, डिस्प्लेको पृष्ठभूमिलाई कालोमा सेट गर्छौं र इन्टरफेस प्रदर्शन गर्न प्रिन्ट () प्रकार्यलाई कल गर्छौं।
- अर्को void loop() प्रकार्य हो। शून्य लूप प्रकार्य धेरै सरल र छोटो छ, पुस्तकालयहरू / प्रकार्यहरूको प्रयोगको लागि धन्यवाद।
- हामी पुश बटनको अवस्था पढेर सुरु गर्छौं। यदि बटन थिचिएको छ भने, हामी removePressKeyText() प्रयोग गरेर स्क्रिनमा हालको सन्देश हटाउँछौं र drawBar() प्रकार्य प्रयोग गरेर परिवर्तन हुने प्रगति पट्टी कोर्छौं।
- त्यसपछि हामीले Pi को मान प्राप्त गर्न र यसलाई गणना गर्न लागेको समयको साथ प्रदर्शन गर्न स्टार्ट क्याल्कुलेशन प्रकार्यलाई कल गर्छौं।
- यदि पुशबटन थिचिएको छैन भने, यन्त्र निष्क्रिय मोडमा रहन्छ र स्क्रिनसँग अन्तरक्रिया गर्न कुञ्जी थिच्नु पर्ने माग गर्दछ।
- अन्तमा, "लूपहरू" स्केच गर्नु अघि केही समय दिनको लागि लुपको अन्त्यमा ढिलाइ सम्मिलित गरिन्छ।
- कोडको बाँकी भाग भनेको पट्टी कोर्ने देखि Pi को गणना गर्ने कार्यहरू प्राप्त गर्न भनिने कार्यहरू हो।
- यी धेरै प्रकार्यहरू धेरै अन्य ट्यूटोरियलहरूमा कभर गरिएको छ जुन ST7735 प्रदर्शनको प्रयोग समावेश गर्दछ।
- परियोजनाको लागि पूर्ण कोड तल उपलब्ध छ र डाउनलोड सेक्सन अन्तर्गत संलग्न छ।
STM32 मा कोड अपलोड गर्दै
- STM32f1 मा स्केचहरू अपलोड गर्नु मानक Arduino-कम्प्याटिबल बोर्डहरूको तुलनामा थोरै जटिल छ। बोर्डमा कोड अपलोड गर्न, हामीलाई FTDI-आधारित, USB-बाट सिरियल कन्भर्टर चाहिन्छ।
- तलको योजनामा देखाइए अनुसार STM32 मा USB लाई सिरियल कन्भर्टरमा जडान गर्नुहोस्।
यहाँ जडानको पिन-टु-पिन नक्सा छ
FTDI - STM32
- यो गरिसकेपछि, हामी बोर्डलाई प्रोग्रामिङ मोडमा राख्नको लागि बोर्डको स्टेट जम्परको स्थिति परिवर्तन गर्छौं (तल gif मा देखाइएको छ)।
- यस पछि एक पटक बोर्डमा रिसेट बटन थिच्नुहोस् र हामी कोड अपलोड गर्न तयार छौं।
- कम्प्युटरमा, तपाईंले "जेनेरिक STM32F103C बोर्ड" चयन गरेको सुनिश्चित गर्नुहोस् र अपलोड विधिको लागि सिरियल चयन गर्नुहोस् जस पछि तपाईंले अपलोड बटन थिच्न सक्नुहुन्छ।
- एक पटक अपलोड पूरा भएपछि, स्थितिमा जम्पर परिवर्तन गर्नुहोस् "ओ" यसले बोर्डलाई "रन" मोडमा राख्नेछ र यो अब अपलोड गरिएको कोडको आधारमा चल्न सुरु गर्नुपर्छ।
- यस बिन्दुमा, तपाइँ FTDI लाई विच्छेद गर्न सक्नुहुन्छ र यसको USB मा बोर्ड पावर गर्न सक्नुहुन्छ। यदि कोड पावर गरेपछि चल्दैन भने, तपाईंले जम्परलाई ठीकसँग पुनर्स्थापना गर्नुभएको छ र बोर्डमा पावर पुन: प्रयोग गर्नुहोस्।
डेमो
- कोड पूरा भएपछि, तपाइँको सेटअपमा कोड अपलोड गर्न माथि वर्णन गरिएको अपलोड प्रक्रिया पालना गर्नुहोस्।
- तपाईंले तलको छविमा देखाइए अनुसार डिस्प्ले आएको देख्नुपर्छ।
- गणना सुरु गर्न पुश बटन थिच्नुहोस्। तपाईंले प्रगति पट्टी स्लाइड बिस्तारै अन्त्य सम्म हेर्नु पर्छ।
- प्रक्रियाको अन्त्यमा, Pi को मूल्य गणनाले लिएको समयसँगै प्रदर्शित हुन्छ।
- एउटै कोड Arduino Uno मा लागू गरिएको छ। नतिजा तलको छविमा देखाइएको छ।
- यी दुई मानहरू तुलना गर्दा, हामी देख्छौं कि "ब्लु पिल" Arduino Uno भन्दा 7 गुणा छिटो छ।
- यसले भारी प्रशोधन र समय अवरोधहरू समावेश गर्ने परियोजनाहरूको लागि यसलाई आदर्श बनाउँछ।
- ब्लू पिलको सानो साइजले पनि एडभानको रूपमा काम गर्छtage यहाँ यो Arduino Nano भन्दा थोरै मात्र ठूलो छ र यो नानो पर्याप्त छिटो नहुने ठाउँहरूमा प्रयोग गर्न सकिन्छ।
कागजातहरू / स्रोतहरू
![]() |
STM32 STM32F103C8T6 न्यूनतम प्रणाली विकास बोर्ड [pdf] प्रयोगकर्ता पुस्तिका STM32F103C8T6 न्यूनतम प्रणाली विकास बोर्ड, STM32F103C8T6, न्यूनतम प्रणाली विकास बोर्ड, प्रणाली विकास बोर्ड, विकास बोर्ड, बोर्ड |