Đồ án lập trình hệ thống vi điều khiển Đề tài gậy thông minh hỗ trợ người khiếm thính Thực tiễn : Ngày nay trên thế giới với sự bùng nổ của các ngành công nghệ thông tin, điện tử, viễn thông v.v… Đã làm cho chất lượng đời sống của con người ngày càng nâng cao và hoàn thiện hơn. Các thiết bị tự động hóa đã ngày càng xâm lấn vào trong quá trình sản xuất và thậm chí là vào cuộc sống sinh hoạt hằng ngày của mỗi con người. Hiện nay ở Việt Nam có khoảng 3 triệu người khiếm thị. Họ gặp rất nhiều khó khăn về việc đi lại trong cuộc sống. Tuy có nhiều sản phẩm trên thị trường dành cho những người này nhưng giá thành cao và cách sử dụng còn phức tạp
Trang 1Đà Nẵng, 12/2016
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN Tel:(84-511)3736 949 Fax(84-511)3842 771 Website:itf.dut.udn.vn Email:cntt@dut.udn.vn
BÁO CÁO ĐỒ ÁN
LẬP TRÌNH HỆ THỐNG
VI ĐIỀU KHIỂN
GVHD: TS Trần Thế Vũ SVTH: Ngô Thị Diệu Hằng 14N10B
Trịnh Minh An 14N10B Bùi Văn Thảo 14N12A LỚP: 14T2
ĐỀ TÀI:
“GẬY THÔNG MINH HỖ TRỢ
NGƯỜI KHIẾM THỊ”
Trang 2Lời cảm ơn
Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác Trong suốt thời gian thực hiện đề tài, chúng em đã nhận được rất nhiều sự quan tâm của quý thầy/cô, gia đình và bạn bè
Với lòng biết ơn sâu sắc em xin gửi đến quý thầy cô ở khoa công nghê thông tin
đã cùng với tri thức và tâm huyết của mình truyền đạt vốn kiến thức quý báu cho chúng em Và đặc biệt trong học kỳ này, khoa đã giúp cho chúng em tiếp cận được với môi trường làm việc thực tế thông qua học phần “Đồ án Vi Điều Khiển”
Để hoàn thành được đồ án môn học này, chúng em xin chân thành cảm ơn đến
TS Trần Thế Vũ đã tận tình giúp đỡ chúng em trong suốt thời gian làm đồ án.
Cảm ơn các bạn cũng nhóm làm việc đã hết sức năng nổ, nhiệt tình, không quản ngày đêm cũng nhau hoàn thành nhiệm vụ được giao
Sự thành công của môn học này chính là nhờ sự đóng góp công sức không hề nhỏ của thầy và các bạn Trong quá trình hoàn thành công việc, chúng em không thể tránh được sai sót Vậy nên, chúng em rất mong quý thầy/cô thông cảm cho những sai sót ấy
và ghi nhận những gì chúng em đã làm được
Một lần nữa, chúng em xin cảm ơn quý thầy/cô đã bỏ ra thời gian quý báu của mình để thông qua đồ án Vi Điều Khiển của chúng em
Chân thành cảm ơn!
Nhóm sinh viên thực hiện
Trang 3MỤC LỤC
Lời cảm ơn 1
I Mục tiêu đồ án 3
I.1 Phân tích yêu cầu 3
I.2 Đặc tả yêu cầu 3
II Phân công công việc 4
III Mô tả chi tiết hệ thống 4
IV Giải pháp thực hiện 5
1 Phần cứng 5
1.1 Nguyên lý hoạt động phần cứng 5
1.2 Các chân và cách nối mạch của từng thiết bị 7
1.3 Sơ đồ mạch điện 9
2 Nguyên lý hoạt động phần mềm 9
2.1 Nguyên lý hoạt động 9
2.2 Các thư viện/framework đã sử dụng 10
V Kê khai linh kiện và chi phí 10
VI Đánh giá hệ thống 11
1 Độ ổn định và chính xác 11
2 Tốc độ thực thi 11
3 Ưu điểm 11
4 Nhược điểm 11
5 Tính thực tế 11
6 Hướng cải tiến 11
VII Kết luận 12
1 Những việc đã làm được 12
2 Những việc chưa làm được 12
Trang 4I Mục tiêu đồ án
Đề tài : Gậy thông minh dành hỗ trợ cho người khiếm thị
Thực tiễn : Ngày nay trên thế giới với sự bùng nổ của các ngành công nghệ thông tin, điện tử, viễn thông v.v… Đã làm cho chất lượng đời sống của con người ngày càng nâng cao và hoàn thiện hơn Các thiết bị tự động hóa đã ngày càng xâm lấn vào trong quá trình sản xuất và thậm chí là vào cuộc sống sinh hoạt hằng ngày của mỗi con người Hiện nay ở Việt Nam có khoảng 3 triệu người khiếm thị Họ gặp rất nhiều khó khăn về việc đi lại trong cuộc sống Tuy có nhiều sản phẩm trên thị trường dành cho những người này nhưng giá thành cao và cách sử dụng còn phức tạp Chính vì thế nhóm chúng em quết định tận dụng các đồ vật có sẵn, mua các linh kiện đã chế tạo và cho ra đời chiếc gậy cầm tay dành cho người khiếm thị để hỗ trợ, giúp đỡ những người kém may mắn này
I.1 Phân tích yêu cầu
Có hai chức năng chính của gậy thông minh này là giúp người đi đường phát hiện vật cản ở phía trước và giúp người thân có thể đinh vị được vị trí của người khiếm thị thông qua app khi cần thiết
I.2 Đặc tả yêu cầu
- Đối với chức năng giúp người đi đường phát hiện vật cản: sẽ có một cảm biến siêu âm giúp nhận biết có vật cản ở phía trước hay không rồi sẽ thông báo qua loa bằng tiếng kêu với các tần suất khác nhau, vật cản càng gần thì âm phát ra càng to và tần suất càng nhanh
- Đối với chức năng giúp người thân có thể đinh vị được vị trí của người khiếm thị thông qua app: khi mở app ra thì sẽ có một button, nhấn button thì sẽ yêu cầu định vị vị trí của người khiếm thị đang ở đâu, nhận thông tin và hiển thị lên app thông qua map, người thân sẽ biết được vị trí người khiếm thị đang ở đâu
Trang 5II Phân công công việc
Bảng 1 Phân công công việc
ST
T
1 Ngô Thị Diệu Hằng - Tìm hiểu nguyên lý hoạt động của module GPS
NEO 6
- Xử lý code sử dụng module GPS để định vị vị trí hiện tại
- Tìm hiểu và code App Android hỗ trợ định vị
- Đề xuất giải pháp về phần cứng
2 Bùi Văn Thảo - Tìm hiểu nguyên lý hoạt động của cảm biến
siêu âm và còi buzzer
- Xử lý code sử dụng cảm biến siêu âm để đo khoảng cách và báo tín hiệu ra còi buzzer
- Thực hiện lắp ráp linh kiện kết nối với phần cứng
- Viết báo cáo
3 Trịnh Minh An - Tìm hiểu nguyên lý hoạt động của module
SIM800A
-Xử lý code sử dụng Module SIM gọi điện và nhắn tin
- Kết nối các linh kiện với nguồn với 2 arduino
và xử lý code giữa các linh kiện
- Xử lý giải thuật chính của chương trình
III Mô tả chi tiết hệ thống
Sử dụng cảm biến khoảng cách HC-SR04 và loa buzzer để cảnh báo người sử dụng nếu có vật cản phía trước với nhiều tần suất khác nhau
Sử dụng App thiết kế sẵn cùng với Module SIM800A và Module GPS NEO 6 để định vị vị trí hiện tại của người sử dụng thiết bị bằng tin nhắn SMS
Trang 6IV Giải pháp thực hiện
1 Phần cứng
1.1 Nguyên lý hoạt động phần cứng
Bảng 2 Nguyên lý hoạt động phần cứng
Cảm biến siêu
âm
Cảm biến siêu âm SRF05 cũng hoạt động theo như nguyên tắc ở trên, thiết
bị gồm có 2 loa - thu và phát
- cùng với 5 chân để kết nối với Arduino Theo tài liệu của nhà sản xuất thì tầm hoạt động tối đa của cảm biến này nằm trong khoảng 5m
Module
SIM800A
Những dự án xây dựng các hệ thống điều khiển từ xa, gửi nhận dữ liệu thu thập từ các cảm biến ở những nơi không
có internet thì sử dụng sóng điện thoại là giải pháp duy nhất
vì chi phí rẻ, bất chấp khoảng cách và độ ổn định cao Với Modul sim 800A kết hợp với mạch xử lý arduino uno hoặc mega các bạn có thể làm được nhiều hệ thống tương đối tốt có thể ứng dụng vào thực tế như bộ định vị, các hệ thống điều khiển thiết bị từ xa qua điện thoại, sms makerting,
Trang 7Module GPS
NEO6
Xác định tọa độ (kinh tuyến, vĩ tuyến) hiện tại của module trên
bề mặt trái đất với sai số nhỏ
nhất < 1m Xác định thời gian
quốc tế được cấp bởi đồng hồ nguyên tử trên vệ tinh gửi về
Từ đó bạn cũng có thể suy ra thời gian đồng hồ nơi ở của bạn theo tắc trừ múi giờ Khỏi cần module RTC.Có thể tính toán ra tốc độ di chuyển, hướng di chuyển của vật thể được gắn module GPS
Buzzer( còi
chip)
Điện hoạt hoạt động 3V
- Kích thước: 9.5x12mm
- Màu sắc: Đen
- 2 Chân âm dương chân dài là chân dương chân ngắn là chân âm
Công dụng: Cung cấp toàn bộ
năng lượng cho thiết bị
Có thể sạc thông qua mạch sạc
Trang 8Arduino Board Arduino Nano là một
trong những phiên bản nhỏ gọn của board Arduino Arduino Nano có đầy đủ các chức năng và chương trình
có trên Arduino Uno
do cùng sử dụng MCU ATmega328P Nhờ việc sử dụng IC dán của
ATmega328P thay vì IC chân cắm nên Arduino Nano
có thêm 2 chân Analog so với Arduino Uno
1.2 Các chân và cách nối mạch của từng thiết bị
1.2.1 Cảm biến siêu âm HC-SR04
Bảng 3 Cách nối mạch HC-SR04 và Arduino
1.2.2 Còi Buzzer
Bảng 4 Cách nối còi buzzer và Arduino
Trang 91.2.3 Module SIM800A
Bảng 5 Cách nối mạch module SIM800A và Arduino
1.2.4 Module GPS NEO 6
Bảng 6 Cách nối mạch module GPS và Arduino
1.2.5 Arduino Nano
Bảng 7 Cách nối mạch relay và Arduino
Trang 101.3 Sơ đồ mạch điện
Hình 1.Sơ đồ mạch điện
2 Nguyên lý hoạt động phần mềm
2.1 Nguyên lý hoạt động
1/ Khi bật công tắc khởi động, công việc đầu tiên được thực hiện chính là import các thư viện và khai báo các biến cần thiết, sau đó khởi động Module GPS và cảm biến siêu âm thông qua các hàm setup() trong chương trình
2/ Tiếp theo là xác định xem module GPS có trả về được toạ độ hay không, nếu
có thì lưu toạ độ vào biến mes và khởi động module SIM, kiểm tra tin nhắn mới chứa trong SIM, còn nếu không thì tiếp tục việc lấy toạ độ từ module GPS
Các công việc này được thực hiện trong vòng lặp loop() của chương trình chính 3/ Hàm setupSIM() đầu tiên sẽ khởi động module SIM sau đó thực hiện lặp 20 lần công việc có tin nhắn mới đúng với cú pháp và số điện thoại đã lưu hay không ? Nếu có thì trả lời lại toạ độ hiện tại lưu trong biến mes, nếu không thì thực hiện các bước tiếp theo
4/ Song song với tiến trình 2: trong hàm loop() của Arduino còn lại thì thực hiện
Trang 11công thức khoang_cach = (thoi_gian / 2 / 29.412) Sau đó thực hiện kiểm tra
khoang_cach để chọn tần số phát âm thanh phù hợp
Sơ đồ giải thuật bên trong Arduino Nano điều khiển SIM và GPS
2.2 Các thư viện/framework đã sử dụng
- Thư viện SoftwareSerial.h dùng để giả lập chân RX, TX cho arduino
- Thư viện TinyGPS++.h sử dụng cho module GPS
- Thư viện SIM900.h sử dụng cho module SIM800A
- Thư viện EEPROM.h sử dụng cho cảm biến siêu âm
V Kê khai linh kiện và chi phí
Bảng 3 Kê khai linh kiện
Trang 12- Tùy thuộc vào nhiều yếu tố để quyết định độ ổn định, tính chính xác của thiết
bị mà yếu tố tác động chính đó chính là sự chính xác của cảm biến siêu bởi vì các chế độ tự động đều dựa trên hoạt động của các cảm biến này Cảm biến HC-SR04 là loại giá thành rẻ nên hoạt động không ổn định, chập chờn
- Yếu tố lớn thứ hai để quyết định độ ổn định, tính chính xác của hệ thống là cài đặt thuật toán Vì module GPS rất khó để lấy được toạ độ nên phải cài đặt thuật toán hợp lý để khi module GPS không hoạt động thì sẽ tự động lấy toạ
độ cũ trước đó để gửi về điện thoại
2 Tốc độ thực thi
- Hệ thống xử lý bằng cảm biến siêu âm hoạt động nhanh, ổn định
- Hệ thống xử lý SMS bằng module SIM và GPS thì hoạt động chậm hơn vì các module này thường khởi động rất lâu và rất dễ bị xung đột
3 Ưu điểm
- Sử dụng arduino Nano nên mạch nhỏ gọn phù hợp với việc học tập và nghiên cứu về vi điều khiển và ứng dụng của nó vào đời sống hằng ngày
- Linh kiện phổ biến, dễ dàng có thể thực hiện việc mô phỏng
- Sử dụng pin có thể sạc lại hằng ngày sau khi sử dụng
4 Nhược điểm
- Mạch đồ án thực hiện sử dụng cảm biến siêu âm giá rẻ nên ko ổn định, module GPS phải chọn nơi thoáng đãng để lấy đc toạ độ
5 Tính thực tế
- Sử dụng để hỗ trợ cho người khiếm thị dò đường, đỡ vất vả hơn trong cuộc sống
- Giúp cho người thân của họ có thể dễ dàng định vị được vị trí của họ để đưa
sự giúp đỡ đến sớm nhất
6 Hướng cải tiến
- Sử dụng GPRS thay cho việc nhắn tin qua SMS
- Nâng cấp App Android để dễ dàng thao tác hơn
VII Kết luận
Trang 13- Tính được khoảng cách lấy từ cảm biến siêu âm để từ đó phát tín hiệu báo động cảnh báo người dùng
2 Những việc chưa làm được
- Chức năng chỉ đường trên app chưa hoàn thành được
- Chưa sử dụng GPRS để thay cho gửi tin nhắn bằng SMS được