Агуулгын хүснэгт:
- 1-р алхам:
- Алхам 2: Хэлхээ диаграм
- Алхам 3: Хөтөлбөр
- Алхам 4: Код тайлбарлах
- Алхам 5: Та төслийг бүрэн татаж авах боломжтой
- Алхам 6: Видео
Видео: Температур мэдрэгч (LM35) ATmega32 болон LCD дэлгэцтэй харилцах - Автомат сэнсний хяналт: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Температур мэдрэгч (LM35) ATmega32 болон LCD дэлгэцтэй харилцах
1-р алхам:
Энэхүү төсөлд та температурын мэдрэгч (LM35) -ийг AVR ATmega32 микроконтроллер ба LCD дэлгэцээр хэрхэн холбох талаар сурах болно.
Энэхүү төслийн өмнө та дараах нийтлэлүүдийн талаар олж мэдэх хэрэгтэй
avr студид lcd номын санг хэрхэн нэмэх вэ | avr микроконтроллерийн заавар
AVR микроконтроллер дахь ADC -ийн танилцуулга | эхлэгчдэд зориулсан
Температур мэдрэгч (LM35) нь түгээмэл бөгөөд хямд өртөгтэй температур мэдрэгч юм. Мэдээллийн хүснэгтэд заасны дагуу Vcc нь 4V -аас 20V хүртэл байж болно. Мэдрэгчийг ашиглахын тулд Vcc -ийг 5V -д, GND -ийг газардуулаад ADC -ийн аль нэгэнд (дижитал хөрвүүлэгчийн аналог суваг) холбоно уу.
Нэг градусын центр тутамд гаралт нь 10 МиллиВольт байна. Тиймээс хэрэв гаралт нь 310 мВ бол температур нь 31 градус байна. Энэ төслийг хийхийн тулд та AVR -ийн ADC -тэй танилцах хэрэгтэй бөгөөд LCD ашиглах ёстой. хүчдэлийн хувьд
5/1024 = 5.1mV ойролцоогоор
Хэрэв ADC -ийн үр дүн 5.1mV -тэй тохирч байвал ADC -ийн уншилт нь ижил байх болно
10х5.1мВ = 51мВ
Та adc_result (ch) функцийг ашиглан ADC сувгийн утгыг унших боломжтой;
Энд ch нь ATmega8-ийн хувьд сувгийн дугаар (0-5) юм. Хэрэв та LM35 гаралтыг ADC суваг 0 -т холбосон бол залгаарай
adc_result0 = adc_read (0);
энэ нь ADC -ийн одоогийн уншилтыг adc_value хувьсагчид хадгалах болно. ADC утга 0-1023 хооронд хэлбэлзэж болох тул adc_value өгөгдлийн төрөл int байх ёстой.
Бидний харж байгаагаар ADC -ийн үр дүн 5.1 мВ -ийн хүчин зүйлтэй бөгөөд 1 градусын хувьд LM35 -ийн гаралт нь 10 мВ байдаг тул ADC -ийн 2 нэгж = 1 градус байна.
Тиймээс температурыг авахын тулд adc_value -ийг хоёр хуваадаг
температур = adc_result0 /2;
Эцэст нь микроконтроллер нь 16X2 үсэг, тоон LCD дээр температурыг нэг градусаар харуулна.
Алхам 2: Хэлхээ диаграм
Алхам 3: Хөтөлбөр
#ifndef F_CPU
#тодорхойлох F_CPU 1600000UL
#endif
#оруулах
#оруулах
#"LCD/lcd.h" оруулах
хүчингүй adc_init ()
{
// AREF = AVcc
ADMUX = (1 <
// ADC 128 -ийг идэвхжүүлж, урьдчилан тооцоолох
ADCSRA = (1 <
}
// adc утгыг уншина уу
uint16_t adc_read (uint8_t ch)
{
// харгалзах сувгийг сонгоно уу 0 ~ 7
ch & = 0b00000111; // AND 7 -той ажиллах
ADMUX = (ADMUX & 0xF8) | ch;
// ганц хөрвүүлэлтийг эхлүүлэх
// ADSC рүү '1' гэж бичнэ үү
ADCSRA | = (1 <
// хөрвүүлэлт дуусахыг хүлээнэ үү
// ADSC дахин '0' болно
байхад (ADCSRA & (1 <
буцах (ADC);
}
int main ()
{
DDRB = 0xff;
uint16_t adc_result0;
int температур;
int far;
char буфер [10];
// adc болон lcd -ийг эхлүүлэх
adc_init ();
lcd_init (LCD_DISP_ON_CURSOR); // Курсор
lcd_clrscr ();
lcd_gotoxy (0, 0);
_хойшлох_ms (50);
байхад (1)
{
adc_result0 = adc_read (0); // PA0 дээр adc утгыг уншина уу
temp = adc_result0/2.01; // температурыг олох
// lcd_gotoxy (0, 0);
// lcd_puts ("Adc =");
// itoa (adc_result0, буфер, 10); // ADC утгыг харуулна
// lcd_puts (буфер);
lcd_gotoxy (0, 0);
itoa (температур, буфер, 10);
lcd_puts ("Temp ="); // дэлгэцийн температур
lcd_puts (буфер);
lcd_gotoxy (7, 0);
lcd_puts ("C");
хол = (1.8*температур) +32;
lcd_gotoxy (9, 0);
itoa (хол, буфер, 10);
lcd_puts (буфер);
lcd_gotoxy (12, 0);
lcd_puts ("F");
_хойшлох_ms (1000);
хэрэв (температур> = 30)
{lcd_clrscr ();
lcd_home ();
lcd_gotoxy (0, 1);
lcd_puts ("FAN ON");
PORTB = (1 <
}
хэрэв (температур <= 30)
{
lcd_clrscr ();
lcd_home ();
lcd_gotoxy (7, 1);
lcd_puts ("FAN OFF");
PORTB = (0 <
}
}
}
Алхам 4: Код тайлбарлах
Хэрэв та 30 градусаас дээш температуртай бол сэнс асаалттай байгаа үед та ADC -ийг хэрхэн идэвхжүүлэх, Avr микроконтроллероор LCD -ийг хэрхэн холбох талаар мэдэх болно гэдгийг мэдэж байгаа гэж найдаж байна. унтраалттай байгаа бөгөөд та FAN OFF -ийг харах боломжтой
Алхам 5: Та төслийг бүрэн татаж авах боломжтой
Энд дар
Зөвлөмж болгож буй:
ESP8266 дээрх BBQ температур ба махны мэдрэгч дэлгэцтэй: 5 алхам (зурагтай)
ESP8266 дээрх BBQ -ийн температур ба махны мэдрэгч дэлгэцтэй: Энэхүү зааврын дагуу би шарсан махныхаа одоогийн температурыг хэмжиж, шаардлагатай бол асаахын тулд сэнс асааж, шарах хэрэгслийн өөрийн хувилбарыг хэрхэн хийхийг танд үзүүлэх болно. Нэмж дурдахад махны үндсэн температур мэдрэгч attac байдаг
ESP32 болон AskSensors Cloud ашиглан өрөөний температур ба чийгшлийн хяналт: 6 алхам
ESP32 болон AskSensors Cloud ашиглан өрөөний температур ба чийгшлийн хяналт: Энэхүү гарын авлагад та үүлэнд холбогдсон DHT11 болон ESP32 -ийг ашиглан өрөөнийхөө температур, чийгшлийг хэрхэн хянах талаар сурах болно. Тодорхойлолт: DHT11 мэдрэгч нь температурыг хэмжих чадвартай
ESP8266 болон AskSensors IoT платформ ашиглан DHT -ийн температур ба чийгшлийн хяналт: 8 алхам
ESP8266 болон AskSensors IoT платформыг ашиглан DHT -ийн температур ба чийгшлийн хяналт: Өмнөх зааварчилгаанд би ESP8266 nodeMCU болон AskSensors IoT платформыг эхлүүлэх алхам алхмаар гарын авлагыг танилцуулсан. Энэ хичээлд би DHT11 мэдрэгчийг холбож байна. MCU зангилаа руу. DHT11 бол түгээмэл хэрэглэгддэг температур ба чийгшил юм
Arduino болон Lcd дэлгэцтэй температур ба чийгшил мэдрэгч: 4 алхам
Температур ба чийгшил мэдрэгч нь Arduino болон Lcd дэлгэцтэй: Сайн байна уу залуусаа, Artuino -д тавтай морилно уу. Таныг харсан шиг би InstructableToday -ийг эхлүүлсэн бөгөөд бид температурыг бий болгох гэж байна. DHT11 модультай чийгшил хэмжигч. Эхлээд үзье. Видеог захиалах, лайк дарах талаар бодож үзээрэй
Arduino болон Nokia 5110 дэлгэцтэй DIY хөрсний чийгийн хяналт: 6 алхам (зурагтай)
Arduino болон Nokia 5110 дэлгэцтэй DIY хөрсний чийгийн хяналт: Энэхүү зааварчилгаанд бид Arduino ашиглан том Nokia 5110 LCD дэлгэц бүхий маш ашигтай хөрсний чийгийн мониторыг хэрхэн бүтээх талаар үзэх болно. Arduino -оосоо ургамлын хөрсний чийгийн түвшинг хялбархан хэмжиж, сонирхолтой төхөөрөмжүүдийг бүтээгээрэй