Saturday, November 22, 2014

LM35 Sensor with pic 16f887 and LCD 16x2

Posted by dientudieukhien at 5:10 PM 0 Comments

Project đo và hiển thị nhiệt độ lên LCD 16x2, sử dụng cảm biến LM35 và vi điều khiển Pic 16f887.

Cách chuyển đổi giá trị Adc đọc từ cảm biến nhiệt LM35 sang độ C.
  • Ở đây ta sử dụng 1.5V làm Vref (ngõ ra cảm  biến LM35 tăng 10mv/1 độ C, nhiệt độ max 150 độ = 1500mv=1.5V)
  • ADCres = 1.5/1024 = 0.0014648 (do ADC 10bit nên 2^10=1024)
  • Tempc = value_adc*ADCres/0.01 = value_adc*0.14648
Sơ đồ nguyên lý khá đơn giản như sau:
Cảm biến nhiệt độ LM35 và LCD 16x2
LM35 with pic 16f887 and LCD 16x2
Code:
/*Project covert adc from sensor LM35, processing and display value on lcd.
 Author: Minh Trung
 Site: http://dientudieukhien.net
 */
//CONFIG LCD
sbit LCD_RS at RD4_bit;
sbit LCD_EN at RD5_bit;
sbit LCD_D7 at RD0_bit;
sbit LCD_D6 at RD1_bit;
sbit LCD_D5 at RD2_bit;
sbit LCD_D4 at RD3_bit;

sbit LCD_RS_Direction at TRISD4_bit;
sbit LCD_EN_Direction at TRISD5_bit;
sbit LCD_D7_Direction at TRISD0_bit;
sbit LCD_D6_Direction at TRISD1_bit;
sbit LCD_D5_Direction at TRISD2_bit;
sbit LCD_D4_Direction at TRISD3_bit;
//END CONFIG LCD
unsigned int value_adc=0;
unsigned float tempc;
char tex1[]="TEMPERATURE:";
char *tex2[15];

void main() {
Adc_Init();
Lcd_Init();
ANSEL=0b00001001;   //Config porta.b0, porta.b3 as analog
ANSELH=0x00;
ADCON1=0x30;        //Config porta.B3 as Vref+
TRISA.b0=1;         //porta.b0, porta.b3 as input
TRISA.b3=1;
C1ON_bit=0;         //disable compare
C2ON_bit=0;
TRISD=0x00;         //Portd as output
Lcd_out(1,1,tex1);
delay_ms(100);
while(1){
value_adc=Adc_read(0); //Get Adc value
delay_ms(100);
tempc=(float)(value_adc*0.14648); //Vref is 1.5V
floattostr(tempc,tex2);
Lcd_cmd(_LCD_CURSOR_OFF);
Lcd_chr(2,9,223);    // Display symbol "o" C
Lcd_out(2,10,"C");
Lcd_out(2,1,tex2);
delay_ms(100);
}
}

|| Download project in Miklroc and Proteus 

Click vào link tải ở trên đợi 5 giây, ấn "Bỏ qua quảng cáo". Click the link above, wait for 5s and click button "Skip Ad"

Chia sẽ bài viết này

Cập nhật tin bài mới

Subscribe địa chỉ mail để nhận tin nhanh chóng. Chúng tôi sẽ giữ bí mật địa chỉ mail của bạn.

0 nhận xét:

    tab

back to top