CẢNH báo NHIỆT độ QUA SMS DÙNG PIC (có code và layout) CẢNH báo NHIỆT độ QUA SMS DÙNG PIC (có code và layout) CẢNH báo NHIỆT độ QUA SMS DÙNG PIC (có code và layout) CẢNH báo NHIỆT độ QUA SMS DÙNG PIC (có code và layout) CẢNH báo NHIỆT độ QUA SMS DÙNG PIC (có code và layout)
ĐỒ ÁN CẢNH BÁO NHIỆT ĐỘ QUA SMS MỤC LỤC DANH MỤC CÁC HÌNH VẼ III DANH MỤC CÁC TỪ VIẾT TẮT V CHƯƠNG SƠ LƯỢC VỀ CẢNH BÁO NHIỆT ĐỘ QUA SMS 1.1GIỚI THIỆU : 1.2NGUYÊN LÝ CHUNG : 1.3 PHẦN MỀN CCS CHƯƠNG TÌM HIỂU CÁC LINH KIỆN CÓ TRONG ĐỀ TÀI .3 2.1LINH KIỆN TRONG MẠCH: CHƯƠNG THIẾT KẾ MẠCH 3.1SƠ ĐỒ KHỐI 3.2 SƠ ĐỒ GIẢI THUẬT 10 3.3NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH: 11 CHƯƠNG THIẾT KẾ VÀ GIA CÔNG PHẦN CỨNG 14 4.1 MẠCH IN 14 4.2 MẠCH THỰC TẾ 15 CHƯƠNG KẾT LUẬN 16 TÀI LIỆU THAM KHẢO .17 PHỤ LỤC 18 DANH MỤC CÁC HÌNH VẼ HÌNH 2.1: PIC16F877A HÌNH 2.2:SƠ ĐỒ CHÂN PIC16F877A HÌNH 2.3:CẢM BIẾN NHIỆT ĐỘ LM35 .4 - CẢM BIẾN NHIỆT ĐỘ LM35 LÀ BỘ CẢM BIẾN MẠCH TÍCH HỢP VỚI ĐỘ CHÍNH XÁC CAO ĐẦU RA TỶ LỆ THEO THANG ĐỘ CELSIUS KHÔNG YÊU CẦU PHẢI CÂN CHỈNH KHI SỬ DỤNG HÌNH 2.4:ĐIỆN TRỞ HÌNH 2.5:LCD .5 LCD LÀ MÀN HÌNH CĨ TÍCH HỢP SẴN CHIP ĐIỀU KHIỂN DÙNG ĐỂ HIỂN THỊ DỮ LIỆU GỒM 16 CHÂN: .6 + CHÂN (VSS): NỐI ĐẤT CHO LCD + CHÂN (VDD): CẤP NGUỒN 5V DC CHO LCD .6 + CHÂN (VEE): NỐI VỚI BIẾN TRỞ ĐỂ ĐIỀU CHỈNH ĐỘ TƯƠNG PHẢN + CHÂN (RS): CHỌN THANH GHI .6 + CHÂN (RW): CHỌN CHẾ ĐỘ ĐỌC HOẶC GHI + CHÂN (E): CHO PHÉP NHẬN DỮ LIỆU HOẶC KHÔNG + CHÂN 7-14 (D0- D7): ĐƯỜNG TRUYỀN DỮ LIỆU + CHÂN 15 (A): CẤP NGUỒN 5V DC CHO ĐÈN NỀN .6 + CHÂN 16 (K): NỐI ĐẤT CHO ĐÈN NỀN HÌNH 2.6:MODULE SIM 900 HÌNH 4.1:LAYOUT MẠCH THIẾT KẾ .14 HÌNH 4.2:MẠCH IN XUẤT RA PDF 14 HÌNH 4.3:MẠCH THỰC TẾ 15 DANH MỤC CÁC TỪ VIẾT TẮT SIM Subscriber Identity Module SMS Short Message Services LCD Liquid Crystal Display PDF Portable Document Format PIC Programmable Interface Controller ĐỒ ÁN Trang 1/22 CHƯƠNG SƠ LƯỢC VỀ CẢNH BÁO NHIỆT ĐỘ QUA SMS 1.1 Giới thiệu : • Cảnh báo nhiệt độ thực tế Trong xã hội với phát triển chống mặt nước giới chuyển giao cấu lao động từ thủ cơng sang tự động nhằm đẩy nhanh q trình sản xuất Do xuất nhiều khu cơng nghiệp máy móc điều khơng thể tranh khỏi, dẫn đến lượng khí thảy thảy mơi trường ngày tăng cao Với thực trạng làm cho Trái Đất ngày nóng lên, tần suất vụ cháy cao Nên cần có cảnh báo nhiệt độ giới hạn trước dẫn đến cố Với công nghệ phát triển người có riêng cho điện thoại từ phổ thơng điện thoại thông minh chắn chúng đề nhận tin nhắn sms Do nên nhiệt độ cảnh báo qua tin nhắn sms hữu ích thuận tiện • Mục đích Mục đính đề tài thiết kế mạch cảnh báo q nhiệt độ an tồn có tin nhắn gửi báo cho biết ngưỡn nhiệt độ • Ưu điểm - Cảnh báo nhiệt độ phạm vi rộng số điện thoại nằm vùng phủ sóng - Ít linh kiện nên dễ dàng q trình thiết kế • Khuyết điểm - Cần phải có sóng điện thoại gửi tin nhắn cảnh báo - Có sai lệch so với nhiệt độ thực tế • Ứng dụng thực tế Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 2/22 Có ứng dụng quan trọng đời sống giúp kiểm soát nhiệt độ để kịp thời điều chỉnh, kiểm tra nhiệt độ thiết bị từ xa mà khơng thể trực tiếp kiểm tra để tránh tình trạng nhiệt gây hỏng thiết bị 1.2 Nguyên lý chung : Mạch sử dụng LM35 để kiểm tra nhiệt độ cách gửi tín hiệu analog cho vi điều khiển, vi điều khiển giải mã tín hiệu analog sang digital để xử lý Vi điều xử lý tín hiệu kiểm tra với điều kiện an tồn thiết lập Nếu tín hiệu nằm ngưỡn cho phép trình lặp lại đến q ngưỡn vi điều khiển gửi tín hiệu đến module sim 900 để gửi tin nhắn điện thoại thông báo nhiệt độ 1.3 Phần mền CCS Trong thời đại phát triển xuất vi xử lý ngày nhiều Vi điều khiển làm việc với bit bit nên cần có chương trình để biên dịch từ ngôn ngữ khác sang ngôn ngữ mà vi xử lý hiểu để thực việc mà mong muốn Ban đầu vi xử lý viết theo ngơn ngữ Assmebly để viết ngơn ngữ Assmebly đòi hỏi người lập trình phải hiểu thật sâu phần cứng viết chương trình cho vi điều khiển Từ khó khăn nên đời phần mền có khả biên dịch ngôn ngữ vi điều khiển tảng khác mà người dễ dàng tiếp cận Sự đời của trình biên dịch tảng ngơn ngữ C khơng đòi hỏi người viết hiểu sâu phần cứng, CCS số CCS chương trình biên dịch tảng ngôn ngữ C cho vi điều khiển PIC Trong chương tích hợp sẵn trình biên dịch cho dòng PIC -PIC 12 bit dùng PCB -PIC 14 bit dùng PCM -PIC 16 18 bit dùng PCH CCS bao gồm chương trình bao gồm trình soạn thảo biên dịch Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 3/22 CHƯƠNG TÌM HIỂU CÁC LINH KIỆN CĨ TRONG ĐỀ TÀI 2.1 Linh kiện mạch: PIC16F877A Hình 2.1: PIC16F877A - PIC16F877A có 40 chân với cấu trúc chức năng: + Có cổng giao tiếp song song + Bộ nhớ flash ROM 8K x 14 ký tự +Bộ nhớ RAM 368 x bytes + Bộ nhớ EEPROM 256 x bytes + Cổng xuất nhập có cổng (a, b, c, d, e) tương ứng 33 chân PIC + Có định thời có định thời bit (timer 0, timer 2) định thời 16 bit (timer 1) + Biến đổi tín hiệu analog sang digital + Chức Compator so sánh tương tự + Chức Watch Dog Timer định thời giám sát + Cổng nối tiếp nạp chương trình cổng + Chế độ Sleep Mode tiết kiệm lượng + Có 15 ngắt + 35 lệnh điều khiển độ dài tối đa 14 bit + Hoạt động với tần số tối đa 20Mhz Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 4/22 -Sơ đồ chân 16F877A: Hình 2.2:Sơ đồ chân PIC16F877A CẢM BIẾN NHIỆT ĐỘ LM35 Hình 2.3:Cảm biến nhiệt độ LM35 Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 5/22 - Cảm biến nhiệt độ LM35 cảm biến mạch tích hợp với độ xác cao đầu tỷ lệ theo thang độ Celsius Không yêu cầu phải cân chỉnh sử dụng - Các đặc điểm kỹ thuật + Điện áp 5V DC + Cơng suất tiêu thụ 60 µ A + Độ phân giải điện áp đầu 10mV/ 0C + Độ sai lệch ¼ 0C nhiệt độ phòng ¾ 0C nhiệt độ ngồi khoảng 0C đến 150 0C ĐIỆN TRỞ Hình 2.4:Điện trở - Điện trở đại lượng hạn chế dòng điện Nhằm giúp ta tạo điện áp dòng điện mong muốn để vận hành mạch cần thiết kế - Để xác định giá trị điện trở người ta dựa vào vòng màu điện trở LCD Hình 2.5:LCD Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 8/22 + AT+CMGDA=”DEL SENT”: Xóa tất tin nhắn gửi + AT+CMGDA=”DEL ALL”: Xóa tất tin nhắn lưu SIM + ATD+Số điện thoại: Thực gọi đến số điện thoại + ATA: Trả lời gọi + ATH: Kết thúc gọi - Chân module sim 900 + Chân (Gnd): Chân nối mass + Chân (5V): Cấp nguồn 5V cho module sim + Chân (Bat): Cấp nguồn 3.7V cho module sim + Chân (Dtr): Chân chức module sim + Chân (Txd): Chân truyền liệu + Chân (Rxd): Chân nhận liệu + Chân (SN): Chân nối ngõ âm âm + Chân (SP): Chân nối ngõ âm dương + Chân (McN): Chân nối ngõ vào âm âm + Chân 10 (McP): Chân nối ngõ vào âm dương Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 9/22 - CHƯƠNG THIẾT KẾ MẠCH 3.1 Sơ đồ khối Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 10/22 3.2 Sơ đồ giải thuật Bắt đầu Kiểm tra nhiệt độ Hiện thị LCD Sai Nhiệt độ >39 Đúng Gửi SMS Kết thúc Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 11/22 3.3 Nguyên lý hoạt động mạch: • Khối đo nhiệt độ Khối kiểm tra nhiệt độ cách xuất giá trị điện áp tương ứng Cấp cho cảm biến nhiệt độ LM35 nguồn 5V sử dụng ADC 10 bit Với LM35 ngõ 10mV tương ứng với 0C , ADC 10 bit tương dương giá trị 1023 5V tương ứng với 5000mV Từ ta suy nhiệt độ 500 nhân với giá trị ADC chia cho 1023 • Khối hiển thị LCD hiển thị theo chế bit, chân nối với port B vi điều khiển PIC16F877A • Khối vi điều khiển - Khi khởi động PIC gửi nội dung lên LCD lệnh điều khiển lcd_init(); lcd_putc('\f'); lcd_gotoxy(1,1); printf(lcd_putc,"DANG KHOI DONG"); lcd_gotoxy(1,2); printf(lcd_putc,"KHOI DONG LCD "); delay_ms(2000); lcd_gotoxy(1,2); printf(lcd_putc,"KHOI DONG SIM900"); delay_ms(5000); - Sau lấy liệu liệu từ LM35 qua chân RA0 setup_adc(ADC_CLOCK_INTERNAL); setup_adc_ports(AN0); Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 12/22 GiaTriADC = read_adc(); Muon= (500f*(float)GiaTriADC)/1023f; NhietDo=(int16)Muon; - Nếu kiểm tra điều kiện từ 40 độ trở lên PIC gửi tín hiệu lên module sim để điều khiển qua chân Tx Rx lệnh: void send_sms(int1 sms) { printf("AT+CMGS=\"+841652024121\"\r\n");delay_ms(500); switch (sms) { case 0: printf("HE THONG KHOI DONG XONG!"); break; case 1: printf("QUA NHIET DO CHO PHEP!"); break; } putc(26); delay_ms(4000); } enable_interrupts(INT_RDA); enable_interrupts(GLOBAL); printf("AT+CMGF=1\r\n"); send_sms(1); • Khối module sim - Khi cấp nguồn module sim vào chế độ dò sóng q trình diễn nhanh hay chậm phụ thuộc vào cường độ phủ sóng sim Khi dò Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 13/22 sóng đợi liệu từ PIC gửi lên nhiệt độ ngưỡn cho phép để thực gửi tin nhắn đến số điện thoại thiết lập sẵn Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 14/22 CHƯƠNG THIẾT KẾ VÀ GIA CÔNG PHẦN CỨNG 4.1 Mạch in Thiết kế layout mạch in Hình 4.1:Layout mạch thiết kế Xuất mạch in PDF Hình 4.2:Mạch in xuất PDF Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 15/22 4.2 Mạch thực tế Hình 4.3:Mạch thực tế Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 16/22 CHƯƠNG KẾT LUẬN Mạch hoạt động vi điều khiển PIC16F877A có chuyển đổi tính tín analog sang digital để mã hóa liệu liệu từ LM35 gửi chân Rx Tx để kết nối với Module Sim900 để gửi liệu sau xử lý điều khiển Module Sim 900 tập lệnh AT • Ưu điểm - Mạch gửi tin nhắn ổn định nhiệt - Không cần phải canh chỉnh nhiệt độ sử dụng - Nhiệt độ sai lệch với thực tế tương đối • Khuyết điểm - Chỉ cho biết q nhiệt độ khơng biết xác nhiệt độ lúc độ - Chỉ gửi tin nhắn cho số điện thoại - Không kiểm tra tài khoản sim • Hướng phát triển Có thể hồn thiện mạch cảnh báo nhiệt độ xác điều khiển bật tắt thiết bị qua tin nhắn sms Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 17/22 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] http://codientu.org/ [2] https://www.picvietnam.com/ [3] https://www.academia.edu/ Tiếng Anh: [4] http://www.otto.co.za/ [5] http://www.alldatasheet.com/ Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 18/22 PHỤ LỤC Dựa đề tài ta có code sau: #include #device ADC=10 #include #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) #use delay(clock=20m) #define LCD_RS_PIN #define LCD_RW_PIN PIN_B1 PIN_B2 #define LCD_ENABLE_PIN PIN_B3 #define LCD_DATA4 PIN_B4 #define LCD_DATA5 PIN_B5 #define LCD_DATA6 PIN_B6 #define LCD_DATA7 PIN_B7 #FUSES NOWDT #FUSES NOBROWNOUT #FUSES NOLVP #FUSES HS int8 i; int16 GiaTriADC, NhietDo; float Muon; void send_sms(int1 sms) { printf("AT+CMGS=\"+841652024121\"\r\n");delay_ms(500); switch (sms) Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 19/22 { case 0: printf("HE THONG KHOI DONG XONG!"); break; case 1: printf("QUA NHIET DO CHO PHEP!"); break; } putc(26); delay_ms(4000); } void khoi_dong() { lcd_gotoxy(1,1); printf(lcd_putc,"DANG KHOI DONG"); lcd_gotoxy(1,2); printf(lcd_putc,"KHOI DONG LCD "); delay_ms(2000); lcd_gotoxy(1,2); printf(lcd_putc,"KHOI DONG SIM900"); delay_ms(5000); } void khoi_tao() { delay_ms(10000); send_sms(0); Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 20/22 } void nhiet_do() { GiaTriADC = read_adc(); Muon= (500f*(float)GiaTriADC)/1023f; NhietDo=(int16)Muon; } void qua_nhiet() { lcd_gotoxy(1,1); printf(lcd_putc,"QUA NHIET DO "); lcd_gotoxy(1,2); printf(lcd_putc,"NHIETDO=%lu ",NhietDo); delay_ms(500); } void an_toan() { lcd_gotoxy(1,1); printf(lcd_putc,"NHIET DO AN TOAN"); lcd_gotoxy(1,2); printf(lcd_putc,"NHIETDO=%lu delay_ms(500); } void main() { lcd_init(); Cảnh báo nhiệt độ qua SMS ",NhietDo); ĐỒ ÁN Trang 21/22 lcd_putc('\f'); setup_adc(ADC_CLOCK_INTERNAL); setup_adc_ports(AN0); enable_interrupts(INT_RDA); enable_interrupts(GLOBAL); khoi_dong(); printf("AT+CMGF=1\r\n"); khoi_tao(); while(TRUE) { for (i=0;i39 Đúng Gửi SMS Kết thúc Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 11/22 3.3 Nguyên lý hoạt động mạch: • Khối đo nhiệt độ Khối kiểm tra nhiệt độ cách xuất... { nhiet_do(); qua_ nhiet(); if (i==10) { send _sms( 1); while (NhietDo>39) { nhiet_do(); qua_ nhiet(); Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 22/22 } } } } } } Cảnh báo nhiệt độ qua SMS ... 2.2:Sơ đồ chân PIC1 6F877A CẢM BIẾN NHIỆT ĐỘ LM35 Hình 2.3:Cảm biến nhiệt độ LM35 Cảnh báo nhiệt độ qua SMS ĐỒ ÁN Trang 5/22 - Cảm biến nhiệt độ LM35 cảm biến mạch tích hợp với độ xác cao đầu