Mündəricat:
- Addım 1:
- Addım 2: Dövrə Şeması
- Addım 3: Proqram
- Addım 4: Kodu izah edin
- Addım 5: Tam Layihəni Yükləyə bilərsiniz
- Addım 6: Video
Video: Temperatur Sensoru (LM35) ATmega32 və LCD Ekranı ilə Əlaqələndirir - Avtomatik Fan İdarəetmə: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Temperatur Sensoru (LM35) ATmega32 və LCD Ekranı ilə əlaqə qurur
Addım 1:
Bu layihədə, AVR ATmega32 Mikrokontrolör və LCD displey ilə İstilik Sensorunun (LM35) necə əlaqələndiriləcəyini öyrənəcəksiniz.
Bu layihədən əvvəl aşağıdakı məqalələr haqqında məlumat əldə etməlisiniz
avr studiyasında lcd kitabxanasını necə əlavə etmək olar | avr mikrokontrolör dərsliyi
AVR Mikrokontrollerində ADC -yə giriş | yeni başlayanlar üçün
Temperatur Sensoru (LM35) populyar və aşağı qiymətli bir temperatur sensoru. Vcc, məlumat cədvəlində göstərildiyi kimi 4V ilə 20V arasında ola bilər. Sensordan istifadə etmək üçün Vcc -i 5V -ə, GND -ni Yerə və Çıxışı ADC -dən birinə (analogdan rəqəmsal çevirici kanalına) qoşmaq kifayətdir.
Çıxış dərəcəsi santigrat üçün 10MilliVoltsdur. Beləliklə, çıxış 310 mV -dirsə, temperatur 31 dərəcədir. Bu layihəni həyata keçirmək üçün AVR -lərin ADC -si ilə tanış olmalısınız və LCD -dən istifadə etməlisiniz, beləliklə AVR -lərin ADC -nin həlli 10bit, istinad gərginliyi üçün isə 5V -dən istifadə edirsiniz. gərginlik baxımından
Təxminən 5/1024 = 5.1mV
Beləliklə, əgər ADC -nin nəticəsi 5.1mV -ə uyğundursa, yəni ADC oxunmasıdırsa
10 x 5.1 mV = 51 mV
Adc_result (ch) funksiyasından istifadə edərək hər hansı bir ADC kanalının dəyərini oxuya bilərsiniz;
ATmega8 vəziyyətində ch kanal nömrəsidir (0-5). LM35 -in ADC kanalına 0 qoşduğunuz halda zəng edin
adc_result0 = adc_read (0);
bu, mövcud ADC oxunmasını adc_value dəyişənində saxlayacaq. ADC dəyəri 0-1023 arasında dəyişə biləcəyi üçün adc_value məlumat növü int olmalıdır.
Gördüyümüz kimi ADC nəticələri 5.1mV faktordur və 1 dərəcə C üçün LM35 -in çıxışı 10mV -dir, buna görə 2 ədəd ADC = 1 dərəcədir.
İstiliyi əldə etmək üçün adc_value'yi ikiyə bölürük
temperatur = adc_result0 /2;
Nəhayət, mikro nəzarətçi 16X2 alfasayısal LCD -də temperaturu santigrat dərəcəsində göstərəcək.
Addım 2: Dövrə Şeması
Addım 3: Proqram
#ifndef F_CPU
#F_CPU 1600000UL təyin edin
#endif
#daxil edin
#daxil edin
#"LCD/lcd.h" daxil edin
boş adc_init ()
{
// AREF = AVcc
ADMUX = (1 <
// ADC Enable və 128 -in prescaler
ADCSRA = (1 <
}
// adc dəyərini oxuyun
uint16_t adc_read (uint8_t ch)
{
// müvafiq kanalı seçin 0 ~ 7
ch & = 0b00000111; // VƏ 7 ilə əməliyyat
ADMUX = (ADMUX & 0xF8) | ch;
// tək çevrilməyə başlayın
// ADSC -ə '1' yazın
ADCSRA | = (1 <
// dönüşümün tamamlanmasını gözləyin
// ADSC yenidən '0' olur
isə (ADCSRA & (1 <
qayıt (ADC);
}
int main ()
{
DDRB = 0xff;
uint16_t adc_result0;
int tempi;
int far;
char tamponu [10];
// adc və lcd -ni işə salın
adc_init ();
lcd_init (LCD_DISP_ON_CURSOR); // KURSOR
lcd_clrscr ();
lcd_gotoxy (0, 0);
_delay_ms (50);
vaxt (1)
{
adc_result0 = adc_read (0); // PA0 -da adc dəyərini oxuyun
temp = adc_result0/2.01; // temperaturun tapılması
// lcd_gotoxy (0, 0);
// lcd_puts ("Adc =");
// itoa (adc_result0, tampon, 10); // ADC dəyərini göstərin
// lcd_puts (tampon);
lcd_gotoxy (0, 0);
itoa (temperatur, tampon, 10);
lcd_puts ("Temp ="); // ekran temperaturu
lcd_puts (tampon);
lcd_gotoxy (7, 0);
lcd_puts ("C");
uzaq = (1.8*temp) +32;
lcd_gotoxy (9, 0);
itoa (uzaq, tampon, 10);
lcd_puts (tampon);
lcd_gotoxy (12, 0);
lcd_puts ("F");
_delay_ms (1000);
əgər (temp> = 30)
{lcd_clrscr ();
lcd_home ();
lcd_gotoxy (0, 1);
lcd_puts ("FAN AÇIQ");
PORTB = (1 <
}
əgər (temp <= 30)
{
lcd_clrscr ();
lcd_home ();
lcd_gotoxy (7, 1);
lcd_puts ("FAN OFF");
PORTB = (0 <
}
}
}
Addım 4: Kodu izah edin
Ümid edirəm ki, biləcəksiniz ki ADC -ni necə aktivləşdirəcəyinizi və temperatur 30 dərəcədən yuxarı olduqda fan işləyərkən Avr Microcontroller ilə LCD -ni necə əlaqələndirə biləcəyinizi və LED FAN AÇIĞI açıldığını və Temperatur 30 -dan sonra olduqda fan olduğunu görə bilərsiniz. söndürüldü və FAN OFF -ı görə bilərsiniz
Addım 5: Tam Layihəni Yükləyə bilərsiniz
Bura basın
Tövsiyə:
TMP36 Temperatur Sensoru və Arduino (Tinkercad) istifadə edərək LCD Ekranı: 7 addım
TMP36 Temperatur Sensoru və Arduino (Tinkercad) istifadə edərək LCD Ekranı: Hər kəsə Salam! UQD0801 (Robocon 1) tədris proqramımızın bir hissəsi olaraq Tinkercad istifadə edərək bir temperatur sensoru, bir lcd və bir Arduino simulyasiya edə biləcəyimizi nümayiş etdirmək üçün bir layihə həyata keçirən Tun Tun Hüseyn Onn Malayziya Universitetinin (UTHM) tələbələriyik
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə - 433mhz ilə HT12E və HT12D istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: 5 addım
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə | HT12E və HT12D -dən 433mhz istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: Bu təlimatda sizə HT12E kodlu 433mhz ötürücü qəbuledici modulu istifadə edərək RADIO uzaqdan idarə etməyi göstərəcəyəm. HT12D kod deşifratoru IC. Bu təlimatda çox ucuz komponentləri istifadə edərək məlumat göndərə və ala bilərsiniz: HT
Arduino Nano və I2C LCD ilə iki DS18B20 Temperatur Sensoru: 5 addım
Arduino Nano və I2C LCD ilə iki DS18B20 Temperatur Sensoru: Bu gün sizə Arduino Nano Clone və I2C LCD ilə iki temperatur sensoru DS18B20 -nin necə qurulacağını göstərmək istəyirəm. I2C xoşagəlməzdir. Arduino IDE 1.8.8 istifadə edirəm // Pouziv
Arduino Temperatur Sensoru (LM35): 4 addım
Arduino Temperatur Sensoru (LM35): Bu layihədə sizə LM35 və Arduino interfeysindən istifadə edərək Temperaturun necə ölçüləcəyini göstərəcəyəm. Gəlin başlayaq
Elektrikli Cihazlarınızı Temperatur və Nəmlik Ekranı ilə Tv Uzaqdan (Uzaqdan) idarə edin: 9 Addım
Elektrikli Cihazlarınızı Tv Uzaqdan (Uzaqdan Uzaqdan) İstilik və Rütubət Ekranı ilə idarə edin: salam Mən Abhayam və Instructables -dakı ilk blogumdur və bu gün bunu quraraq televizorunuzun pultu ilə elektrik cihazlarınızı necə idarə edəcəyinizi sizə göstərəcəyəm. sadə layihə. materiala dəstək verdiyinə görə atl laboratoriyasına təşəkkür edirəm