สารบัญ:

เซ็นเซอร์อุณหภูมิ (LM35) เชื่อมต่อกับ ATmega32 และจอแสดงผล LCD- ระบบควบคุมพัดลมอัตโนมัติ: 6 ขั้นตอน
เซ็นเซอร์อุณหภูมิ (LM35) เชื่อมต่อกับ ATmega32 และจอแสดงผล LCD- ระบบควบคุมพัดลมอัตโนมัติ: 6 ขั้นตอน

วีดีโอ: เซ็นเซอร์อุณหภูมิ (LM35) เชื่อมต่อกับ ATmega32 และจอแสดงผล LCD- ระบบควบคุมพัดลมอัตโนมัติ: 6 ขั้นตอน

วีดีโอ: เซ็นเซอร์อุณหภูมิ (LM35) เชื่อมต่อกับ ATmega32 และจอแสดงผล LCD- ระบบควบคุมพัดลมอัตโนมัติ: 6 ขั้นตอน
วีดีโอ: ECON TV EP.2 - เขียนโปรแกรม Arduino แสดงผลบนจอ LCD 16x2 2024, ธันวาคม
Anonim
เซ็นเซอร์อุณหภูมิ (LM35) เชื่อมต่อกับ ATmega32 และจอแสดงผล LCD| ระบบควบคุมพัดลมอัตโนมัติ
เซ็นเซอร์อุณหภูมิ (LM35) เชื่อมต่อกับ ATmega32 และจอแสดงผล LCD| ระบบควบคุมพัดลมอัตโนมัติ

เซ็นเซอร์อุณหภูมิ (LM35) เชื่อมต่อกับ ATmega32 และจอแสดงผล LCD

ขั้นตอนที่ 1:

ในโครงการนี้ คุณจะได้เรียนรู้วิธีเชื่อมต่อเซ็นเซอร์อุณหภูมิ (LM35) กับไมโครคอนโทรลเลอร์ AVR ATmega32 และจอ LCD

ก่อน โครงการนี้ คุณต้องมี เรียนรู้เกี่ยวกับบทความต่อไปนี้

วิธีเพิ่มไลบรารี่ lcd ใน avr studio| กวดวิชาไมโครคอนโทรลเลอร์ avr

บทนำสู่ ADC ในไมโครคอนโทรลเลอร์ AVR | สำหรับผู้เริ่มต้น

เซ็นเซอร์อุณหภูมิ (LM35) เป็นเซ็นเซอร์อุณหภูมิยอดนิยมและราคาประหยัด Vcc สามารถมีได้ตั้งแต่ 4V ถึง 20V ตามที่ระบุไว้ในแผ่นข้อมูล ในการใช้เซ็นเซอร์ เพียงเชื่อมต่อ Vcc กับ 5V, GND กับ Ground และ Out กับหนึ่งใน ADC (ช่องสัญญาณตัวแปลงอนาล็อกเป็นดิจิตอล)

เอาต์พุตคือ 10 มิลลิโวลต์ต่อองศาเซนติเกรด ดังนั้นถ้าเอาท์พุต 310 mV อุณหภูมิจะอยู่ที่ 31 องศาเซลเซียส ในการทำโปรเจ็กต์นี้ คุณควรทำความคุ้นเคยกับ ADC ของ AVR และการใช้ LCD ด้วย ดังนั้น ความละเอียดของ AVRs ADC คือ 10 บิต และสำหรับแรงดันอ้างอิงคุณใช้ 5V ดังนั้น ความละเอียด ในแง่ของแรงดันไฟฟ้าคือ

5/1024 = 5.1mV โดยประมาณ

ดังนั้นหากผลลัพธ์ของ ADC สอดคล้องกับ 5.1mV เช่น ถ้าค่าที่อ่านได้จาก ADC คือ

10 x 5.1mV = 51mV

คุณสามารถอ่านค่าของช่องสัญญาณ ADC ใดก็ได้โดยใช้ฟังก์ชัน adc_result(ch);

โดยที่ ch คือหมายเลขช่อง (0-5) ในกรณีของ ATmega8 หากคุณเชื่อมต่อเอาท์พุตของ LM35 เข้ากับช่อง ADC 0 แล้วให้โทร

adc_result0 = adc_read(0);

สิ่งนี้จะเก็บการอ่าน ADC ปัจจุบันในตัวแปร adc_value ชนิดข้อมูลของ adc_value ควรเป็น int เนื่องจากค่า ADC สามารถอยู่ในช่วงตั้งแต่ 0-1023

ตามที่เราเห็นผลลัพธ์ของ ADC เป็นปัจจัยที่ 5.1mV และสำหรับ 1 องศา C ผลลัพธ์ของ LM35 คือ 10mV ดังนั้น ADC 2 หน่วย = 1 องศา

เพื่อให้ได้อุณหภูมิเราหาร adc_value ด้วยสอง

อุณหภูมิ = adc_result0 /2;

สุดท้ายไมโครคอนโทรลเลอร์จะแสดงอุณหภูมิเป็นองศาเซนติเกรดในจอ LCD ตัวอักษรและตัวเลขขนาด 16X2

ขั้นตอนที่ 2: แผนภาพวงจร

แผนภูมิวงจรรวม
แผนภูมิวงจรรวม

ขั้นตอนที่ 3: โปรแกรม

#ifndef F_CPU

#define F_CPU 16000000UL

#endif

#รวม

#รวม

#รวม "LCD/lcd.h"

เป็นโมฆะ adc_init()

{

// AREF = AVcc

ADMUX = (1<

// เปิดใช้งาน ADC และพรีสเกลเลอร์ 128

ADCSRA = (1<

}

// อ่านค่า adc

uint16_t adc_read (uint8_t ch)

{

// เลือกช่องที่สอดคล้องกัน 0~7

ช &= 0b00000111; // AND การดำเนินการกับ 7

ADMUX = (ADMUX & 0xF8)|ch;

// เริ่มการแปลงเดี่ยว

// เขียน '1' ไปยัง ADSC

ADCSRA |= (1<

//รอการแปลงให้เสร็จ

// ADSC กลายเป็น '0' อีกครั้ง

ในขณะที่ (ADCSRA & (1<

ผลตอบแทน (ADC);

}

int หลัก ()

{

DDRB=0xff;

uint16_t adc_result0;

อุณหภูมิภายใน;

ภายในไกล;

ถ่านบัฟเฟอร์[10];

// เริ่มต้น adc และ lcd

adc_init();

lcd_init(LCD_DISP_ON_CURSOR); //เคอร์เซอร์

lcd_clrscr();

lcd_gotoxy(0, 0);

_delay_ms(50);

ในขณะที่(1)

{

adc_result0 = adc_read(0); // อ่านค่า adc ที่ PA0

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");

_delay_ms(1000);

ถ้า(อุณหภูมิ>=30)

{lcd_clrscr();

lcd_home();

lcd_gotoxy(0, 1);

lcd_puts("เปิดพัดลม");

PORTB=(1<

}

ถ้า (อุณหภูมิ <=30)

{

lcd_clrscr();

lcd_home();

lcd_gotoxy(7, 1);

lcd_puts("ปิดพัดลม");

PORTB=(0<

}

}

}

ขั้นตอนที่ 4: รหัสอธิบาย

ฉันหวังว่าคุณจะรู้ว่าคุณจะรู้วิธีเปิดใช้งาน ADC และวิธีเชื่อมต่อ LCD กับไมโครคอนโทรลเลอร์ Avr ในรหัสนี้เมื่ออุณหภูมิมากกว่า 30 องศาจากนั้นพัดลมจะเปิดขึ้นและคุณสามารถเห็นบนจอแสดงผล LED FAN ON และเมื่ออุณหภูมิน้อยกว่า 30 แล้วพัดลม ปิดอยู่และคุณจะเห็น FAN OFF

ขั้นตอนที่ 5: คุณสามารถดาวน์โหลด Project ตัวเต็มได้

คลิกที่นี่

แนะนำ: