विषयसूची:

ESP32: M5Stack DHT22 के साथ: 10 कदम
ESP32: M5Stack DHT22 के साथ: 10 कदम

वीडियो: ESP32: M5Stack DHT22 के साथ: 10 कदम

वीडियो: ESP32: M5Stack DHT22 के साथ: 10 कदम
वीडियो: What is M5Stack? 2024, जुलाई
Anonim
Image
Image
ESP32: M5Stack DHT22. के साथ
ESP32: M5Stack DHT22. के साथ
ESP32: M5Stack DHT22. के साथ
ESP32: M5Stack DHT22. के साथ

आइए आज बात करते हैं एक बेहद खास ESP32 के बारे में, जो इंटरनेट ऑफ थिंग्स के लिए एकदम सही है, जो कि M5Stack है। इसमें ईएसपी 32 अंदर है और यहां तक कि डिस्प्ले, कीबोर्ड, एम्पलीफायर, स्पीकर और बैटरी पर भी जुड़ जाता है। इस प्रकार, यह उपकरण अनगिनत काम कर सकता है। जब मुझे यह हार्डवेयर मिला, तो मेरे पास पहले से ही ESP32 के लिए सॉफ्टवेयर था और केवल इस प्रोजेक्ट में उपयोग किए गए डिस्प्ले पर पोर्ट किया गया था, जो अलग है। हालाँकि, हम जिस स्रोत कोड का उपयोग करेंगे, वह वही है जो हमारे वीडियो TEMPERATURE AND HUMIDITY with OLED DISPLAY में उपयोग किया गया है।

आज के सर्किट में, मैं विशेष रूप से इस बात पर जोर देना चाहता हूं कि हमारे पास सकारात्मक और नकारात्मक कनेक्शन के साथ M5Stack है, जो खुद को DHT22 सेंसर के साथ फीड करता है। दोनों एक GPIO द्वारा जुड़े हुए हैं। डेटा चार्ट में प्रदर्शित होता है।

इस लेख में, आइए M5Stack का परिचय दें और इसके अनुप्रयोगों पर चर्चा करें। मुझे इस बात पर ज़ोर देने की ज़रूरत है कि इस डिवाइस में माइक्रो एसडी कार्ड, 1W स्पीकर और बैटरी सॉकेट के लिए एक इनपुट है, और इसमें इंटरेक्शन बटन, एक i2c कनेक्टर, एक USB टाइप C, एक्सपोज़्ड IO, एक दो-इंच TFT डिस्प्ले भी है। अन्य सुविधाओं के बीच। यह ऊपर चित्र में दिखाया गया है। हम कह सकते हैं कि यह डिवाइस IoT के लिए तैयार है, क्योंकि यह पहले से ही ब्लूटूथ और ESP32 वाईफाई के साथ आता है। इसमें धातु की सतहों को जोड़ने के लिए एक चुंबक भी शामिल है।

क्या आपको M5Stack पसंद आया? क्लिक करें:

चरण 1: M5Stack

एम5स्टैक
एम5स्टैक
एम5स्टैक
एम5स्टैक
एम5स्टैक
एम5स्टैक
एम5स्टैक
एम5स्टैक

M5Stack का एक नवाचार यह है कि, यदि आप पीछे हटते हैं, तो आप विभिन्न कार्यों के साथ विभिन्न मॉड्यूल में फिट हो सकते हैं, जैसे कि GPS मॉड्यूल, GSM, LoRa, अन्य। यह छवि में दिखाया गया है।

मेरे पास नीचे मॉड्यूल के अधिक उदाहरण हैं, जिनमें आरएस 485, डीसी मोटर, मेकर, कोर से लेकर स्टेपर मोटर कंट्रोल तक शामिल हैं।

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

अब, हमारे पास अंत में M5Stack है, जो कि यह रेडी-फॉर-यूज़ क्लोज्ड बॉक्स है। यह हमें अन्य असंख्य चरणों को करने से मुक्त करता है।

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

चरण 2: M5Stack संभावित अनुप्रयोग

M5Stack संभावित अनुप्रयोग
M5Stack संभावित अनुप्रयोग
M5Stack संभावित अनुप्रयोग
M5Stack संभावित अनुप्रयोग
M5Stack संभावित अनुप्रयोग
M5Stack संभावित अनुप्रयोग

M5Stack अनुप्रयोगों के उदाहरणों में, हमारे पास आस्टसीलस्कप है, जैसा कि आप छवि में देख सकते हैं। हमारे पास एक तरह का कैलकुलेटर/कटिंग टूल टेबल भी है।

साइकिल स्पीडोमीटर के बारे में कैसे?

यह एक रिमोट ड्रिल भी हो सकता है, जिसे 3डी में प्रिंट किया जाता है और एक कंट्रोल द्वारा दूर से मॉनिटर किया जाता है।

यह सब दिखाता है कि इन दिनों इलेक्ट्रॉनिक नियंत्रण बहुत अधिक किफायती है, जैसे इन सर्किटों की प्रोग्रामिंग आसान हो गई है।

चरण 3: M5Stack - पिन

M5Stack - पिन
M5Stack - पिन

इस छवि में M5Stack का पिछला भाग है, जो दर्शाता है कि शक्ति 5 वोल्ट पर है। छवि आगे बताती है कि हमारे पास सब कुछ है जो कनेक्टिविटी के साथ ESP32 में मौजूद है।

चरण 4: डीएचटी पुस्तकालय

डीएचटी पुस्तकालय
डीएचटी पुस्तकालय

SimpleDHT लिब का उपयोग करें, जो वही है जिसका मैंने वीडियो में उपयोग किया था: OLED डिस्प्ले के साथ तापमान और आर्द्रता।

चरण 5: Arduino IDE लाइब्रेरी मैनेज

Arduino IDE लाइब्रेरी मैनेज
Arduino IDE लाइब्रेरी मैनेज

"मेनू: स्केच -> लाइब्रेरी जोड़ें -> लाइब्रेरी प्रबंधित करें" में, आइए नीचे दी गई छवि में दिखाए गए दो पुस्तकालयों को स्थापित करें। याद रखें कि इससे पहले, आपको ESP32 के Arduino कोर को स्थापित करने की आवश्यकता है। यह वीडियो आपको दिखाता है कि कैसे करना है यह: ESP32 में ARDUINO IDE कैसे स्थापित करें।

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

स्रोत कोड, जैसा कि उल्लेख किया गया है, वही है जो मैंने वीडियो में उपयोग किया था: OLED डिस्प्ले के साथ TEMPERATURE GRAPH। मैंने इस परियोजना में केवल प्रदर्शन के आकार के संबंध में परिवर्तन किया था।

चरण 7: M5StackDHTGraph.ino

हम M5Stack.h और SimpleDHT.h लाइब्रेरी को शामिल करेंगे, और हम डिस्प्ले में उपयोग किए जाने वाले रंगों के साथ-साथ DHT डेटा पिन को भी परिभाषित करेंगे। हम सेंसर के साथ संचार के लिए एक वस्तु का निर्माण भी करेंगे, रीडिंग के लिए जिम्मेदार चर को परिभाषित करेंगे, और एक्स-अक्ष के मूल्य को इंगित करेंगे।

// Libs do M5Stack e DHT#include #include // definição das cores que serão utilizadas #define BLACK 0x0000 #define RED 0xF800 #define CYAN 0x07FF #define YELLOW 0xFFE0 #define WHITE 0xFFFF #define DHTPIN do D Dine //construtor do objeto para comunicar com o sensor SimpleDHT22 dht; // वेरिएवल रिस्पॉन्सावेल पोर कॉन्टार ओ नेमेरो डे लीटुरस रियलिज़दास ई इंडिकडोर डो वेलोर नो ईिक्सो एक्स इंट लेइटुराअटुअल = 1;

हम X-अक्ष और Y-अक्ष स्थिति निर्धारण परिभाषाओं, तापमान और आर्द्रता डेटा प्रदर्शन निर्देशांकों के साथ-साथ वेरिएबल के साथ जारी रखते हैं जो पढ़े गए मानों को संग्रहीत करेंगे। हम अभी भी डिस्प्ले पर चार्ट को प्रिंट करने के लिए वेरिएबल की ओर इशारा करते हैं।

// निश्चित रूप से स्थिति को परिभाषित करें X e Y#POS_X_GRAFICO 30 को परिभाषित करें #POS_Y_GRAFICO 3 को परिभाषित करें #ALTURA_GRAFICO 180 को परिभाषित करें # COMPRIMENTO_GRAFICO 270 को परिभाषित करें que armazenarão os valores lidos da umidade e tempatura int umidade = 0; इंट टेम्परेचर = 0; // वेरिअल क्यू आर्मज़ेनारा ओ वेलोर दा कोर्डेनाडा वाई पैरा डेसेनहार्मोस उमा लिन्हा डे उदाहरण इंट फेटर = 1; // संकेतक से सोमारेमोस या सबट्रैरेमोस उमा उनीडे और वेरिएवल लिन्हाउदाहरण

चरण 8: M5StackDHTGraph.ino - सेटअप

सेटअप में, हम M5Stack को इनिशियलाइज़ करते हैं। हम ग्राफ़ खींचने के लिए कमांड परिभाषित करते हैं, फ़ॉन्ट के साथ-साथ टेक्स्ट रंगों को भी कॉन्फ़िगर करते हैं, और कर्सर को लिखने के लिए स्थान देते हैं।

शून्य सेटअप (शून्य) {Serial.begin(११५२००); // प्रारंभिक या M5Stack M5.begin (); // पिंटा ए टेला टोडा डे प्रीटो एम5.एलसीडी.फिलस्क्रीन (ब्लैक); //os comandos a seguir irão desenhar as linhas dos eixos cartesianos na cor branca //drawFastVLine(x, y, width, color) linha लंबवत M5. Lcd.drawFastVLine(POS_X_GRAFICO, POS_Y_GRAFICO, ALTURA_GRAFICO); //eixo Y // DrawFastHLine(x, y, चौड़ाई, रंग) लिन्हा क्षैतिज M5. Lcd.drawFastHLine(POS_X_GRAFICO, ALTURA_GRAFICO+1, COMPRIMENTO_GRAFICO, WHITE); //eixo X //configura o tamnaho do texto que escreveremos em tela M5. Lcd.setTextSize(3); // M5. Lcd.setTextColor(WHITE); // स्थिति या कर्सर के लिए M5. Lcd.setCursor(POS_X_DADOS, POS_Y_DADOS); M5. Lcd.print ("टी:"); // एक तापमान M5. Lcd.setCursor(POS_X_DADOS+105, POS_Y_DADOS); M5. Lcd.print ("यू:"); // एक उमीददे का संकेत दें }

चरण 9: M5StackDHTGraph.ino - लूप

लूप के पहले भाग में, हम तापमान और आर्द्रता पढ़ते हैं, ग्राफ़ पर प्लेसमेंट के लिए वेरिएबल्स के मान को मैप करते हैं, और स्क्रीन पर उस बिंदु को ड्रा करते हैं जो सेंसर से पढ़े गए इन मानों को संदर्भित करता है।

शून्य लूप () {//Fazemos a leitura da tempatura e umiade float temp, umid; int स्थिति = dht.read2 (डीएचटीपीआईएन, और अस्थायी, और उमिड, न्यूल); अगर (स्थिति == SimpleDHTErrSuccess) {तापमान = अस्थायी; उमिददे = उमिद; } // मैपेंडो ओ वेलोर दास वेरिएविस पैरा कोलोकार नो ग्रैफिको // जरूरी पोइस ओ डिस्प्ले टेम्परेचर 240 पीएक्स डी अल्तुरा ई सेपरमोस एपेनस 180 पैरा ओ ग्रैफिको // umidade पोड सेर लिडा डे 0-100 इंट टेम्परेचर मैपेडा = मैप (तापमान, 0, 100, 0, ALTURA_GRAFICO); int umidadeMapeada = map(umidade, 0, 100, 0, ALTURA_GRAFICO); // desenha na tela o ponto referente aos valores lidos do sensor M5. Lcd.drawPixel(POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-temperaturaMapeada, RED); M5. Lcd.drawPixel(POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-umidadeMapeada, CYAN); //desenha na tela o ponto रेफरेंते a nossa linha de example que fica variando M5. Lcd.drawPixel(POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-linhaExemplo, YELLOW);

फिर, हम डिस्प्ले पर ग्राफिक को प्रिंट करने की संभावनाओं को परिभाषित करते हैं।

// aqui controlamos nossa linha de exemlo, quando chega no valor máximo decrementamos o valor // at um valor minimo determinado (no nosso caso 10), e a partir daí, incrementa novamente if(linhaExemplo; == 50) fator और अगर (linhaExemlo == 10) फेटर = 1; // सोमा ओ वेलोर डे लिन्हाउदाहरण लिन्हाउदाहरण += फाटर; //incrementa o contador de leituras realizadas leituraAtual++; // से एक लीतुरा चेगर एम 270 (número máximo do eixo X) então limparemos a área do grafico para voltarmos a desenhar। if(leituraAtual == 270) {//limpa a área toda do gráfico M5. Lcd.fillRect(POS_X_GRAFICO+1, POS_Y_GRAFICO-1, COMPRIMENTO_GRAFICO, ALTURA_GRAFICO-1, BLACK); लेटुराअटुअल = १; // वोल्टा ओ कोंटाडोर डी लेइटुरा पैरा 1 (नोवा कोर्डेनाडा एक्स)} // लिम्पा ए एरिया ऑनडे कोलोकैमोस ओ वेलोर डा टेम्पेरेटुरा ई दा उमिडेड M5. Lcd.fillRect(POS_X_DADOS+50, POS_Y_DADOS, 60, 30, BLACK); M5. Lcd.fillRect(POS_X_DADOS+165, POS_Y_DADOS, 90, 30, BLACK);

// reposiciona या कर्सर के लिए एक तापमान M5. Lcd.setCursor (POS_X_DADOS+50, POS_Y_DADOS); M5. Lcd.setTextColor (लाल); M5. Lcd.print (तापमान); M5. Lcd.print((char)247); // reposiciona या कर्सर के लिए एक umidade M5. Lcd.setCursor(POS_X_DADOS+165, POS_Y_DADOS); M5. Lcd.setTextColor (सियान); M5. Lcd.print(umidade); M5. Lcd.print ("%"); देरी (1000); }

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

क्या आपको M5Stack पसंद आया? एक खरीदना चाहते हैं? यहां जाएं:

फ़ाइलें डाउनलोड करें:

पीडीएफ

मैं नहीं

सिफारिश की: