Tải bản đầy đủ (.docx) (36 trang)

ĐIỀU KHIỂN và GIÁM sát THIẾT bị TRONG NHÀ QUA điện THOẠI SMS dùng pic16f877a (có code và layout bên dưới)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (550.3 KB, 36 trang )

ĐỒ ÁN 3

ĐIỀU KHIỂN VÀ GIÁM SÁT THIẾT BỊ TRONG
NHÀ QUA ĐIỆN THOẠI (SMS)


MỤC LỤC


DANH MỤC CÁC HÌNH VẼ
HÌNH 2-1: SƠ ĐỒ CÁC CHÂN TRONG PIC16F877A[1].......................................5
HÌNH 2-2: SƠ ĐỒ KHỐI CỦA PIC16F877A[1]...............................................................7
HÌNH 2-3: SƠ ĐỒ CÁC CHÂN TRONG LCD 16X2[1].................................................8
HÌNH 2-4: SƠ ĐỒ CHÂN TRONG SIM900A[1].............................................................9
HÌNH 2-5: SENSOR CẢM BIẾN ÁNH SÁNG[1]..........................................................11
HÌNH 2-6: MODULE THỜI GIAN THỰC DS1307[1]..................................................11
HÌNH 3-: MẠCH NGUYÊN LÝ TRÊN PROTEUS.......................................................14
HÌNH 3-2: LAYOUT MẠCH TRÊN PROTEUS............................................................15


DANH MỤC CÁC BẢNG BIỂU
BẢNG 2-1: CHỨC NĂNG CÁC CHÂN PIC16F877A.....................................................6
BẢNG 2-2: CHỨC NĂNG CÁC CHÂN TRONG LCD 16X2........................................8
BẢNG 2-3: CHỨC NĂNG CÁC CHÂN TRONG SIM900A..........................................9
BẢNG 2-4: TẬP LỆNH AT TRONG SIM900A..............................................................10
BẢNG 2-5: CHỨC NĂNG CÁC CHÂN TRONG DS1307............................................12
BẢNG 2-6: BẢNG CHI TIẾT CÁC THANH GHI.........................................................12


DANH MỤC CÁC TỪ VIẾT TẮT


LCD

Liquid Crystal Display

IC

Integrated Circuit

EEPROM

Electrically Erasable Programmable Read-Only Memory

RAM

Random Access Memory

SRAM

Shadow Random Access Memory

ISP

Internet Service Provider

RISC

Reduced Instructions Set Computer


ĐỒ ÁN 3

Trang 6/32

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
1.1 Đặt vấn đề
Ngày nay, yếu tố tự động là không thể thiếu để cuộc sống hiện đại, điều khiển các
thiết bị dân dụng hay trong nông nghiệp từ xa giúp người sử dụng thuận tiện bật tắt,
hẹn giờ, hay đảm bảo độ chính xác trong quá trình hoạt động của thiết bị: thời gian
tưới nước, lượng nước, tự động tắt khi quên…
Vì vậy, với những nhu cầu đó, mạch điều khiển thiết bị qua SMS giúp rất nhiều
trong nông nghiệp, gia đình.
1.2 Nhiệm vụ đề tài
- Dùng VDK PIC.
- Bật tắt đèn, kết hợp sensor quang.
- Cài đặt thời gian tưới cây qua SMS.
- Giám sát trạng thái thiết bị.
- Thiết kế và thi công hệ thống.
1.3 Đã thực hiện
- Sử dụng điện thoại để điều khiển bật tắt thiết bị ( đèn LED) trực tiếp qua
-

SMS.
Dùng cảm biến ánh sáng để tự động bật tắt đèn khi thiếu ánh sang, khi
đèn thay đổi trạng thái, hệ thống sẽ gửi tin nhắn lên điện thoại người

-

dùng.
Hẹn thời gian bật tắt thiết bị, ứng dụng trong hệ thống tưới nước tự động,
có sử dụng module thời gian thực hiện thị thời gian lên LCD.


1.4 Các đối tượng nghiên cứu
-

Tìm hiểu về vi xử lý PIC16F877A.
Module SIM900A.
Ngôn ngữ lập trình PIC.
Sensor cảm biến ánh sang.
Module thời gian thực DS1307.

Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)


ĐỒ ÁN 3
Trang 7/32

CHƯƠNG 2. THIẾT KẾ HỆ THỐNG
1.5 Sơ đồ khối hệ thống
Khối truyền
nhận lệnh
(SIM900)

Thiết bị 1

Khối điều khiển

Thiết bị điều
khiển

(PIC16F877A)
Cảm biến ánh sáng


(điện thoại)

Module thời gian
Khối hiện thị
Mạch
điều
khiển

giám
sát
thiết
bị
trong
nhà
qua
điện
thoại
(SMS)
thực
(LCD 16x2)


ĐỒ ÁN 3
Trang 8/32

Chức năng các khối:
-

Khối điều khiển, đảm bảo mạch hoạt động bình thường, điều khiển, xử lý dữ

liệu từ các module, gửi nhận thông tin từ Sim900, module thời gian, cảm

-

biến ánh sang, thiết bị.
Khối hiển thị (LCD) hiển thị thời gian thực, trạng thái thiết bị.
SIM900A nhận lệnh điều khiển từ người dùng, gửi về khối điều khiển, sau

-

đó nhận lệnh từ khối điều khiển, thông báo cho người dùng.
Thiết bị hiển thị trạng thái bật tắt.
1.6 Tìm hiểu linh kiện

1.1.1 PIC16F877A.
1.1.1.1Giới thiệu
PIC16F877A là dòng PIC phổ biến nhất hiện nay, được ứng dụng nhiều trong các
mạch điện tử thông dụng, cấu trúc tổng quát gồm:
-

8K Flash ROM.
368 bytes RAM.
5 ports ra vào với tín hiệu được điều khiển độc lập.
2 bộ định thời 8 bits ( Timer 0,2 )
1 bộ định thời 16 bits (Timer 1).
2 bộ CCP( Capture - Compare - PWM).
1 bộ biến đổi AD 10 bits, 8 ngõ vào.
2 bộ so sánh tương tự .

Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)



ĐỒ ÁN 3
Trang 9/32

-

1 bộ định thời giám sát (WatchDog Timer).
1 cổng song song 8 bits với các tín hiệu điều khiển.
1 cổng nối tiếp.
15 nguồn ngắt.
Có chế độ tiết kiệm năng lượng.
Nạp chương trình bằng cổng nối tiếp ICSP(In-Circuit Serial Programming).
Được chế tạo bằng công nghệ CMOS.
35 tập lệnh có độ dài 14 bits.
Tần số hoạt động tối đa 20MHz.

1.1.1.2Sơ đồ các chân

HÌNH 2-1: SƠ ĐỒ CÁC CHÂN TRONG PIC16F877A[1].

OSC1/CLKIN

Chân ngõ vào của mạch dao động thạch anh. Định tần cho
xung nhịp và cũng là một chân ngõ vào của mạch tạo xung

Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)


ĐỒ ÁN 3

Trang 10/32

OSC2/CLKOUT

nhịp.
Chân ngõ ra của mạch dao động thạch anh và là ngõ ra của

xung nhịp.
(Master Chân Reset. Lệnh tác dụng ở mức áp thấp.

MCLR

Clear)
RA0, RA1, RA2,

Chân xuất nhập của Port A.

RA3
RA4/TOCKI

Chân đa nhiệm, vừa làm chân xuất nhập của Port A và lại là

RB0/INT

chân lấy xung cho thanh đếm của đồng hồ Timer 0.
Chân đa nhiệm, vừa làm chân xuất nhập của Port B và lại là
chân phát động theo ngắt ngoài. Các chân của Port B có thể
được lập trình để có trở kháng lớn dùng để làm ngả vào, nhập
trạng thái ngoài vào PIC.


RB1, RB2, RB3

Chân xuất nhập Port B.

RB4, RB5

Chân xuất nhập của Port B và phát động ngắt theo sự thay đổi
trên các chân này.

RB6

Chân xuất nhập của Port B và phát động ngắt theo sự thay đổi
trên chân này. Nó còn có thể lập trình để dùng chân này phát
xung nhịp dùng cho công năng truyền dữ liệu nối tiếp.

RB7

Chân xuất nhập của Port B và phát động ngắt theo sự thay đổi
trên chân này. Nó còn có thể lập trình để dùng chân này trao
đổi dữ liệu dùng cho công năng truyền dữ liệu nối tiếp.

VSS

Chân nối đất để lấy dòng (ở đây là dòng điện tử).

VDD

Chân nối vào nguồn dương (từ 2V đến 5.5V).
BẢNG 2.1: CHỨC NĂNG CÁC CHÂN TRONG PIC16F877A.


Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)


ĐỒ ÁN 3
Trang 11/32

1.1.1.3Sơ đồ khối của PIC16F877A.

Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)


ĐỒ ÁN 3
Trang 12/32

HÌNH 2-2: SƠ ĐỒ KHỐI CỦA PIC16F877A[1].

1.1.2 LCD 16x2

-

HÌNH 2-3: SƠ ĐỒ CHÂN LCD 16X2 [1].

VSS

Chân nối đất cho LCD.

VDD

Chân cấp nguồn cho LCD (5 V).


VEE

Điều chỉnh độ tưởng phản cho LCD.

RS

Điều chỉnh thanh ghi nào sẽ ghi dữ liệu.

RW

Chọn chế độ đọc và ghi, tùy thuộc vào người lập trình.

E

Cho phép ghi vào LCD.

D0 - D7

8 đường bus để trao đổi thông tin.

LEDA/

Nguồn dương và âm cho đèn nền.

K

BẢNG 2-2: CHỨC NĂNG CÁC CHÂN TRONG LCD 16X2.
1.1.1.4SIM900A

Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)



ĐỒ ÁN 3
Trang 13/32

SIM900A có các chức năng cơ bản của một chiếc điện thoại thông thường như nhắn
tin, gọi điện…
Băng thông:
-

SIM900A: Dual-band GSM/GPRS 900/1800MHz.

-

SIM900: Quad-band GSM/GPRS 850/900/1800/1900MHz.

HÌNH 2-4: SƠ ĐỒ CHÂN SIM900A[1].

VCC

Nguồn vô 5V.

TXD

Chân truyền Uart TX.

RXD

Chân nhận Uart RX.


Headphone

Chân phát âm thanh.

Microphone

Chân nhận âm thanh .

GND

Chân Mass, cấp 0V.

BẢNG 2-3: CHỨC NĂNG CÁC CHÂN TRONG SIM900A.
 Tập lênh điều khiển.

Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)


ĐỒ ÁN 3
Trang 14/32

AT+CNMI

Hiển thị nội dung tin nhắn gửi đến

ATE[x]<CR><LF>(lệnh)

Chế độ echo là chế độ phản hồi dữ liệu truyền đến

OK<CR><LF>( trải lời)


của module Sim 900A, x = 1 bật chế độ echo , x =
0 tắt chế độ echo (bạn nên tắt chế độ này)

AT+CMGF=1<CR><LF>

Lệnh đưa SMS về chế độ Text , phải có lệnh này

OK<CR><LF>

mới gửi nhận tin nhắn dạng Text

AT+CMGS=”Số_điện

cấu trúc gửi tin nhắn.Đợi đến khi có ký tự ‘>’

_thoại”<CR><LF>

được gửi về. Gửi nội dụng tin nhắn “This is a test”

OK<CR><LF>

Đọc một nhắn vừa gửi đến, lệnh được trả về nội

AT+CMGR=1<CR><LF>

dung tin nhắn, thông tin người gửi, thời gian gửi

BẢNG 2-4: TẬP LỆNH AT TRONG SIM900a.
1.1.1.5Sensor cảm biến ánh sáng.

Sensor cảm biến ánh sáng sử quang trở có thể thay đổi điện trợ dựa vào ánh sáng
bên ngoài, tín hiệu ra vào của cảm biến tương ứng với các mưc 1 0 tượng trưng cho
trạng thái của thiết bị muốn bật hay tắt.
Gồm 3 chân:
-

VCC: chân cấp nguồn dương (3.3/5V).
VSS: chân nối đất
D0: chân dữ liệu, khi trời tối, điện trở tăng cao không cho dòng điện đi qua
và ngược lại. Dữ liệu sẽ được thu lại và truyền về vi điều khiển.

Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)


ĐỒ ÁN 3
Trang 15/32

HÌNH 2-5: SENSOR CẢM BIẾN ÁNH SÁNG [1].
1.1.1.6Module thời gian thực DS1307.
DS1307 là module cho phép người dùng có thể hiển thị thời gian chính xác với thời
gian trong thực tế bao gồm giờ, phút, giây.

HÌNH 2-6: MODULE THỜI GIAN THỰC [1].
X1

Kết nối đến thạch anh 32.768Khz làm nguồn dao động cho chip

Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)



ĐỒ ÁN 3
Trang 16/32

X2
VBat

Kết nối đến cực dương của Pin dự phòng, có điện áp tiêu chuẩn khoảng
3V

GND

Kết nối đến đất.

SDA

Chân dữ liệu khi kết nối đến bus I2C

SCL

Chân nhận xung clock đồng bộ khi kết nối bus I2C

SQW/OUT

Ngõ xuất xung vuông, tần số có thể lập trình để thay đổi từ 1Hz, 4Khz, 8
Khz, 32 Khz

VCC

Nguồn cấp 5VDC
BẢNG 2-5: CHỨC NĂNG CÁC CHÂN TRONG DS1307.


BẢNG 2-6: CHI TIẾT CÁC THANH GHI.

CHƯƠNG 3. THIẾT KẾ CHI TIẾT
1.7 Lưu đồ giải thuật
Bắt đầu

Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)


ĐỒ ÁN 3
Trang 17/32

Khởi tạo hệ thống

Đúng

Kiểm tra hệ thống

Sai

Gọi đến người

LCD tắt

Đúng
Xử lý
Hiện
thời gian, trạng


Dữ liệu từ sensor

Đúng

thái thiết bị

Kiểm tra lệnh
Đúng
Gửi tin điều

Thực hiện

khiển

lệnh

Kết thúc

Bắt đầu khởi tạo hệ thống, thực hiện chạy chương trình, nếu chương trình sai, LCD
tắt, điện thoại người dùng không nhận được cuộc gọi từ SIM900A. Nếu đúng, điện
thoại nhận được cuộc gọi.
Lúc này LCD hiện thời gian thực cùng trạng thái của các thiết bị trong mạch.

Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)


ĐỒ ÁN 3
Trang 18/32

Bắt đầu điều khiển thiết bị, người dùng gửi tin sms để điều khiển thiết bị theo lệnh,

tin nhắn được gửi về Sim900 và thông báo về khối điều khiển. PIC sẽ bật tắt thiết bị
tùy theo lệnh. Đồng thời LCD hiện trạng thái hiện tại của thiết bị và báo ngược về
điện thoại người dùng đã bật thiết bị thành công.
Kết thúc hoạt động.

1.8 Mạch nguyên lý.

HÌNH 3-1: MẠCH NGUYÊN LÝ TRÊN PROTEUS.

1.9 Layout mạch.

Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)


ĐỒ ÁN 3
Trang 19/32

HÌNH 3-2: LAYOUT MẠCH TRÊN PROTEUS.

CHƯƠNG 4. THI CÔNG MẠCH VÀ ĐO
ĐẠT ĐIỆN ÁP

Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)


ĐỒ ÁN 3
Trang 20/32

-


1.10 Yêu cầu mô phỏng
Nguồn 5 V - 1A.
Điện áp ở các chân ra vào của PIC: 3.3 V.
Điều khiển qua SIM900A, thời gian phản hồi 30s.
Điện áp ra ở các đèn: 3.3V.

-

1.11 Đo đạt thực tế
Nguồn 4.9 V~ 5 V, sai số cho phép 0.1 V.
Áp ra ở các chân I/O: 3.3 V, sai sô cho phép 0.1 V.
Áp ra ở đèn LED : 3,3V
Thời gian phản hồi trên điện thoại: 30S

CHƯƠNG 5. KẾT LUẬN
1.12 Nhận xét
Trong quá trình làm, em nhận thấy mình còn nhiều thiếu sót trong quá trình thực
hiện như hàn mạch chưa chắc chắn. Còn thiếu sót khi tham khảo các tài liệu tiếng
anh.
Khả năng lập trình còn hạn chế.
1.13 Khả năng ứng dụng
Ứng dụng vi xử lý vào điều khiển các thiết bi trong nhà , có thể giao tiếp với máy
tính để hiện thi các thông số cần đo,và quan sát được không gian xung quang và
trong nhà. Và qua đó đưa ra các lệnh điều khiển qua điện thoại.

Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)


ĐỒ ÁN 3
Trang 21/32


Mạch hẹn giờ bật tắt thiết bị ứng dụng nhiều trong sử dụng bật tắt tưới nước tự động
trong nhà mà không cần có mặt, có thể ở xa và giám sát trạng thái thiết bị đang bật.
Có thể ứng dụng trong nông nghiệp
1.14 Hướng phát triển của đề tài.
Nếu đề tài được đầu tư nhiều hơn về tài chinh, thời gian. Thì có thể sẽ tiếp tục phát
triển thêm nhiều tính năng:
Điều khiển bằng cách gọi điện, thông qua giọng nói.
Thay thế đèn LED bằng các thiết bị gia dụng, các hệ thống tưới nước.
Tiếp tục nghiên cứu các tính năng qua giọng nói.
Có thể giám sát qua máy tính, giảm chi phí qua đường dây điện thoại.

Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)


ĐỒ ÁN 3
Trang 22/32

TÀI LIỆU THAM KHẢO
Tiếng Việt:
[1]

.

Tiếng Anh:
[2]

.

[3]


.

[4]

.

[5]



Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)


ĐỒ ÁN 3
Trang 23/32

PHỤ LỤC
#include <main.h>
#include <DS1307.h>
/
*******************************************************************
*******************************************************************
***/
/
*******************************************************************
*******************************************************************
***/
//Khai bao bien toan cuc
char sms[90]; //Luu tin nhan nhan duoc vao mang

char c,c1,c2,c3,c4;//Kiem tra co tin nhan moi
unsigned int8 i=0,j=0,k=0;
unsigned int8 new_sms=0,hen;
unsigned int8 index=0;
char st[4];
#define as input(pin_D5)
int Giay,Phut , Gio ,tam;
/
*******************,************************************************
*******************************************************************
***/
void Delete_SMS(); //Ham xoa tin nhan

Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)


ĐỒ ÁN 3
Trang 24/32

void send_sms(unsigned char n); //Ham gui tin nhan xac dinh sim900a khoi dong
xong
void call();
void anh_sang();
void khoi_tao(); //Cau hinh SIM
void clear_buffer(unsigned int8 time); //Reset lai bo nho dem de tranh bi treo
void Turn_ON(char name); //Ham bat thiet bi
void Turn_OFF(char name); //Ham tat thiet bi
void All_ON(); //Ham tat ca bat thiet bi
void All_OFF(); //Ham tat ca tat thiet bi
//Khi gui tin nhan den SIM900A se xay ra ngat RDA

#INT_RDA
void Serial(){ //Ngat du lieu khi truyen nhan (Ngat UART)
//-------------

Phan

nhan

xu

ly

tin

nhan----------------------------------------------------------------------------------------------c= getc(); //Gan ki tu vua moi nhan dc vao bien tam
sms[index++]=c;
//Nap ki tu vao mang
if(index>90) {index=0;}
if(c=='+') c1=c;
if(c=='C') c2=c;
if(c=='M') c3=c;
if(c=='T') c4=c;

Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)


ĐỒ ÁN 3
Trang 25/32

if(c1=='+' && c2=='C' && c3=='M' && c4=='T') new_sms=1; //Kiem tra du lieu

ban dau no nhan duoc chinh la tin nhan moi

}
void main()
{
// set_tris_C(0b10000000);
lcd_init(); //Ham khoi tao LCD
lcd_putc('\f'); //Xoa trang man hinh
enable_interrupts(INT_RDA); //Cho phep ngat UART
enable_interrupts(GLOBAL);
delay_us(10);
All_OFF();
khoi_tao();
clear_buffer(1);
lcd_gotoxy(1,1);
printf(lcd_putc," He thong khoi ");
lcd_gotoxy(1,2);
printf(lcd_putc," dong hoan tat! ");
delay_ms(5000);
while(true)
{
Turn_ON(sms[0]);
Turn_OFF(sms[0]);

Mạch điều khiển và giám sát thiết bị trong nhà qua điện thoại (SMS)


×