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 (2.12 MB, 54 trang )
32
(3.16)
(3.17)
Trong đó
là gia tốc thành phần theo các trục của gia tốc di chuyển tổng cộng
,
là các giá trị góc lệch của gia tốc di chuyển so với các trục.
Ở phương pháp pháp hiện đởn giản chỉ cần đưa giá trị gia tốc đi chuyển tổng cộng
vào vòng lặp so sánh với giá trị 3G.
Ở phương pháp phát hiện ngã dựa vào định hướng sau khi phát hiện được a>=3G
tại thời điểm t0 cần xét thêm các giá trị sau:
(3.16)
(3.17)
(3.18)
Các giá trị
,
sẽ chỉ ra góc lệch của gia tốc tại 2 thời điểm. Nếu góc lệnh này lớn
0
hơn 35 thì kết luận là ngã.
Ở phương pháp phát hiện ngã dựa vào định hướng đầu cuối và định hướng quá trình sau
khi phát hiện được chấn động và kiểm tra các giá trị
,
vẫn chưa kết luận được
cần xét thêm các biến sau trong quá trình khảo sát 3s.
(3.19)
Nếu các
,
(3.20)
(3.21)
thay đổi một lượng >= 1G cũng xác định đây là ngã và gửi tin nhắn.
3.3.2 Quá trình hiển thị
Do mô hình có hai kiểu hiển thị là trên LCD 16x2 và trên máy tính nên chương trình trên
vi xử lý cần có hai hàm hiển thị riêng biệt đó là hàm hiển thị trên LCD và hàm giao tiếp
rs232 với máy tính. Do cùng sử dụng đường truyền trên giao tiếp UART nên cần có cách
định hướng đối tượng truyền đến vì truyền đi những giá trị khác nhau. Giao diện trên VB
phải lựa chọn dữ liệu trên đường truyền để hiển thị và vẽ biểu đồ cho các quá trình thử
nghiệm.
3.3.3 Quá trình gửi tin nhắn.
Khi vi xử lý đã hoàn tất quá trình tính toán và nhận ra ngã nó sẽ ra lệnh cho modul Sim
gửi tin nhắn. Sự kiện này có thể xảy ra bất cứ lúc nào vị vậy trong chương trình chính
luôn phải quét quá trình này.
33
Hàm reset sim:
printf("ATZ\n\r") ta gửi liên tiếp các lệnh ATZ tới Sim để reset. Và chờ đến khi nào mô đun
sim trả về chuỗi Ok là mô đun đã sẵn sang làm việc.
while(i++)
{ A[i]=getchar();
if((A[0]=='\n')&&(A[1]=='O')&&(A[2]=='K')&&(A[3]=='\r')&&(A[4]=='\n'))brea ; }
lcd_gotoxy(4,0);//lcd_putsf("Reset Sim");
Hàm gửi tin nhắn:
void gui_tn()
{ printf("AT+CMGS=\""); Gửi lệnh cho mô đun chuẩn bị viết tin nhắn
printf("0979317151");
Số điện thoại cần gửi
printf("\"\r\n");
i=0;
while(i++)
//Chờ xác nhận từ mô đun Sim là chuỗi OK
{
A[i]=getchar();
if((A[0]=='\n')&&(A[1]=='O')&&(A[2]=='K')&&(A[3]=='\r')&&(A[4]=='\n'))break; }
printf(" Bi nga roi"); // Nội dung tin nhắn
putchar(0x1A);
// Kỹ tự kết thúc
Hàm khởi động mô đun Sim sẽ được khởi tạo ngay khi vào chương trình, hàm gửi tin
nhắn sẽ được đưa vào vòng lặp cùng với chu kì quét gia tốc và phát hiện ngã. Khi nào có
điều kiện ngã thỏa mãn chỉ cần gọi hàm gửi tin nhắn tự động mô đun Sim sẽ gửi tin nhắn
đến thuê bao đã được chọn sẵn.
34
CHƯƠNG 4 KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ
4.1 Xây dựng mô hình nhận dạng ngã
Sau khi thiết kế xong mô hình trên các phần mềm đã tiến hành hoàn thành trên mô hình
thực với các khối chức năng như mô hình lý thuyết.
4.1.1 Khối modul Sim
Khối mô đun Sim là khối được tích hợp sẵn hầu hết các chuẩn giao tiếp và cổng kết nối.
Đây là mô đun bán sẵn trên thị trường. Khi làm việc với mô đun này ta chỉ cần gắn Sim
vào khay sim, kết nối nguồn cho mô đun và nối 2 đầu dây giao tiếp UART với vi điều
khiển là có thể thực hiện quá trình điều khiển truyền nhận dữ liệu và thu phát tin.
Hình 4.1 Khối modul Sim 458
Nhược điểm của khối này là:
- Tích hợp nhiều cổng kết nối không dung
- Khối lượng và kích thước lớn
- Công suất tiêu hao năng lượng lớn
- Kết cấu đóng nên khả năng mở rộng khó
4.1.2 Khối cảm biến và vi xử lý
35
Hình 4.2 Khối điều khiển trung tâm
Đây là khối được thiết kế và làm bằng tay. Trên một bo mạch 10x10 cm. Có tích hợp
đầy đủ các cổng nạp cho chương trình, cổng Com để kết nối máy tính. Mạch này có
thể được cấp nguồn từ adaptor hoặc từ pin.
a. Khối mạch tích hợp
Sau khi thiết kế phiên bản một còn một số hạn chế về nguồn, kích thước, khả năng
linh hoạt có thể mang trên cơ thể. Phiên bản hai được thiết kế lại giảm bớt các khối
chức năng nhưng có thể gần giống hơn một thiết bị có khả năng mang theo người.
Hình 4.3 Khối mạch tích hợp mặt trước