Tải bản đầy đủ - 0 (trang)
2 Kết quả đạt được

2 Kết quả đạt được

Tải bản đầy đủ - 0trang

ĐỒ ÁN 2

Trang 18/24



4.3 Đánh giá

– Cảm biến độ ẩm và nhiệt độ DHT11:

+ Nhiệt độ môi trường thay đổi thì giá trị của cảm biến thay đởi theo. Ta lấy

phép thử: lấy một nhiệt kế đo nhiệt độ và độ ẩm của môi trường, đồng thời

cho cảm biến DHT11 hoạt động. Đọc kết quả của nhiệt kế và cảm biến, ta

thấy hai kết quả này giống nhau hoặc gần giớng nhau.

Lấy 10 lần đọc, thì kết quả của cảm biến đúng khoảng 70 %.

+ Khi độ ẩm và nhiệt đợ mơi trường thay đởi thì giá trị cảm biến không thay

đổi ngay, các giá trị này thay đổi chậm hơn thực tế khoảng 2 giây.

– Module thu phát RF:

+ Về đợ chinh xác: quá trình trùn nhận dữ liệu của module RF tốt và chinh

xác. Cho mạch phát đếm từ 1 đến 10, thì mạch thu LCD hiển thị đúng mạch

đếm từ 1 đến 10. Thử lại nhiều lần ta vẫn thấy kết quả đúng.

+ Về tốc độ truyền dữ liệu: module RF truyền dữ liệu còn chậm.

4.4 Nhận xét

– Ưu điểm:

+ Mạch chạy khá tốt, đáp ứng lấy được các thông tin cần thiết.

+ Mạch chạy khá ổn định.

+ Các cảm biến lấy thông tin từ môi trường một cách liên tục giúp chúng ta

nhận biết được sự thay đổi của môi trường một cách nhanh chóng.

– Nhược điểm: Mạch chạy ổn định do đôi khi mạch bị nhiễu bởi các yếu tố bên

ngoài.

– Hướng mở rộng:

+ Có thể thay mới bằng các cảm biến có độ chinh xác cao hơn.

+ Có thể thêm một số cảm biến khác nếu có nhu cầu biết được nhiều thông số

hơn từ môi trường.



Hệ thống hiển thị thông số môi trường



ĐỒ ÁN 2

Trang 19/24



TÀI LIỆU THAM KHẢO

[1]



microcontrollerslab.com



[2]



electronishub.org



[3]



libstock.mikroe.com



[4]



circuitdigest.com



[5]



microchip.com



[6]



Nguyễn Mạnh Giang, Các vi điều khiển PIC, NXB khoa học kĩ thuật, năm



2009.



Hệ thống hiển thị thông số môi trường



ĐỒ ÁN 2

Trang 20/24



PHỤ LỤC A

#CODE_PHAT

#include <16f877A.h>

#fuses hs,noput,nowdt

#use delay(clock=20m)

#use rs232(uart,baud=9600,parity=n,BITS=8,STOP=1)

#define dht pin_b0

void dht_read(unsigned int8 &temp, unsigned int8 &humid)

{

unsigned int8 buff[5];

unsigned int8 n, tmp, t;

//init

output_low(dht); delay_ms(20); output_float(dht);

//response

set_timer0(0);

while(input(dht)) {t=get_timer0();if(t>100) break;}//wait 80us

set_timer0(0);

while(!input(dht)){t=get_timer0();if(t>100) break;}//wait 80us

set_timer0(0);

while(input(dht)) {t=get_timer0();if(t>100) break;}

//begin

for(n=0;n<40;n++)

{

set_timer0(0);

while(!input(dht)){t=get_timer0();if(t>100) break;}//start, 50us

set_timer0(0);

while(input(dht)) {t=get_timer0();if(t>100) break;}

Hệ thống hiển thị thông số môi trường



ĐỒ ÁN 2

Trang 21/24



tmp=get_timer0();

if(tmp>5 && tmp<9)//bit 0

bit_clear(buff[n/8],7-n%8);

else if(tmp>20 && tmp<24)//bit 1

bit_set(buff[n/8],7-n%8);

}

if(buff[4]==buff[0]+buff[2])

{

humid=buff[0]; temp=buff[2];

}

}

void main()

{

port_b_pullups(1);

unsigned int8 ndo=0,dam=0;

int gas;

SETUP_TIMER_0(T0_INTERNAL|T0_DIV_16);//3.2 us

while(true)

{

dht_read(ndo,dam);

gas = input(pin_B1);

//printf("temp,%u,humid,%u\n",ndo,dam);

putc(ndo);putc(dam);putc(gas);

delay_ms(1000);

}

}

#CODETHU



Hệ thống hiển thị thông số môi trường



ĐỒ ÁN 2

Trang 22/24



#include <16f877A.h>

#fuses hs,noput,nowdt

#use delay(clock=20m)

#use rs232(uart, baud=9600, parity=n,BITS=8, STOP=1)

#define LCD_RS_PIN

#define LCD_RW_PIN



PIN_d1

PIN_d2



#define LCD_ENABLE_PIN PIN_d3

#define LCD_DATA4



PIN_d4



#define LCD_DATA5



PIN_d5



#define LCD_DATA6



PIN_d6



#define LCD_DATA7



PIN_d7



#include

unsigned int8 ndo, dam;

int gas;

#INT_RDA

void ngat_rda(void)

{

ndo=getc(); dam=getc();gas =getc();

}

void main()

{

ENABLE_INTERRUPTS(GLOBAL);

ENABLE_INTERRUPTS(INT_RDA);

lcd_init();

lcd_gotoxy(5,1);

lcd_putc("Do An 2");



Hệ thống hiển thị thông số môi trường



ĐỒ ÁN 2

Trang 23/24



lcd_gotoxy(4,2);

lcd_putc("Kim Cuong"); delay_ms(2000);

while(true)

{

lcd_gotoxy(14,1);

printf(lcd_putc,"Gas");

if(gas == 0){

lcd_gotoxy(14,2);

printf(lcd_putc,"Yes");

}

else {

lcd_gotoxy(14,2);

printf(lcd_putc," No");

}

lcd_gotoxy(1,1);

printf(lcd_putc,"Temp: %2u%cC ",ndo,223);

lcd_gotoxy(1,2);

printf(lcd_putc,"Humid: %2u",dam);lcd_putc("% ");

delay_ms(500);



if (ndo>=30 && dam>=70)

{

lcd_gotoxy(1,1);

printf(lcd_putc,"



");



lcd_gotoxy(1,2);

printf(lcd_putc,"



");



Hệ thống hiển thị thông số môi trường



ĐỒ ÁN 2

Trang 24/24



delay_ms(500);

}

}

}



Hệ thống hiển thị thông số môi trường



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

2 Kết quả đạt được

Tải bản đầy đủ ngay(0 tr)

×