Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14
Harorat sensori (LM35) ATmega32 va LCD displey bilan o'zaro aloqa
1 -qadam:
Ushbu loyihada siz AVR ATmega32 mikrokontroller va LCD displey bilan harorat sensori (LM35) bilan qanday ishlashni o'rganasiz.
Loyihadan oldin siz quyidagi maqolalar haqida ma'lumotga ega bo'lishingiz kerak
avr studiyasida lcd kutubxonasini qanday qo'shish mumkin | avr mikrokontroller bo'yicha qo'llanma
AVR mikrokontrolleridagi ADC -ga kirish | yangi boshlanuvchilar uchun
Harorat sensori (LM35) - mashhur va arzon narxdagi harorat sensori. Ma'lumotlar jadvalida ko'rsatilganidek, VC 4V dan 20V gacha bo'lishi mumkin. Sensorni ishlatish uchun Vccni 5V ga, GND ni erga va tashqariga ADC (analogdan raqamli konvertor kanaliga) ulang.
Chiqish har bir santigrat gradusiga 10 MiliVolts. Shunday qilib, agar chiqish quvvati 310 mV bo'lsa, harorat 31 darajani tashkil qiladi. Ushbu loyihani amalga oshirish uchun siz AVR -larning ADC -ni, shuningdek, LCD -ni ishlatishingiz kerak. kuchlanish jihatidan
Taxminan 5/1024 = 5.1 mV
Shunday qilib, agar ADC natijasi 5.1 mV ga to'g'ri kelsa, ya'ni ADC ko'rsatkichi bo'lsa
10 x 5,1 mV = 51 mV
Adc_result (ch) funktsiyasidan foydalanib, har qanday ADC kanalining qiymatini o'qishingiz mumkin;
Bu erda ch-ATmega8 holatida kanal raqami (0-5). Agar siz LM35 -ni ADC -0 kanaliga ulagan bo'lsangiz, qo'ng'iroq qiling
adc_result0 = adc_read (0);
bu joriy ADC o'qilishini adc_value o'zgaruvchisida saqlaydi. Adc_value ma'lumot turi int bo'lishi kerak, chunki ADC qiymati 0-1023 gacha bo'lishi mumkin.
Ko'rib turganimizdek, ADC natijalari 5,1 mV omil va 1 daraja C uchun LM35 chiqishi 10 mV, shuning uchun 2 birlik ADC = 1 daraja.
Shunday qilib, haroratni olish uchun biz adc_value ni ikkiga bo'lamiz
harorat = adc_result0 /2;
Nihoyat, mikrokontroller 16X2 raqamli raqamli LCD displeyda haroratni santigrat darajasida ko'rsatadi.
2 -qadam: O'chirish diagrammasi
3 -qadam: Dastur
#ifndef F_CPU
#F_CPU 1600000UL ni aniqlang
#endif
#qo'shing
#qo'shing
#"LCD/lcd.h" ni qo'shing
yaroqsiz adc_init ()
{
// AREF = AVcc
ADMUX = (1 <
// ADC 128 -ni yoqish va oldindan hisoblash vositasi
ADCSRA = (1 <
}
// adc qiymatini o'qing
uint16_t adc_read (uint8_t ch)
{
// tegishli kanalni tanlang 0 ~ 7
ch & = 0b00000111; // VA 7 bilan ishlash
ADMUX = (ADMUX & 0xF8) | ch;
// bitta konvertatsiyani boshlang
// ADSCga '1' yozing
ADCSRA | = (1 <
// konvertatsiya tugashini kuting
// ADSC yana "0" ga aylanadi
esa (ADCSRA & (1 <
qaytish (ADC);
}
int main ()
{
DDRB = 0xff;
uint16_t adc_result0;
int temp;
int far;
char bufer [10];
// adc va lcd -ni ishga tushiring
adc_init ();
lcd_init (LCD_DISP_ON_CURSOR); // KURSOR
lcd_clrscr ();
lcd_gotoxy (0, 0);
_delay_ms (50);
vaqt (1)
{
adc_result0 = adc_read (0); // PA0 da adc qiymatini o'qing
temp = adc_result0/2.01; // haroratni topish
// lcd_gotoxy (0, 0);
// lcd_puts ("Adc =");
// itoa (adc_result0, bufer, 10); // ADC qiymatini ko'rsatish
// lcd_puts (bufer);
lcd_gotoxy (0, 0);
itoa (harorat, bufer, 10);
lcd_puts ("Harorat ="); // displey harorati
lcd_puts (bufer);
lcd_gotoxy (7, 0);
lcd_puts ("C");
uzoq = (1,8*harorat) +32;
lcd_gotoxy (9, 0);
itoa (uzoq, bufer, 10);
lcd_puts (bufer);
lcd_gotoxy (12, 0);
lcd_puts ("F");
_delay_ms (1000);
agar (temp> = 30)
{lcd_clrscr ();
lcd_home ();
lcd_gotoxy (0, 1);
lcd_puts ("FAN yoqilgan");
PORTB = (1 <
}
agar (temp <= 30)
{
lcd_clrscr ();
lcd_home ();
lcd_gotoxy (7, 1);
lcd_puts ("FAN o'chirilgan");
PORTB = (0 <
}
}
}
4 -qadam: Kodni tushuntiring
Umid qilamanki, siz bu kodda ADC -ni qanday yoqish va LCD -ni Avr mikrokontrolder bilan qanday bog'lashni bilasiz deb umid qilaman, agar harorat 30 darajadan oshsa, fan yoqilgan va siz LED displeyida FAN yoqilganligini, harorat esa 30 dan past bo'lganida ko'rishingiz mumkin. o'chirilgan va siz FAN OFF ni ko'rishingiz mumkin
5 -qadam: Siz to'liq loyihani yuklab olishingiz mumkin
Bu yerni bosing
Tavsiya:
Arduino bilan o'zaro aloqa qiladigan gaz sensori: 4 qadam
Arduino bilan o'zaro bog'langan gaz sensori: MQ-2 tutun sensori tutunga va quyidagi yonuvchan gazlarga sezgir: LPG, butan, propan, metan, alkogol, vodorod. Sensorning qarshiligi gaz turiga qarab farq qiladi. Tutun sensori o'rnatilgan potentsiometrga ega
M4 LCD displeyi bilan o'zaro aloqa: 5 qadam
LCD displeyli M4 bilan o'zaro aloqa M4 Qo'shish: Bu qo'llanma LCD displeyni smartfonimizdan Wi-Fi orqali boshqarishga imkon beradi, agar bizda haydovchimiz bo'lmasa, biz arduino-dan foydalanishimiz mumkin, lekin Drivemall-ni ishlab chiqish havolasi ostida. Drivemall -ni kla -dan ustun qo'yish
Arduino va ESP8266 bilan o'zaro ta'sirlashuvchi DS18B20 harorat sensori: 8 qadam
DS18B20 harorat sensori Arduino va ESP8266 bilan o'zaro bog'liq: Hey, nima bo'ldi, bolalar! Akarsh bu erda CETech -dan. Bugun biz o'z arsenalimizga DS18B20 harorat sensori deb nomlanuvchi yangi sensorni qo'shamiz. Bu DHT11 ga o'xshash harorat sensori, lekin boshqa ilovalar to'plamiga ega. Biz buni taqqoslaymiz
Tinkercad -dagi Arduino bilan o'zaro bog'liq LCD displey: 5 qadam
Tinkercad -da Arduino bilan interfeysli LCD: Ushbu maqoladagi kod Hitachi HD44780 standart drayverini ishlatadigan LCD -lar uchun yozilgan. Agar sizning LCD displeyingizda 16 ta pin bo'lsa, unda Hitachi HD44780 drayveri bo'lishi mumkin. Ushbu displeylar 4 bitli yoki 8 bitli rejimda ulanishi mumkin. LCD -ni 4 soniyada ulash
Sujay tomonidan Arduino yordamida DHT11 bilan o'zaro aloqa: 5 qadam
Sujay Arduino -dan foydalanib DHT11 -ni o'zaro bog'lash: Ushbu yo'riqnomada siz Arduino UNO -da DHT11 namlik va harorat sensori qanday o'rnatilishini bilib olasiz. Namlik sensori qanday ishlashi va ketma -ket monitordan chiqish ko'rsatkichlarini tekshirish haqida bilib oling Tavsif: DHT11