विषयसूची:

कार्यक्रम के लिए अविश्वसनीय रूप से आसान!: १० कदम
कार्यक्रम के लिए अविश्वसनीय रूप से आसान!: १० कदम

वीडियो: कार्यक्रम के लिए अविश्वसनीय रूप से आसान!: १० कदम

वीडियो: कार्यक्रम के लिए अविश्वसनीय रूप से आसान!: १० कदम
वीडियो: लम्बाई बढ़ाने का सही तरीका || Best Methods To Increase Height 2024, जुलाई
Anonim
Image
Image
कार्यक्रम के लिए अविश्वसनीय रूप से आसान!
कार्यक्रम के लिए अविश्वसनीय रूप से आसान!

आज, मैं STM32 Core, L476RG के बारे में बात करूंगा, जो अल्ट्रा लो पावर का चेहरा है। आप इसे छवि के बाईं ओर देख सकते हैं। इस उपकरण में दो महिला पिन बार हैं, प्रत्येक तरफ एक, जो कि आर्डिनो शील्ड के लिए कनेक्टर्स से ज्यादा कुछ नहीं हैं। यह बढ़िया है, नहीं?

मेरी राय में, एसटीएमइक्रोइलेक्ट्रॉनिक्स ने अपने विकास किट में ऐसा किया क्योंकि यह जानता है कि पेशेवर इस चिप का उपयोग करते हैं। यह कंपनी arduino की तरफ ज्यादा से ज्यादा जा रही है। और यह कई अन्य पेशेवर एसटीएमइक्रोइलेक्ट्रॉनिक्स किट के लिए भी सच है।

अंत में, आज परियोजना के संबंध में, हम L476RG के अलावा दो DS18b20 सेंसर का उपयोग करेंगे। इसलिए हम L476RG का उपयोग करके एक साधारण असेंबली बनाएंगे, MBED वातावरण में एक लाइब्रेरी आयात करेंगे, MBED वातावरण में एक प्रोग्राम बनाएंगे, और USB / Serial के माध्यम से L476RG से डेटा प्राप्त करेंगे।

मैंने इस वीडियो में पहले ही L476RG के बारे में थोड़ी बात की है: माइक्रोकंट्रोलर को प्रोग्राम करने का आसान तरीका, जहां मैं दिखाता हूं कि MBED वातावरण को कैसे कॉन्फ़िगर किया जाए, जो कि ऑनलाइन है।

मेरे वीडियो का अनुसरण करने वाले कुछ लोग मुझसे पूछ रहे हैं कि क्या STM32 ESP32 की जगह लेता है। मैं एक बात कहता हूं: यह प्रतिस्थापित नहीं करता और यह नहीं हो सकता, क्योंकि वे दो पूरी तरह से अलग चीजें हैं।

यह STM32 चिप एक माइक्रोकंट्रोलर है, या यों कहें; यह "चीजों का समूह" नहीं है जैसा कि ESP32 है। तो नाम समान दिख सकता है, लेकिन वे पूरी तरह से अलग हैं। STM32 एक सामान्य प्रयोजन का माइक्रोकंट्रोलर है, जैसे कि PIC, Atmel, उदाहरण के लिए।

चरण 1: प्रयुक्त संसाधन

प्रयुक्त संसाधन
प्रयुक्त संसाधन

1 कोर L476RG

2 DS18b20 सेंसर (हम बाजार पर आम वाटरप्रूफ मॉड्यूल का उपयोग करते हैं)

1 4k7 रोकनेवाला

मिनी प्रोटोबार्ड

कनेक्शन के लिए जंपर्स

चरण 2: विधानसभा

सभा
सभा

हम शुरू में एक तापमान सेंसर का उपयोग करके असेंबली को अंजाम देंगे।

इसकी पावर 5V होगी।

डेटा लाइन (1-वायर) पर पुल-अप करने के लिए एक 4k7 रोकनेवाला का उपयोग किया जाएगा।

हम A0 पिन का उपयोग करके डेटा पढ़ेंगे।

चरण 3: एमबीईडी में नया कार्यक्रम

एमबीईडी में नया कार्यक्रम
एमबीईडी में नया कार्यक्रम
एमबीईडी में नया कार्यक्रम
एमबीईडी में नया कार्यक्रम
एमबीईडी में नया कार्यक्रम
एमबीईडी में नया कार्यक्रम

एक बार जब आप अपना खाता एमबीईडी में सेट कर लेते हैं और उस तक पहुंच जाते हैं, तो हम एक नया कार्यक्रम तैयार करेंगे। ऐसा करने के लिए, "मेरे कार्यक्रम" पर राइट क्लिक करें और "नया कार्यक्रम …" चुनें

पुष्टि करें कि "प्लेटफ़ॉर्म" आपके द्वारा उपयोग किए जा रहे बोर्ड के अनुरूप है।

अब हम "टेम्पलेट" पर क्लिक करते हैं।

हम उदाहरण के आधार पर एक प्रोग्राम बनाएंगे, "UART का उपयोग करके पीसी पर एक संदेश प्रदर्शित करें"।

"कार्यक्रम का नाम" में कार्यक्रम का नाम दर्ज करें।

"इस कार्यक्रम और पुस्तकालयों को नवीनतम संशोधन में अपडेट करें" विकल्प को चेक करें।

आपके प्रोग्राम के लिए एक नया फ़ोल्डर बनाया जाएगा, जिसमें डिफ़ॉल्ट MBED लाइब्रेरी और main.cpp फ़ाइल शामिल है।

आप इसका उपयोग यह जांचने के लिए कर सकते हैं कि सब कुछ ठीक से काम कर रहा है या नहीं। ऐसा करने के लिए, बस इसे संकलित करें और इसे प्लेटफ़ॉर्म पर कॉपी करें।

अपनी पसंद के सीरियल टर्मिनल का उपयोग करके, आप निम्न संदेश प्राप्त कर सकते हैं।

चरण 4: DS18b20 लाइब्रेरी आयात करना

DS18b20 लाइब्रेरी आयात करना
DS18b20 लाइब्रेरी आयात करना

चूंकि Ds18b20 के लिए पुस्तकालयों के कई संस्करण हैं, इसलिए हम एक url का उपयोग करके आयात करेंगे ताकि आपका उदाहरण उसी लाइब्रेरी का उपयोग करे।

चरण 5: एमबीईडी में नया कार्यक्रम

एमबीईडी में नया कार्यक्रम
एमबीईडी में नया कार्यक्रम
एमबीईडी में नया कार्यक्रम
एमबीईडी में नया कार्यक्रम

"स्रोत URL" फ़ील्ड में भरें: https://os.mbed.com/users/Sissors/code/DS1820/ और आयात पर क्लिक करें।

आपकी DS1820 लाइब्रेरी आपके प्रोग्राम फोल्डर में दिखाई देनी चाहिए।

चरण 6: स्रोत कोड

शामिल

हमने आवश्यक पुस्तकालयों को शामिल करके शुरुआत की।

#include "mbed.h" //inclusão da biblioteca padrão do MBED#include "DS1820.h" //inclusão da biblioteca do sensor DS1820

हम स्थिरांक को परिभाषित करते हैं जो उपयोग किए गए पिनों का प्रतिनिधित्व करेंगे।

ध्यान दें कि DS18b20 1-वायर संचार वाला एक सेंसर है। इस कारण से, हम पुस्तकालय का उपयोग करते हैं जो उपकरणों के साथ संचार के पूरे प्रोटोकॉल को संभालेगा। इसमें प्रत्येक डिवाइस को रीड कमांड तक पहचानना शामिल है।

#define PINO_DE_DADOS A0 // परिभाषित करें o pino para leitura dos dados#define MAX_SENSORES 16 // परिभाषित करें o número máximo para o Vetor de sensores

हम एक वेक्टर बनाते हैं जो डेटा लाइन से जुड़े 16 संभावित उपकरणों में से प्रत्येक को इंगित करेगा।

DS1820* सेंसर [MAX_SENSORES]; // cria umvetor com 16 पॉज़िस पैरा ओएस सेंसर्स

हम मुख्य () विधि शुरू करते हैं, जहां, DS1820 लाइब्रेरी में निहित "अनअसाइनडप्रोब ()" विधि का उपयोग करके, हम संचार लाइन में सभी उपलब्ध उपकरणों की तलाश करते हैं।

हम सेंसर वेक्टर को ऐसे उदाहरणों से भरते हैं जो प्रत्येक उपलब्ध सेंसर का प्रतिनिधित्व करेंगे।

हम ऐसा तब तक करते हैं जब तक कि आखिरी नहीं मिल जाता या जब तक हम अधिकतम 16 सेंसर तक नहीं पहुंच जाते।

इंट मेन () {इंट एनकॉन्ट्राडोस = 0; जबकि(DS1820::unassignedProbe(PINO_DE_DADOS)) {//incia a procura por sensores sensor[encontrados] = new DS1820(PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados++; if (encontrados == MAX_SENSORES) // सत्यापित करें कि अधिकतम सेंसर टूट गए हैं; }

हम लाइन पर पाए गए सेंसर की संख्या भेजते हैं।

प्रिंटफ ("डिस्पोजिटिवोस एनकॉन्ट्राडो (एस):% d / r / n / n", एनकॉन्ट्राडोस);

हम एक अनंत लूप शुरू करते हैं, यह अनुरोध करते हुए कि सभी उपलब्ध सेंसर अपने संबंधित तापमान की गणना करें, और फिर प्राप्त रीडिंग भेजकर सेंसर वेक्टर के माध्यम से पुनरावृति करें।

प्रिंटफ ("डिस्पोजिटिवोस एनकॉन्ट्राडो (एस):% d / r / n / n", एनकॉन्ट्राडोस); जबकि (1) {सेंसर [0] -> कन्वर्ट तापमान (सच, DS1820:: all_devices); // सॉलिसिटा ए लेइटुरा डे टेम्परेचर पैरा टोडोस ओएस डिस्पोजिटिवोस एनकॉन्ट्राडोस फॉर (इंट आई = 0; आइटमपरचर ()); //।.. ई रेटोरना ए टेम्परेचर प्रिंटफ ("\ r / n"); प्रतीक्षा करें(1); }

चरण 7: प्राप्त डेटा

डाटा प्राप्त हो गया
डाटा प्राप्त हो गया

एकल सेंसर का उपयोग करके, हम निम्नलिखित सीरियल आउटपुट प्राप्त करते हैं।

चरण 8: अधिक सेंसर सहित

अधिक सेंसर सहित
अधिक सेंसर सहित
अधिक सेंसर सहित
अधिक सेंसर सहित

कोड का परीक्षण करने के लिए, हम संचार लाइन में एक और सेंसर पेश करते हैं, बस इसे पहले सेंसर के समानांतर जोड़कर।

नए सेंसर जोड़ने से पहले असेंबली को बंद करना याद रखें।

असेंबली को पुनरारंभ करते समय, हमने स्रोत कोड में किसी भी बदलाव के बिना निम्न आउटपुट प्राप्त किया।

चरण 9: स्रोत देखें

#include "mbed.h" //inclusão da biblioteca padrão do MBED#include "DS1820.h" //inclusão da biblioteca do sensor DS1820 #define PINO_DE_DADOS A0 // डिफाइन ओ पिनो पैरा लीटुरा डॉस डैडोस #define o pino para leitura dos dados #define MAX_SENS ओ नोमेरो मैक्सिमो पैरा ओ वेटर डी सेंसर्स DS1820* सेंसर[MAX_SENSORES]; // cria um Vetor com 16 पॉज़िस पैरा ओएस सेंसर्स इंट मेन () {इंट एनकॉन्ट्राडोस = 0; जबकि(DS1820::unassignedProbe(PINO_DE_DADOS)) {//incia a procura por sensores sensor[encontrados] = new DS1820(PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados++; if (encontrados == MAX_SENSORES) // सत्यापित करें कि अधिकतम सेंसर टूट गए हैं; } प्रिंटफ ("डिस्पोजिटिवोस एनकॉन्ट्राडो (ओं): %d \r\n\n", एनकॉन्ट्राडोस); जबकि (1) {सेंसर [0] -> कन्वर्ट तापमान (सच, DS1820:: all_devices); // सॉलिसिटा ए लेइटुरा डे टेम्परेचर पैरा टोडोस ओएस डिस्पोजिटिवोस एनकॉन्ट्राडोस फॉर (इंट आई = 0; आइटमपरचर ()); //।.. ई रेटोर्ना ए टेम्परेचर प्रिंटफ ("\ r / n"); प्रतीक्षा करें(1); } }

चरण 10: फ़ाइलें

पीडीएफ

अन्य

सिफारिश की: