HỆ THỐNG điều KHIỂN THIẾT bị QUA TIN NHẮN và CUỘC gọi dùng PIC16f877 HỆ THỐNG điều KHIỂN THIẾT bị QUA TIN NHẮN và CUỘC gọi dùng PIC16f877 HỆ THỐNG điều KHIỂN THIẾT bị QUA TIN NHẮN và CUỘC gọi dùng PIC16f877 HỆ THỐNG điều KHIỂN THIẾT bị QUA TIN NHẮN và CUỘC gọi dùng PIC16f877 HỆ THỐNG điều KHIỂN THIẾT bị QUA TIN NHẮN và CUỘC gọi dùng PIC16f877
Trang 1HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ QUA
TIN NHẮN VÀ CUỘC GỌI
Trang 2DANH MỤC CÁC BẢNG BIỂU VII DANH MỤC CÁC TỪ VIẾT TẮT VIII
CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI 1
1.1 GIỚI THIỆU VỀ ĐỀ TÀI VÀ ƯỚNG DỤNG 1
1.1.1 Giới thiệu 1
1.1.2 Ứng dụng 1
1.1.3 Yêu cầu đề tài 1
1.1.4 Cấu trúc báo cáo 1
CHƯƠNG 2 THIẾT KẾ HỆ THỐNG 2
2.1 SƠ ĐỒ KHỐI HỆ THỐNG 2
2.2 SƠ ĐỒ NGUYÊN LÝ 3
2.2.1 Sơ đồ nguyên lý khối nguồn 3
2.2.2 Sơ đồ nguyên lý khối xử lý, hiển thị và SIM900A 4
2.2.3 Khối thiết bị 5
2.3 SƠ ĐỒ GIẢI THUẬT 6
2.4 MỘT SỐ LINH KIỆN CHÍNH ĐƯỢC SỬ DỤNG TRONG MẠCH 7
2.4.1 PIC 16f887 7
2.4.2 Màn hình LCD 8
2.4.3 Module SIM900A 9
CHƯƠNG 3 THI CÔNG ĐỀ TÀI 11
3.1 YÊU CẦU THI CÔNG 11
3.2 KẾT QUẢ THI CÔNG 11
3.3 HÌNH ẢNH MẠCH 11
CHƯƠNG 4 KẾT LUẬN 12
Trang 3TÀI LIỆU THAM KHẢO 14 PHỤ LỤC A 15
Trang 4HÌNH 2-2: SƠ ĐỒ NGUYÊN LÝ 3
HÌNH 2-3: SƠ ĐỒ NGUYÊN LÝ KHỐI NGUỒN 3
HÌNH 2-4: SƠ ĐỒ NGUYÊN LÝ XỬ LÝ, HIỂN THỊ, SIM900A 4
HÌNH 2-5: SƠ ĐỒ NGUYÊN LÝ KHỐI THIẾT BỊ 4
HÌNH 2-6: LƯU ĐỒ CHƯƠNG TRÌNH CHÍNH 5
HÌNH 2-7: PIC 16F887 6
HÌNH 2-8: GIAO DIỆN VIẾT CODE CHO PIC 7
HÌNH 2-9: LCD 16X2 8
HÌNH 2-10: MODULE SIM900A 8
HÌNH 3-1: HÌNH MẠCH 10
Trang 5BẢNG 2-2: KẾT NỐI LINH KIỆN 9
Trang 6UART Universal Asynchronous Receiver - Transmitter LCD Liquid Crystal Display
SIM Subscriber Identity Module
GSM Global System for Mobile communication
Trang 7CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI
1.1 Giới thiệu về đề tài và ướng dụng
Ngày nay với sự phát triển của khoa học và công nghệ áp dụng hệ thống vào hệ thống điều khiển từ xa làm giảm được nhân công tăng năng suất lao động.
1.1.1 Giới thiệu
Hệ thống điều khiển thiết bị qua tin nhắn và cuộc gọi thực hiện điểu khiển các thiết bị điện thông qua lệnh điều khiển của người sử dụng được phép sử dụng hệ thống thông qua chức năng bảo mật của hệ thống.
1.1.3 Yêu cầu đề tài
Thiết kế và thi công mạch điều khiển đáp ứng các yêu cầu:
Điều khiển 4 thiết bị qua tin nhắn hoặc cuộc goi.
Phản hồi trạng thái hoạt động của thiết bị.
Bảo mật hệ thống và giới hạn số người điều khiển.
1.1.4 Cấu trúc báo cáo
Chương 1: Giới thiệu đề tài.
Trang 8Hình 2-1: Sơ đồ khối toàn mạch
Khối nguồn sử dụng nguồn từ biến áp chuyển thành điện DC sau đó ổn áp bằng IC7805 cho mạch hoạt động.
Khối xử lý dùng PIC 16f887 xử lý dữ liệu từ sim900A để điều khiển thiết bị.
Khối SIM900A để nhận tin nhắn đến hoặc cuộc gọi SIM900A và giao tiếp UART với khối xử lý để xử lý tin nhắn.
Khối hiển thị LCD dùng LCD có 20cột và 4 hàng để hiển thị tin nhắn cuộc gọi đến và trạng thái hoạt động của thiết bị
Khối thiết bị sử dụng relay để đóng cắt thiết bị điện 220VAC.
Mô tả chi tiết:
Khối nguồn sẽ cung cấp nguồn cho hệ thống hoạt động Khi có tin nhắn tới Sim900A thông qua giao tiếp UART khối điều khiển sẽ nhận dạng số điện thoại tin cậy và cú pháp điều khiển nếu đúng sẽ thực thi lệnh điều khiển Sau đó sẽ phản hồi trạng thái hoạt động của thiết bị và hiển thị ra LCD.
1.3 Sơ đồ nguyên lý
Trang 9Hình 2-2: Sơ đồ nguyên lý
Dựa vào sơ đồ khối, ta vẽ mạch nguyên lý hoạt động theo chức năng đã được triển khai ở trên với các module.
1.1.5 Sơ đồ nguyên lý khối nguồn
Hình 2-3: Sơ đồ nguyên lý khối nguồn
Khối nguồn cung cấp nguồn cho hệ thống hoạt động.
Hoạt động: điện áp 220VAC vào biến áp chuyển thành 9VAC ta cho qua cầu diode chuyển thành điện DC Ta dùng IC7805 để ổn áp 5V để mạch hoạt động, dùng tụ để lọc phẳng điện áp ngõ ra.
1.1.6 Sơ đồ nguyên lý khối xử lý, hiển thị và SIM900A.
Trang 10Hình 2-4: Sơ đồ nguyên lý xử lý, hiển thị, SIM900A
Khối xử lý phân tích xử lý tin nhắn đến từ SIM900A điều khiển thiết bị và hiển thị
Hình 2-5: Sơ đồ nguyên lý khối thiết bị
Khối thiết bị dùng bật tắt thiết bị thông qua relay.
Trang 11Hoạt động: Khi có tín hiệu kích từ vi điều khiển thì transistor dẫn làm dòng điện chạy qua cuộn hút của relay đóng tiếp điểm lại để cấp nguồn cho thiết bị hoạt động.
1.4 Sơ đồ giải thuật
Hình 2-6: Lưu đồ chương trình chính
Giải thích lưu đồ:
Bắt đầu hệ thống khởi tạo giá trị và ở chế độ chờ tin nhắn Khi có tin nhắn hệ thống bắt đầu kiểm tra số điện thoại nhắn tin tới và cú pháp điều khiển nếu đúng thì
Trang 12sẽ thực thi lệnh điều khiển bật hoặc tắt thiết bị sau đó phản hồi trạng thái về điện thoại và hiển thị ra màn hình LCD Còn nếu sai thì sẽ không làm gì cả.
1.5 Một số linh kiện chính được sử dụng trong mạch
Digital Communication Peripherals 1-A/E/USART, 1-MSSP(SPI/I2C)
Trang 13Comparators 2
Operating Voltage Range (V) 2 to 5.5
Lập trình cho PIC
Các dòng PIC đều được được lập trình với ngôn ngữ C Ở đây ta dùng phần mềm C complie để biên dịch code C.
Hình 2-8: Giao diện viết code cho PIC
1.1.9 Màn hình LCD
Có nhiều loại LCD khác nhau với hệ thống này ta sử dụng LCD 16x02.
Trang 141.1.1.2 Đặc điểm của Module SIM900A
Hình 2-10: Module SIM900A
Đặc điểm:
Trang 15SIM900A do SIMCOM sản xuất hỗ trợ nhắn tin, gọi điện kết nối GPS thông qua tập lệnh AT.
Điều khiển Module Sim bằng tập lệnh AT.
Kết nối với vi điều khiển:
Bảng 2-2: Kết nối linh kiện
Trang 16CHƯƠNG 3 THI CÔNG ĐỀ TÀI
1.6 Yêu cầu thi công
Thiết kế và thực hiện phần cứng.
Điều khiển tắt bật thiết bị qua tin nhắn điều khiển.
Theo dõi được trạng thái hoạt động của thiết bị thông qua tin nhắn phản hồi
và hiển thị ra LCD.
Thực hiện các chức năng bảo mật cho hệ thống.
1.7 Kết quả thi công
Thi công được mạch điều khiển.
Mạch chạy ổn định theo yêu cầu của hệ thống.
Trang 17- Mạch điện với các module trên mạch được thiết kế, thi công hoàn chỉnh chạy thực tế và hoạt động ổn định trong thực tế.
- Xây dựng hệ thống điều khiển thiết bị bằng tin nhắn và cuộc gọi.
Hệ thống điều khiển thiết bị qua tin nhắn và cuộc gọi thực hiện được những chức năng sau đây:
- Điều khiển bật tắt thiết bị có phản hồi trạng thái hoạt động thiết bị.
- Nhắn tin để kiểm tra trạng thái hoạt động của tất cả thiết bị.
- Bảo mật điều khiển với số lượng số điện thoại được lưu sẵn trong hệ thống để điều khiển, khi cần ta có thể thêm hoặc xóa số điện thoại điều khiển.
- Với chức năng reset về mặc định ta có một Key mặc định cài đặt lại số điện thoại điều khiển.
1.10 Ưu nhược điểm của mạch
Ưu điểm:
Thiết kế nhỏ gọn, dễ sử dụng.
Mạch có độ nhạy, tính bảo mật cao.
Giá thành hợp lí.
Nhược điểm:
Chưa hỗ trợ được nhiều số điện thoại điều khiển.
Chưa thay đổi được cú pháp điều khiển khi người dùng muốn thay đổi cú pháp theo ý mình.
1.11 Hướng phát triển
Do thời gian thực hiện đề tài có hạn và lượng kiến thức của em là nhất định nên đề tài thực hiện xong chỉ đáp ứng được một phần nhỏ của một hệ thống hoàn chỉnh Vì vậy, để đề tài này thêm phong phú hơn, mang nhiều tính thực tế hơn nữa,
có khả năng ứng dụng cao hơn nữa thì em có một vài yêu cầu sau:
Mở rộng thêm nhiều số điện thoại có thể cùng điều khiển.
Trang 18 Có thể thêm vào hệ thống module thu phát RF để điều khiển từ xa bằng remote.
TÀI LIỆU THAM KHẢO
Tiếng Anh:
[1] Datasheet SIM900A – SIM Com
Các trang web:
http://doan.edu.vn/
http://hshop.vn/
http://www.dandientu.com
http://codientu.org/
Trang 19PHỤ LỤC A
Toàn bộ phần code của chương trình:
#include "E:\sim800\main.h"
#include <stdio.h>
#define LCD_ENABLE_PIN PIN_B0
#define LCD_RS_PIN PIN_B1
#define LCD_RW_PIN PIN_B2
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B5
#define LCD_DATA6 PIN_B6
#define LCD_DATA7 PIN_B7
#include <lcd.c>
unsigned int16 Dem=0;
unsigned char key[]="1111", bathet[]="BATHET", tathet[]="TATHET", caidat[]="CAIDAT",kiemtra[]="KIEMTRA";unsigned char xoasdt1[]="XOASDT1",xoasdt2[]="XOASDT2";
char SMS[80];
char Index=0;
char c=0x00,c1=0x00,c2=0x00,c3=0x00,c4=0x00,c5=0x00;
char NewSMS=0,NewCall=0;
char SoDienThoaiAdmin[]="0915583317";//do khi nhap gia tri o dang chuoi thi bien mang se tu dong nhap them mot ki
tu rong o phan ket thuc
void _Reset(unsigned int16 time, char Option);
void _CatDatSim(int16 Time);
void _NhanTin(signed char SoDienThoai[],Option);
Trang 20void _GoiDien(signed char SoDienThoai[]);
void _TuChoiCuocGoi(void);
signed int8 _DocSoDienThoaiAdmin(char SoDienThoaiAdmin[]);
void _GhiSoDienThoaiAdmin(char SoDienThoaiAdmin[]);
signed int8 _DocSoDienThoai1(char SoDienThoai1[]);
void _GhiSoDienThoai1(char SoDienThoai1[]);
signed int8 _DocSoDienThoai2(char SoDienThoai2[]);
void _GhiSoDienThoai2(char SoDienThoai2[]);
signed int8 _Dockey(char key[]);
void _Ghikey(char key[]);
void _GuiTinNhan(signed char SoDienThoai[],char Content[]);//Ham gui tin nhanvoid _SendData(char Content[]);
if(c1=='+' && (c2=='C'||c2=='c') && (c3=='L'||c3=='l'||c3=='\0') &&
(c4=='I'||c4=='i') && (c5=='P'||c5=='p')) {NewCall=1;}//kiem tra nhan cuoc goi moi
if(c!='\0' && (NewSMS==1 || NewCall==1))
{SMS[Index++]=c;} //Nap ki tu vao mang
if(Index>=80)//Kiem tra neu vuot qua chi so mang thi reset lai
{
Index=0;
}
Trang 22printf(lcd_putc,"CO TIN NHAN TOI\n ");
_Delay(20); //tao thoi gian tre de nhan du du lieu tin nhan trong ham ngat
Trang 23} if((strstr(SoDienThoai1,SoDienThoai)||strstr(SoDienThoai1,SoDienThoai)||strstr(SoDienThoaiAdmin,SoDienThoai))&&(SMS[j]=='T')&&(SMS[j+1]=='A')&&(SMS[j+2]=='T')&&(SMS[j+3]=='1'
Trang 28void _NhanTin(signed char SoDienThoai[],Option)
Trang 31{
printf("AT+CMGS=\"%c%c%c%c%c%c%c%c%c%c\"\r\n",SoDienThoai[0], SoDienThoai[1],SoDienThoai[2],SoDienThoai[3],SoDienThoai[4],
Trang 33{ if(SMS[i]=='S'&&SMS[i+1]=='D'&&SMS[i+2]=='T'&&SMS[i+3]=='1'&&SMS[i+4]==':')//dau so Viet NAMminh la +84
Trang 34else if(SMS[i]=='S'&&SMS[i+1]=='D'&&SMS[i+2]=='T'&&SMS[i+3]=='2'&&SMS[i+4]==':')//dau so Viet NAM minh la +84
{
for(j=i+5;j<i+5+11;j++) {
SoDienThoai2[j-(i+5)]=SMS[j]; }
if(SoDienThoai2[9]=='"') {
SoDienThoai2[9]='\0'; }
if(SoDienThoai2[10]=='"') {
SoDienThoai2[10]='\0'; }
_GhiSoDienThoai2(SoDienThoai2); lcd_gotoxy(1,2); printf(lcd_putc,"SDT2:%s ",SoDienThoai2); break;
}
else if(SMS[i]=='K'&&SMS[i+1]=='E'&&SMS[i+2]=='Y'&&SMS[i+3]==':')//dau so Viet NAM minh la +84 {
for(j=i+4;j<i+4+4;j++) {
key[j-(i+4)]=SMS[j]; }
_Ghikey(key); _Xoa(); lcd_gotoxy(1,2); printf(lcd_putc,"KEY:%s ",key);
break;
}
}
else if(strstr(SMS,xoasdt1)&&(strstr(SoDienThoaiAdmin,SoDienThoai)||strstr(SMS,key))) {
for(i=20;i<31;i++) {
write_eeprom(i,0); }
_DocSoDienThoai1(SoDienThoai1);
lcd_gotoxy(1,2);