विषयसूची:
- चरण 1:
- चरण 2: सर्किट आरेख
- चरण 3: कार्यक्रम
- चरण 4: कोड समझाएं
- चरण 5: आप पूरी परियोजना डाउनलोड कर सकते हैं
- चरण 6: वीडियो
वीडियो: तापमान सेंसर (LM35) ATmega32 और LCD डिस्प्ले के साथ इंटरफेसिंग - स्वचालित पंखा नियंत्रण: 6 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
तापमान सेंसर (LM35) ATmega32 और LCD डिस्प्ले के साथ इंटरफेसिंग
चरण 1:
इस परियोजना में, आप सीखेंगे कि AVR ATmega32 माइक्रोकंट्रोलर और LCD डिस्प्ले के साथ तापमान सेंसर (LM35) को कैसे इंटरफ़ेस किया जाए।
इस परियोजना से पहले आपको निम्नलिखित लेखों के बारे में जानना होगा
एवीआर स्टूडियो में एलसीडी लाइब्रेरी कैसे जोड़ें| avr माइक्रोकंट्रोलर ट्यूटोरियल
AVR माइक्रोकंट्रोलर में ADC का परिचय | नौसिखिये के लिए
तापमान संवेदक (LM35) एक लोकप्रिय और कम लागत वाला तापमान संवेदक है। डेटाशीट द्वारा निर्दिष्ट Vcc 4V से 20V तक हो सकता है। सेंसर का उपयोग करने के लिए बस Vcc को 5V, GND को ग्राउंड और आउट को ADC (डिजिटल कनवर्टर चैनल के अनुरूप) में से एक से कनेक्ट करें।
आउटपुट 10MilliVolts प्रति डिग्री सेंटीग्रेड है। तो अगर आउटपुट 310 एमवी है तो तापमान 31 डिग्री सेल्सियस है। इस परियोजना को बनाने के लिए आपको एवीआर के एडीसी से परिचित होना चाहिए और एलसीडी का भी उपयोग करना चाहिए। इसलिए एवीआर एडीसी का संकल्प 10 बिट है और संदर्भ वोल्टेज के लिए आप 5 वी का उपयोग कर रहे हैं, इसलिए संकल्प वोल्टेज के संदर्भ में है
5/1024 = 5.1mV लगभग
इसलिए यदि ADC का परिणाम 5.1mV से मेल खाता है अर्थात यदि ADC रीडिंग है
10 x 5.1mV = 51mV
आप फ़ंक्शन का उपयोग करके किसी भी एडीसी चैनल का मूल्य पढ़ सकते हैं adc_result(ch);
ATmega8 के मामले में जहां ch चैनल नंबर (0-5) है। यदि आपने LM35 के आउटपुट को ADC चैनल 0 से कनेक्ट किया है तो कॉल करें
adc_result0 = adc_read(0);
यह वर्तमान एडीसी रीडिंग को वेरिएबल adc_value में स्टोर करेगा। डेटा प्रकार adc_value int होना चाहिए क्योंकि ADC मान 0-1023 तक हो सकता है।
जैसा कि हमने देखा कि ADC परिणाम 5.1mV के कारक में हैं और 1 डिग्री C के लिए LM35 का आउटपुट 10mV है, इसलिए ADC की 2 इकाइयाँ = 1 डिग्री।
तो तापमान प्राप्त करने के लिए हम adc_value को दो से विभाजित करते हैं
तापमान = adc_result0 /2;
अंत में माइक्रोकंट्रोलर 16X2 अल्फ़ान्यूमेरिक एलसीडी में तापमान को डिग्री सेंटीग्रेड में प्रदर्शित करेगा।
चरण 2: सर्किट आरेख
चरण 3: कार्यक्रम
#ifndef F_CPU
# परिभाषित करें F_CPU १६०००००UL
#अगर अंत
#शामिल
#शामिल
#शामिल "एलसीडी/एलसीडी.एच"
शून्य adc_init ()
{
// अरेफ = AVcc
एडीएमयूएक्स = (1<
// एडीसी 128. का सक्षम और प्रीस्कूलर
एडीसीएसआरए = (1<
}
// एडीसी मूल्य पढ़ें
uint16_t adc_read(uint8_t ch)
{
// संबंधित चैनल का चयन करें 0~7
सीएच &= 0b00000111; // और 7. के साथ संचालन
ADMUX = (ADMUX और 0xF8)|ch;
// एकल रूपांतरण शुरू करें
// ADSC को '1' लिखें
एडीसीएसआरए |= (1<
// रूपांतरण पूरा होने की प्रतीक्षा करें
// ADSC फिर से '0' बन जाता है
जबकि (एडीसीएसआरए और (1<.)
वापसी (एडीसी);
}
मुख्य प्रवेश बिंदु()
{
डीडीआरबी = 0xff;
uint16_t adc_result0;
अंतर अस्थायी;
अंतर दूर;
चार बफर [10];
// एडीसी और एलसीडी को इनिशियलाइज़ करें
adc_init ();
LCD_init (LCD_DISP_ON_CURSOR); // कर्सर
LCD_clrscr ();
एलसीडी_गोटॉक्सी (0, 0);
_delay_ms(50);
जबकि(1)
{
adc_result0 = adc_read(0); // PA0 पर adc मान पढ़ें
अस्थायी=adc_result0/2.01; // तापमान का पता लगाना
// एलसीडी_गोटॉक्सी (0, 0);
// एलसीडी_पुट्स ("एडीसी =");
// इतोआ (adc_result0, बफर, 10); // एडीसी मूल्य प्रदर्शित करें
// एलसीडी_पुट्स (बफर);
एलसीडी_गोटॉक्सी (0, 0);
itoa (अस्थायी, बफर, 10);
LCD_puts ("अस्थायी ="); // प्रदर्शन तापमान
LCD_puts (बफर);
एलसीडी_गोटॉक्सी (7, 0);
LCD_puts ("सी");
दूर = (1.8 * अस्थायी) +32;
एलसीडी_गोटॉक्सी (9, 0);
itoa (दूर, बफर, 10);
LCD_puts (बफर);
एलसीडी_गोटॉक्सी(12, 0);
LCD_puts ("एफ");
_delay_ms (1000);
अगर (अस्थायी> = 30)
{एलसीडी_सीएलआरएससीआर ();
एलसीडी_होम ();
एलसीडी_गोटॉक्सी (0, 1);
LCD_puts ("फैन ऑन");
PORTB=(1<
}
अगर (अस्थायी<=30)
{
LCD_clrscr ();
एलसीडी_होम ();
एलसीडी_गोटॉक्सी (7, 1);
LCD_puts ("प्रशंसक बंद");
PORTB=(0<
}
}
}
चरण 4: कोड समझाएं
मुझे आशा है कि आप जानते होंगे कि एडीसी को कैसे सक्षम किया जाता है और इस कोड में एवीआर माइक्रोकंट्रोलर के साथ एलसीडी को कैसे इंटरफ़ेस किया जाता है जब तापमान 30 डिग्री से अधिक होता है तो पंखा चालू होता है और आप एलईडी डिस्प्ले पर देख सकते हैं FAN ON और जब तापमान कम होता है तो पंखा बंद है और आप पंखा बंद देख सकते हैं
चरण 5: आप पूरी परियोजना डाउनलोड कर सकते हैं
यहाँ क्लिक करें
सिफारिश की:
Arduino और ESP8266 के साथ DS18B20 तापमान सेंसर इंटरफेसिंग: 8 कदम
Arduino और ESP8266 के साथ DS18B20 तापमान सेंसर को इंटरफेस करना: अरे, क्या चल रहा है, दोस्तों! यहाँ CETech से आकर्ष। आज हम अपने शस्त्रागार में एक नया सेंसर जोड़ने जा रहे हैं जिसे DS18B20 तापमान सेंसर के रूप में जाना जाता है। यह DHT11 के समान एक तापमान संवेदक है, लेकिन इसमें अनुप्रयोगों का एक अलग सेट है। हम इसकी तुलना करेंगे
अल्ट्रासोनिक सेंसर और संपर्क रहित तापमान सेंसर के साथ Arduino इंटरफेसिंग: 8 कदम
अल्ट्रासोनिक सेंसर और संपर्क रहित तापमान सेंसर के साथ Arduino इंटरफेसिंग: आजकल, निर्माताओं, डेवलपर्स परियोजनाओं के प्रोटोटाइप के तेजी से विकास के लिए Arduino को प्राथमिकता दे रहे हैं। Arduino एक ओपन-सोर्स इलेक्ट्रॉनिक्स प्लेटफॉर्म है जो उपयोग में आसान हार्डवेयर और सॉफ्टवेयर पर आधारित है। Arduino का उपयोगकर्ता समुदाय बहुत अच्छा है। इस प्रॉजेक्ट में
Arduino Uno के साथ LM35 तापमान सेंसर का उपयोग करके तापमान पढ़ना: 4 कदम
Arduino Uno के साथ LM35 तापमान सेंसर का उपयोग करके तापमान पढ़ना: हाय दोस्तों इस निर्देश में हम सीखेंगे कि Arduino के साथ LM35 का उपयोग कैसे करें। Lm35 एक तापमान संवेदक है जो -55°c से 150°C तक तापमान मान पढ़ सकता है। यह एक 3-टर्मिनल डिवाइस है जो तापमान के समानुपाती एनालॉग वोल्टेज प्रदान करता है। उच्च
Arduino और LCD डिस्प्ले के साथ तापमान और आर्द्रता सेंसर: 4 कदम
Arduino और LCD डिस्प्ले के साथ तापमान और आर्द्रता सेंसर: नमस्कार दोस्तों, Artuino में आपका स्वागत है। जैसा कि आपने देखा है कि मैंने एक निर्देश योग्य शुरुआत की हैआज हम एक तापमान और amp बनाने जा रहे हैं; DHT11 मॉड्यूल के साथ आर्द्रता मीटर। आइए शुरू करें पी.एस. वीडियो को सब्सक्राइब और लाइक करने पर विचार करें
7 सेगमेंट डिस्प्ले के साथ 8051 माइक्रोकंट्रोलर इंटरफेसिंग: 5 कदम (चित्रों के साथ)
7 सेगमेंट डिस्प्ले के साथ 8051 माइक्रोकंट्रोलर इंटरफेस करना: इस प्रोजेक्ट में हम आपको बताने जा रहे हैं कि हम 8051 माइक्रोकंट्रोलर के साथ 7 सेगमेंट डिस्प्ले को कैसे इंटरफेस कर सकते हैं