विषयसूची:

एलसीडी डिस्प्ले के साथ ESP8266 डिजिटल थर्मामीटर: 7 कदम
एलसीडी डिस्प्ले के साथ ESP8266 डिजिटल थर्मामीटर: 7 कदम

वीडियो: एलसीडी डिस्प्ले के साथ ESP8266 डिजिटल थर्मामीटर: 7 कदम

वीडियो: एलसीडी डिस्प्ले के साथ ESP8266 डिजिटल थर्मामीटर: 7 कदम
वीडियो: DIY Weather Station & WiFi Sensor Station || ESP8266, Nextion LCD 2024, जुलाई
Anonim
Image
Image
एलसीडी ग्राफिक मॉड्यूल 128x128 आरजीबी टीएफटी आईएलआई 9163C
एलसीडी ग्राफिक मॉड्यूल 128x128 आरजीबी टीएफटी आईएलआई 9163C

आज, मैं आपको दिखाऊंगा कि किसी दिए गए वास्तविक समय के वातावरण के लिए तापमान और आर्द्रता डेटा प्रदर्शित करने के लिए ESP8266 NodeMCU पर TFT LCD डिस्प्ले का उपयोग कैसे करें। मैं DHT22 के साथ डिस्प्ले का उपयोग करने का एक उदाहरण बनाता हूं, जो तापमान और आर्द्रता गेज है। इस वीडियो में, विशेष रूप से, मैं अपने डिजिटल थर्मामीटर के लिए एक कॉम्पैक्ट डिस्प्ले का उपयोग करता हूं, जो ग्राफिक है और सिस्टम पर ही निगरानी की अनुमति देता है। इसलिए, आज का उद्देश्य ESP8266 का उपयोग करके लिक्विड क्रिस्टल डिस्प्ले के संचालन के बारे में सीखना है।

चरण 1: एलसीडी ग्राफिक मॉड्यूल 128x128 आरजीबी टीएफटी आईएलआई 9163C

इस प्रोजेक्ट में हम जिस डिस्प्ले का उपयोग करते हैं वह 128x128 पिक्सल है। 0, 0 ऊपरी बाएँ कोने में है, और इस मॉडल में टेक्स्ट-प्रिंटिंग और ग्राफिक-प्रिंटिंग दोनों फ़ंक्शन हैं, जिन्हें हम बाद में देखेंगे।

चरण 2: आर्द्रता और तापमान सेंसर AM2302 DHT22

आर्द्रता और तापमान सेंसर AM2302 DHT22
आर्द्रता और तापमान सेंसर AM2302 DHT22

हम अपनी असेंबली में AM2302 DHT22 का उपयोग करेंगे, जो एक सेंसर है जो मुझे वास्तव में पसंद है, क्योंकि यह बहुत सटीक है।

चरण 3: सर्किट

सर्किट
सर्किट

प्रोजेक्ट में, हमारे पास एक ESP8266 है जो पहले से ही प्रोग्राम किया गया है और USB पावर का उपयोग कर रहा है। DHT22 डेटा और पुल-अप रोकनेवाला से ESP8266 से जुड़ा है, जो LCD डिस्प्ले को नियंत्रित करता है।

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

सभा
सभा

यहां, हमारे पास हमारी असेंबली का विद्युत आरेख है, जो NodeMCU, सेंसर और डिस्प्ले को दर्शाता है। याद रखें कि यह एक सीरियल डिस्प्ले, i2c है, जिसका उपयोग करना आसान है क्योंकि इसमें अधिक पिन हैं।

चरण 5: पुस्तकालय

पुस्तकालय
पुस्तकालय
पुस्तकालय
पुस्तकालय

चूंकि हम Arduino C भाषा के साथ डिस्प्ले को प्रोग्राम करने जा रहे हैं, हमें DHT22 लाइब्रेरी, साथ ही LCD की आवश्यकता है।

सबसे पहले, आर्द्रता और तापमान सेंसर के साथ संचार के लिए निम्नलिखित "DHT सेंसर लाइब्रेरी" लाइब्रेरी जोड़ें।

बस "स्केच >> लाइब्रेरी शामिल करें >> लाइब्रेरी प्रबंधित करें …" तक पहुंचें

अब, निम्नलिखित पुस्तकालय जोड़ें, "एडफ्रूट-जीएफएक्स-लाइब्रेरी-मास्टर।"

बस "स्केच >> लाइब्रेरी शामिल करें >> लाइब्रेरी प्रबंधित करें …" तक पहुंचें

साथ ही, LCD ग्राफिक मॉड्यूल के साथ संचार के लिए "TFT_ILI9163C" लाइब्रेरी जोड़ें।

लिंक तक पहुंचें (((((((https://github.com/sumotoy/TFT_ILI9163C)))))) और पुस्तकालय डाउनलोड करें।

फ़ाइल को अनज़िप करें और इसे Arduino IDE के लाइब्रेरी फ़ोल्डर में पेस्ट करें।

सी: / प्रोग्राम फ़ाइलें (x86) / Arduino / पुस्तकालय

चरण 6: कोड

आइए पहले उन पुस्तकालयों को जोड़ें जिनका उपयोग हमारे कोड में किया जाएगा।

#शामिल//उपयोगिता के लिए कम्युनिकर कॉम ओ मोडुलो एलसीडी#शामिल हैं

परिभाषाएं

हम प्रोग्राम के दौरान उपयोग किए जाने वाले वेरिएबल्स और ऑब्जेक्ट्स के उदाहरण के नीचे देखेंगे।

#define DHTPIN D6 // पिनो que conectaremos o sensor DHT22#define DHTTYPE DHT22 // DHT22 और o टिपो डू सेंसर क्यू यूटिलिजेरमोस (महत्वपूर्ण पैरा ओ कंस्ट्रक्टर) डीएचटी डीएचटी (डीएचटीपीआईएन, डीएचटीटीपीई); // कंस्ट्रुटर डू ओब्जेटो क्यू यूटिलिज़रेमोस पैरा से कम्युनिकर कॉम ओ सेंसर // रंग परिभाषाएं # ब्लैक 0x0000 परिभाषित करें # ब्लू 0x001F परिभाषित करें # लाल 0xF800 परिभाषित करें # ग्रीन 0x07E0 परिभाषित करें # CYAN 0x07FF परिभाषित करें # मैजेंटा 0xF81F परिभाषित करें # परिभाषित करें WELLOW # परिभाषित करें परिभाषित करें _CS D1 // पिनो क्यू कनेक्टेरेमोस ओ सीएस डू मोडुलो एलसीडी #define _DC D4 // पिनो क्यू कनेक्टेरेमोस ओ आरएस डू मोडुलो एलसीडी TFT_ILI9163C डिस्प्ले = TFT_ILI9163C (_CS, _DC); // कंस्ट्रक्टर डू ओब्जेटो क्यू यूटिलिजेरमॉस पैरा से कम्युनिकर कॉम ओ मोडुलो एलसीडी

सेट अप

सेटअप () फ़ंक्शन में, हम वेरिएबल "dht" को इनिशियलाइज़ करते हैं, जो ह्यूमिडिटी सेंसर और तापमान के साथ संचार के लिए ज़िम्मेदार है। हम "डिस्प्ले" वैरिएबल को भी इनिशियलाइज़ करेंगे जिसका उपयोग LCD मॉड्यूल के साथ संचार करने के लिए किया जाता है।

हम स्क्रीन पर ड्राइंग शुरू करने के लिए ऑब्जेक्ट को भी कॉन्फ़िगर करेंगे।

शून्य सेटअप (शून्य) {dht.begin (); // inicialização para se comunicar com o sensor display.begin(); // inicialização para se comunicar com o modulo LCD display.clearScreen(); // लिंपा ए टेला, रिमूवेंडो टूडोस ओएस डेसेनहोस डिस्प्ले। फिलस्क्रीन (ब्लैक); // पिंटा और पहले से ही डिस्प्ले.सेटटेक्स्टसाइज(2); // configura o tamanho do texto com o tamanho 2 display.setTextColor(GREEN); // configura a cor do texto como verde display.setCursor(5, 10); // पॉज़िशन या कर्सर के लिए एक एस्क्रिटा ए पार्टिर डू (एक्स, वाई) डिस्प्ले।प्रिंट ("टेम्परैटुर"); // उन्हें आगे बढ़ाएं डिस्प्ले.सेट कर्सर (22, 70); // रिपॉजिशन या कर्सर डिस्प्ले।प्रिंट ("उमिडे"); // उन्हें आगे बढ़ाएं डिस्प्ले.सेटटेक्स्टकोलर (सफेद); // कॉन्फिगुरा ए कोर डू टेक्स्टो कोमो ब्रैंको (एक पार्टिर डे अगोरा) देरी (1000); // एस्पेरा डे १ सेगुंडो }

कुंडली

लूप () फ़ंक्शन में, हम सेंसर द्वारा पढ़ी गई आर्द्रता और तापमान को पुनः प्राप्त करेंगे और विशिष्ट स्थान पर स्क्रीन पर लिखे जाएंगे। 5 सेकंड के प्रत्येक अंतराल पर, मान को सेंसर से पढ़ा जाता है और स्क्रीन पर लिखा जाता है।

शून्य लूप () { int h = dht.readHumidity (); // faz a leitura da umidade do sensor int t = dht.readTemperature(); // faz a leitura da tempatura do sensor // as 2 linhas seguintes utilizando o metodo "fillRect", são para fazer a limpeza do local onde escreveremos a umidade e a tempatura, apagaremos o valor atual para escrever novmente atualizado. डिस्प्ले.फिलरेक्ट (5, 32, 120, 20, ब्लैक); // fillRect (x, y, चौड़ाई, ऊंचाई, रंग); डिस्प्ले.फिलरेक्ट (5, 92, 120, 20, ब्लैक); डिस्प्ले.सेट कर्सर (40, 35); // रिपॉजिशन या एस्क्रेवर डिस्प्ले के लिए कर्सर।प्रिंट (टी); // एस्क्रेव ए टेम्परेचर एम टेला डिस्प्ले।प्रिंट ((चार) 247); // एस्क्रेव ओ सिम्बोलो डी ग्राउ ° एट्रावेस डी कोडिगो डिस्प्ले।प्रिंट ("सी"); // कोलोका या "सी" के लिए संकेतक क्यू é graus Celcius display.setCursor(40, 95); // रिपॉजिशन या एस्क्रेवर डिस्प्ले के लिए कर्सर।प्रिंट (एच); // एक umidade em tela display.print("%"); // एस्क्रेव ओ सिम्बोलो डे "पोरसेंटेजम" पैरा इंडिकार ए umidade देरी (5000); }

चरण 7: कुछ अन्य दिलचस्प कार्य

// स्क्रीन की सामग्री को घुमाता है (पैरामीटर 0, 1, 2 या 3)

डिस्प्ले.सेटरोटेशन (uint8_t);

// रंग प्रदर्शित करता है (नकारात्मक बनाता है)

display.invertDisplay (बूलियन);

// स्क्रीन पर स्थिति (x, y) पर एक एकल पिक्सेल खींचता है

display.drawPixel (x, y, रंग);

// स्थिति में एक लंबवत रेखा खींचता है

display.drawFastVLine (x, y, चौड़ाई, रंग);

// निर्दिष्ट स्थान पर एक लंबवत रेखा खींचता है

display.drawFastHLine (x, y, चौड़ाई, रंग);

// निर्दिष्ट स्थान पर एक क्षैतिज रेखा खींचता है

display.drawRect (x, y, चौड़ाई, ऊंचाई, रंग);

// निर्दिष्ट स्थान पर एक सर्कल बनाएं

display.drawCircle (x, y, त्रिज्या, रंग);

सिफारिश की: