- Viết chương trình cho Arduino để điều khiển động cơ và sử dụng các khối đo nhiệt độ, độ ẩm của Robot.. Tuần 5,6 Viết chương trình cho Arduino để điều khiển động cơ và sử dụng các khối
Trang 1ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG
THIẾT KẾ, THI CÔNG ROBOT BẰNG ARDUINO VÀ ĐIỀU KHIỂN DÙNG ĐIỆN THOẠI ANDROID
GVHD: TS NGUYỄN THANH HẢI SVTH: TRẦN TRUNG HIẾU MSSV: 15341009
SVTH: ĐINH CÔNG NGỌC THUẬN MSSV: 15341030
S K L 0 0 4 5 7 5
Trang 2BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP
GVHD: TS Nguyễn Thanh Hải SVTH: Trần Trung Hiếu
Đinh Công Ngọc Thuận
MSSV: 15341009
Trang 3BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP
DÙNG ĐIỆN THOẠI ANDROID
Trang 4Tp HCM, ngày 05 tháng 01 năm 2017
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: Trần Trung Hiếu MSSV: 15341009
Đinh Công Ngọc Thuận MSSV: 15341030 Chuyên ngành: Kỹ thuật Điện - Điện tử Mã ngành: 01
Hệ đào tạo: Đại học chính quy Mã hệ: 1
I TÊN ĐỀ TÀI: THIẾT KẾ, THI CÔNG ROBOT BẰNG ARDUINO VÀ ĐIỀU
KHIỂN DÙNG ĐIỆN THOẠI ANDROID
II NHIỆM VỤ
1 Các số liệu ban đầu:
- Đọc và tham khảo các tài liệu trước đó
- Dựa vào những mô hình xe Robot trước đó
2 Nội dung thực hiện:
- Thiết kế, thi công bộ khung và mô hình cho Robot
- Tính toán và lựa chọn nguồn phù hợp
- Tính toán, thiết kế lựa chọn các cảm biến, động cơ giao tiếp với Arduino
- Viết chương trình cho Arduino để điều khiển động cơ và sử dụng các khối đo nhiệt
độ, độ ẩm của Robot
- Thiết kế giao diện và ứng dụng điều khiển trên điện thoại Android giao tiếp với Arduino
- Lắp ráp các khối điều khiển vào mô hình Robot cho hoàn chỉnh
- Chạy thử nghiệm Robot
- Cân chỉnh hệ thống
- Viết sách luận văn
- Báo cáo đề tài tốt nghiệp
Trang 5CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP
Trang 6Tên đề tài: THIẾT KẾ, THI CÔNG ROBOT BẰNG ARDUINO VÀ ĐIỀU
KHIỂN DÙNG ĐIỆN THOẠI ANDROID
GVHD
Tuần 1 Gặp giáo viên hướng dẫn, chọn đề tài
Tuần 2 Thiết kế, thi công bộ khung và mô hình cho xe Robot
Tuần 3 Tính toán và lựa chọn nguồn phù hợp
Tuần 4 Tính toán, thiết kế lựa chọn các cảm biến, động cơ giao tiếp với Arduino
Tuần 5,6 Viết chương trình cho Arduino để điều khiển động cơ và sử dụng các khối đo nhiệt độ, độ ẩm của Robot
Tuần 7 Thiết kế giao diện và ứng dụng điều khiển trên điện thoại Android giao tiếp với Arduino
Tuần 8, 9 Lắp ráp các khối điều khiển vào mô hình Robot cho hoàn chỉnh
Tuần 10 Kết hợp các chương trình Chạy thử mô hình xe Robot
Tuần 11 Chỉnh sửa và hoàn thiện chương trình Viết luận văn
Tuần 12 Viết luận văn
Tuần 13 Chỉnh sửa và hoàn thành luận văn
GV HƯỚNG DẪN (Ký và ghi rõ họ và tên)
Trang 7Đề tài này là do nhóm chúng tôi tự thực hiện dựa vào một số tài liệu trước đó và không sao chép từ tài liệu hay công trình đã có trước đó
Người thực hiện đề tài Trần Trung Hiếu
Đinh Công Ngọc Thuận
Trang 8Chúng em xin gửi lời cảm ơn sâu sắc đến Thầy Nguyễn Thanh Hải - Trưởng bộ môn Điện Tử Công Nghiệp, cùng lời cảm ơn đến các thầy cô trong Khoa Điện-Điện
Tử nói chung hay Bộ Môn Điện Tử Công Nghiệp nói riêng đã hướng dẫn và tận tình giúp đỡ nhóm tạo điều kiện để nhóm chúng em hoàn thành tốt đề tài
Chúng em xin gửi lời chân thành cảm ơn các thầy cô trong Khoa Điện-Điện Tử
đã tạo những điều kiện tốt nhất cho chúng em hoàn thành đề tài
Chúng em cũng gửi lời đồng cảm ơn đến các bạn lớp 153410A đã chia sẻ trao đổi kiến thức cũng như những kinh nghiệm quý báu trong suốt thời gian thực hiện đề tài Cuối cùng, chúng con xin gởi lời cảm ơn đến cha mẹ, những người đã cho chúng con cuộc sống này để chúng con được ăn học và phát triển như ngày hôm nay
Xin chân thành cảm ơn!
Người thực hiện đề tài Trần Trung Hiếu
Đinh Công Ngọc Thuận
Trang 9Trang bìa i
Nhiệm vụ Đồ Án ii
Lịch trình làm Đồ Án iv
Lời cam đoan v
Lời cảm ơn vi
Mục lục vii
Liệt kê hình vẽ x
Liệt kê bảng vẽ xiii
Tóm tắt xiv
CHƯƠNG 1 TỔNG QUAN 1
1.1 Đặt vấn đề 1
1.2 Mục tiêu 1
1.3 Nội dung nghiên cứu 2
1.4 Giới hạn 2
1.5 Bố cục 2
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 4
2.1 Tổng quan về Robot 4
2.2 Tổng quan về cơ sở dữ lệu (FireBase) 5
2.2.1 Khái niệm FireBase và những công cụ chính 5
2.2.2 Lợi ích khi sử dụng cơ sở dữ liệu (FireBase) 6
2.3 Cách tạo Project Android với FireBase 7
2.3.1 Tạo 1 Project FireBase 7
2.3.2 Tích hợp Project FireBase vào Android 9
2.4 Giới thiệu về KIT ESP8266 NODEMCU 13
2.4.1 Thông số kỹ thuật 14
2.4.2 Sơ đồ chân 14
2.5 Truyền nhận dữ liện UART 15
2.6 Giới thiệu về cảm biến DHT11 16
2.6.1 Thông số kỹ thuật 16
Trang 102.6.3 Sơ đồ kết nối với MCU 17
2.7 Giới thiệu về mạch cầu H (L298N) 17
2.7.1 Thông số kỹ thuật 17
2.7.2 Hình ảnh và chức năng từng chân của L298N 18
2.8 Giới thiệu về động cơ DC 19
2.8.1 Thông số kỹ thuật 19
2.8.2 Cấu tạo 19
2.9 Giới thiệu về cảm biến siêu âm (SRF05) 20
2.10 Giới thiệu về VĐK ATMEGA328P 24
CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ 26
3.1 Giới thiệu 26
3.2 Tính Toán Và Thiết Kế Hệ Thống 26
3.2.1 Thiết kế sơ đồ khối hệ thống 26
3.2.2 Tính toán và thiết kế mạch 27
CHƯƠNG 4 THI CÔNG HỆ THỐNG 36
4.1 Thi Công Mạch Atmega 328p 36
4.1.1 Mạch nguyên lý 36
4.1.2 Mạch in 37
4.1.3 Mạch thực tế 38
4.2 Thi Công Hệ Thống 38
4.2.1 Mô hình Robot 38
4.2.2 Mạch điện 41
4.3 Lập Trình Hệ Thống 42
4.3.1 Lưu đồ giải thuật 42
4.3.2 Phần mềm lập trình cho ESP8266 v12 và Atmega328P 48
4.3.3 Phần mềm lập trình Android Studio 49
4.4 Viết Tài Liệu Hướng Dẫn Sử Dụng, Thao Tác 58
CHƯƠNG 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ .62
5.1 Kết quả 63
Trang 11CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 65
6.1 Kết luận 65
6.2 Hướng phát triển 65
TÀI LIỆU THAM KHẢO 66
PHỤ LỤC 67
Trang 12Bảng 3.1: Thông số kỹ thuật của nguồn acquy APOLO 12V 28 Bảng 3.2 Các thông số thực tế của nguồn acquy APOLO 12V 28 Bảng 4.1: Các linh kiện sử dụng trong mạch 36
Trang 13Ngày nay, trong thời kỳ Công Nghiệp Hóa và Hiện Đại Hóa đất nước, ngành công nghiệp Robot phát triển rất nhanh chóng và mạnh mẽ, Robot dần thay thế con người làm việc trong các môi trường độc hại và nặng nhọc cũng như những công việc đòi hỏi tính chính xác cao Trong đó xe Robot (xe tự hành) đang được chú trọng phát triển bởi tính linh hoạt, thông minh và tính ứng dụng khá cao của nó Công nghệ Robotic phát triển đòi hỏi không những các cơ cấu chân tay mà còn những cơ cấu cảm nhận, đặc biệt là xử lý giọng nói được coi như một công nghệ tiên tiến hàng đầu Đề tài này đề cập đến vấn đề xây dựng mô hình xe tự động di chuyển dùng công nghệ xử
lý giọng nói để điều khiển và nhận dạng vật cản phía trước để dừng tránh bị va chạm với vật cản
Đề tài tìm hiểu cơ sở lý thuyết của xử lý giọng nói để thực hiện việc điều khiển
xe Robot Bên cạnh đó, nhóm cũng tập trung nghiên cứu vấn đề điều khiển xe Robot bằng tay thông qua điện thoại Android cho quá trình điều khiển xe và hướng di chuyển của xe dễ dàng hơn Đề tài được ứng dụng và lắp đặt thêm các cảm biến siêu âm giúp cho xe Robot hoạt động linh hoạt và tối ưu hơn trong điều kiện môi trường có nhiều vật cản Mô hình xe Robot bao gồm khung xe Robot, Module Wifi ESP8266 v12, Module L298N (mạch cầu H), Cảm Biến Siêu Âm, Cảm Biến Nhiệt Độ-Độ Ẩm (DHT11), điện thoại Android, phần mềm Android Studio và Arduino IDE cùng các thư viện cho Arduino Với những vấn đề được nhóm nghiên cứu và tiến hành ở trên,
đề tài đã thực hiện được xe Robot có khả năng di chuyển dựa vào điều khiển bằng giọng nói và có thêm chế độ điều khiển bằng tay, xe Robot còn nhận dạng được vật cản phía trước và gửi thông số của môi trường (nhiệt độ và độ ẩm) về cho người điều khiển
Trang 14Chương 1 TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Trong cuộc sống ngày càng phát triển như hôm nay, ngành công nghiệp đóng một vai trò quan trọng trong nền Kinh tế, Khoa học và Kỹ thuật Các Robot sẽ bắt đầu thay thế dần công việc của con người tạo ra những sản phẩm với độ chính xác cao và giúp phát triển các ngành công nghiệp ngày càng hiện đại và hoàn thiện hơn Robot cũng có thể làm việc được ở những môi trường độc hại, khắc nghiệt mà con người không thể đặt chân đến những nơi đó
Qua quá trình tìm hiểu và tham khảo một số tài liệu liên quan đến đề tài Đồ Án Tốt Nghiệp của nhóm, có một số đề tài liên quan đến đề tài nhóm đang nghiên cứu như
là “ Điều khiển Robot qua Bluetooth” [1]: Khi kích hoạt chương trình sẽ xác nhận việc thiết lập kết nối Bluetooth giữa Robot và bộ điều khiển để điều khiển Robot Cũng như
đề tài “Điều khiển đèn bằng giọng nói qua Bluetooth” [2]: Robot (đèn) hiểu được giọng nói hay ngôn ngữ của điều khiển để thực hiện đúng yêu cầu đòi hỏi người lập trình phải thiết lập đường truyền (Bluetooth) hạn chế xảy ra nhiễu trong quá trình điều khiển, viết chương trình nhận diện giọng nói Tuy nhiên, hạn chế của những đề tài này
là bị giới hạn bởi khoảng cách thu phát của sóng Bluetooth, cũng như chưa có nhiều chức năng
Sau khi tìm hiểu và phát triển đề tài từ các đề tài đã nêu trên, nhóm đã quyết định
sử dụng phương thức truyền qua Internet để tăng khoảng cách điều khiển, đồng thời bổ sung một số chức năng thiết thực như lấy nhiệt độ, độ ẩm để sử dụng trong thực tế Chính vì thế, nhóm em chọn đề tài “Điều khiển Robot bằng điện thoại Android qua Internet, ra lệnh bằng giọng nói, đồng thời lấy nhiệt độ, độ ẩm môi trường gửi về điện thoại, sử dụng Arduino.”
1.2 MỤC TIÊU
Thiết kế và thi công Robot điều khiển qua điện thoại Android bằng cách tạo Server cho Arduino Robot sẽ xử lý và gửi các thông số (nhiệt độ, độ ẩm) của môi
Trang 151.3 NỘi DUNG NGHIÊN CỨU
Nội dung chính sẽ được nhóm thực hiện trong quá trình làm ĐATN Đề tài: Thiết
kế, thi công Robot bằng Arduino và điều khiển dùng điện thoại Android
NỘI DUNG 1: Thiết kế, thi công bộ khung và mô hình cho Robot
NỘI DUNG 2: Tính toán và lựa chọn nguồn phù hợp
NỘI DUNG 3: Tính toán, thiết kế lựa chọn các cảm biến, động cơ giao tiếp với Arduino
NỘI DUNG 4: Viết chương trình cho Arduino để điều khiển động cơ và sử dụng các khối đo nhiệt độ, độ ẩm của Robot
NỘI DUNG 5: Thiết kế giao diện và ứng dụng điều khiển trên điện thoại Android giao tiếp với Arduino
NỘI DUNG 6: Lắp ráp các khối điều khiển vào mô hình Robot cho hoàn chỉnh
NỘI DUNG 7: Chạy thử nghiệm Robot
NỘI DUNG 8: Cân chỉnh hệ thống
NỘI DUNG 9: Viết sách luận văn
NỘI DUNG 10: Báo cáo đề tài tốt nghiệp
1.4 GIỚI HẠN
Robot chỉ hoạt động ở những nơi có mạng Internet
Robot chỉ hoạt động ở những nơi có địa hình tương đối bằng phẳng
Robot di chuyển với tốc độ chậm
1.5 BỐ CỤC
Chương 1: Tổng Quan
Chương này sẽ trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn và bố cục của đồ án
Chương 2: Cơ Sở Lý Thuyết
Chương này sẽ trình bày tổng quan về các thuật toán để Robot có thể di chuyển, nhận dữ liệu từ hệ thống và sau đó gửi dữ liệu về điện thoại Android
Trang 16 Chương 3: Thiết Kế và Tính Toán
Chương này giới thiệu các khối xử lý cần thiết và sơ đồ nguyên lý của mạch
Chương 4: Thi Công Hệ Thống
Chương này tập trung thi công mô hình phần cứng bao gồm phần thi công mạch điện và thi công khung xe Robot cũng như các giải thuật nhận diện giọng nói, nhận dạng vật cản và xử lý tín hiệu của môi trường (nhiệt độ và độ ẩm), điều khiển động cơ cho xe Robot
Chương 5: Kết Quả, Nhận Xét và Đánh Giá
Trình bày kết quả chạy thực tế, đánh giá kết quả thực nghiệm
Chương 6: Kết Luận Và Hướng Phát Triển
Trình bày những kết quả đạt được trong luận văn, các mặt hạn chế và hướng phát triển mở rộng ứng dụng của đề tài trong thực tế
Trang 17Chương 2 CƠ SỞ LÝ THUYẾT
2.1 TỔNG QUAN VỀ ROBOT
Cuộc cách mạng công nghiệp là những bước phát triển vượt bậc của con người, cuộc cách mạng cho phép ứng dụng rộng rãi các Robot trong nhiều lĩnh vực của cuộc sống Yếu tố này phù hợp với nhận thức về vấn đề an toàn trong công việc, Robot thay thế cho con người trong sản xuất, trong lao động, trong các nhà máy, điều đó đã góp phần vào sự xuất hiện nhu cầu sử dụng các Robot ngày càng nhiều
Ngày nay, trong đời sống có rất nhiều công việc và do tính chất công việc nặng nhọc, môi trường làm việc khó khăn độc hại rất nguy hiểm và tác hại trực tiếp đối với con người Một số nơi địa hình quá khó khăn để di chuyển (vùng rừng núi, sa mạc, vùng có lở núi, động đất, vùng bị cháy rừng, vùng nhiễm phóng xạ, khu vực bị khủng bố) Ở những nơi này con người rất cần tới sự hỗ trợ của Robot Với mô hình xe Robot
đa năng có sự tuỳ biến cao, dễ lắp đặt và vận chuyển, được thiết kế và lập trình từ máy tính cá nhân, xe Robot có thể làm việc độc lập theo chu trình được cài đặt sẵn hoặc theo sự điều khiển từ xa qua vô tuyến từ người điều khiển, tính chất và công việc cụ thể được thay đổi dễ dàng, khả năng kết nối với các thiết bị chuyên dụng linh hoạt Robot có kích thước tương đối và làm việc được trong nhiều môi trường khắc nghiệt
về thời tiết, khí hậu độc hại và nguy hiểm đối với con người Ngoài ra, Robot có thể được thiết kế cho phù hợp với các công việc mang tính chất tự động hoá cao, có thể ứng dụng vào các dây chuyền sản xuất tự động ở các nhà máy, xí nghiệp, các khu công nghiệp, khu chế xuất
Hiện nay, hầu hết các thiết bị Robot và dây chuyền tự động hoá được sử dụng trong các ngành công nghiệp sản xuất và chế biến đều được nhập từ nước ngoài với giá thành rất đắt, trong khi nhu cầu ở nước ta đang rất cao và trong nước có khả năng chế tạo sản xuất để phù hợp với điều kiện làm việc ở Việt Nam Lĩnh vực thiết kế, chế tạo Robot và các thiết bị điều khiển tự động rất mới mẻ và có tiềm năng rộng lớn không những ở trong nước mà còn cả trên thế giới Việc thâm nhập, nghiên cứu và chế tạo một số mô hình điều khiển tự động như Robot thông minh, Robot thăm dò, Robot sản xuất là một hướng cần thiết nhằm rút ngắn khoảng cách giữa khoa học công nghệ trong nước và trên thế giới trong lĩnh vực này
Trang 182.2 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU (FIREBASE)
2.2.1 Khái niệm Firebase và những công cụ chính
Hình 2.1 Ứng dụng Database trên Firebase
Firebase là một dịch vụ cơ sở dữ liệu thời gian thực hoạt động trên nền tảng đám mây được cung cấp bởi Google nhằm giúp các lập trình viên phát triển nhanh các ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liêu
Các chức năng chính của Firebase:
- Cơ sở dữ liệu thời gian thực (Realtime Database): Firebase lưu trữ dữ liệu
database dưới dạng JSON và thực hiện đồng bộ database tới tất cả các client theo thời gian thực Mỗi khi dữ liệu dữ liệu trong database được thêm mới hoặc sửa đổi, các client sẽ tự động được được cập nhật
- Hệ thống xác thực Firebase (Firebase Authentication): với Firebase, ta có
thể dễ dàng tích hợp các công nghệ xác thực Google, Facebook, Twitter, hoặc một hệ thống xác thực mà ta tự tạo ra vào trong ứng dụng ở bất kì nền tảng nào
- Dịch vụ lưu trữ (Firebase Hosting): người dung có thể triển khai một ứng
dụng nền web chỉ vài phút với hệ thống Firebase và các dữ liệu sẽ được lưu trữ đám
Trang 192.2.2 Lợi ích khi sử dụng cơ sở dữ liệu (Firebase)
Triển khai ứng dụng cực nhanh:
- Với Firebase ta có thể giảm bớt rất nhiều thời gian cho việc viết những dòng code để quản lý và đồng bộ cơ sở dữ liệu, mọi việc sẽ diễn ra hoàn toàn tự động với
các API của Firebase
- Firebase hỗ trợ đa nền tảng, người dùng sẽ không còn mất thời gian nhiều khi muốn xây dựng ứng dụng đa nền tảng
- Đơn giản hóa quá trình đăng ký đăng nhập vào ứng dụng bằng cách sử dụng hệ thống xác thực do chính Firebase cung cấp
Bảo mật:
- Firebase hoạt động dựa trên nền tảng Cloud và thực hiện kết nối thông qua giao thức bảo mật SSL, chính vì vậy sẽ rất an toàn về việc bảo mật đồng thời đường truyền giữa client và server
- Ngoài ra, Firebase còn cho phép phân quyền người dung, nâng cao thêm nhiều
độ bảo mật cho ứng dụng vì chỉ những user mà ta cấp phép mới có quyền chỉnh sửa cơ
sở dữ liệu
Sự ổn định:
- Firebase hoạt động trên nền tảng Cloud đến từ nhà cung cấp lớn là Google vì vậy ta không cần lo lắng đến việc: sập server, tấn công DDOS, tốc độ kết nối lúc chậm
- Nhờ hoạt động trên nên tảng Cloud mà việc nâng cấp, bảo trì server cũng diễn ra rất đơn giản, không cần phải dừng server để nâng cấp như truyền thống
Giá thành:
- Google Firebase có rất nhiều gói dịch vụ với các mức dung lượng lưu trữ cũng như bang thông khác nhau, với mức giá từ Free đến $1500 đủ để đáp ứng nhu cầu của tất cả các đối tượng Giúp ta tối ưu hóa được vốn đầu tư và vận hành tùy theo số lượng người sử dụng
- Đặc biệt hơn, ta không mất chi phí để bảo trì, nâng cấp, khắc phục các sự cố vì điều này đã có Firebase lo
Trang 202.3 CÁCH TẠO MỘT PROJECT ANDROID VỚI FIREBASE
2.3.1 Tạo 1 Project Firebase:
Để sử dụng Cơ sở dữ liệu trên Firebase ta cần thực hiện những bước chính như sau:
Bước 1: Từ trình duyệt ta vào trang chủ Firebase
Hình 2.2 Giao diện Web tạo Firebase
Bước 2: Như hình trên ta tiến hành đăng nhập tài khoản Google và chọn Create New Project
Trang 21Hình 2.3 Trình tự tạo Project Firebase
Bước 3: Một cửa sổ hiện ra, ta gõ tên muốn đặt cho Project, phần Country ta
chọn Viet Nam Sau đó chọn Create Project
Hình 2.4 Hoàn tất quá trình tạo Project Firebase
Trang 22Như vậy bước đầu ta đã tạo thành công 1 Project Android Tiếp theo ta sang phần nhúng project này vào trong 1 ứng dụng Android chuẩn bị viết
2.3.2 Tích hợp Project Firebase vào Android
Bước 1: Tiếp tục bước ở trên, ta chọn mục Add Firebase to your Android app
Hình 2.5 Đưa Project Firebase vào Android
Bước 2: Một cửa sổ mới hiện ra, tại đây, ta cần nhập vào tên của App Android
viết trên Android Studio Mở Androd Studio lên, ta copy đoạn dưới vào khung Package name Sau đó chọn Add app
Trang 23Hình 2.6 Lấy tên App Android đưa vào Project Firebase
Bước 3: Lúc này trình duyệt sẽ tự tải một file google-services.json Ta tiến hành
lưu file này vào thư mục App của Project Android như hướng dân ở hình dưới Sau đó chọn Continue
Hình 2.7 Lưu file JSON vào thư mục App Android
Trang 24Bước 4: Bước này, Firebase sẽ yêu cầu chúng ta chèn 2 đoạn Code vào trong
Android Studio, sau đó bấm Sync để tiến hành đồng bộ App Android với Project Firebase Và chọn Finish
Hình 2.8 Đồng bộ Firebase và App Android
Trang 25Bước 5: Quá trình cơ bản hoàn tất, ta tiến hành thêm thư viện Firebase vào
Android Studio bằng cách Từ giao diện mới xuất hiện chọn Go to docs
Hình 2.9 Thêm thư viện Firebase vào Android Studio
- Tiếp đó, ta chọn Starter Guide trong mục For Android
Hình 2.10 Vào phần hướng dẫn cho Android
- Ta chọn Realtime Database → Android → Get Started Sau đó kéo xuống phần như trên hình, tại đây ta nhận được sự hướng dẫn cách thêm thư viện Firebase
Trang 26Hình 2.11 Tiến hành làm theo hướng dẫn để sử dụng thư viện Firebase
Kit ESP8266 được phát triển dựa trên nền chíp Wifi SoC ESP8266 với thiết kế
dễ dàng sửa dụng vì tích hợp sẵn mạch nạp sử dụng chíp CH340 trên borad Bên trong ESP8266 có sẵn một lõi vi sử lý vì thế bạn có thể trực tiếp lập trình cho ESP8266 mà không cần thêm bất kì con vi sử lý nào nữa
Trang 27Hiện tại có hai ngôn ngữ có thể lập trình cho ESP8266, sử dụng trực tiếp phần mềm IDE của Arduino để lập trình với bộ thư viện riêng hoặc sử dụng phần mềm node MCU
Kit ESP8266 NodeMCU được dung cho các ứng dụng cần kết nối, thu thập dữ liệu và điều khiển qua sóng Wifi, đặc biệt là các ứng dụng IoT
2.4.1 Thông số kỹ thuật:
Hình 2.13 Sơ đồ khối ESP 8266
- IC chính: ESP 8266 Wifi SoC
- Phiên bản firmware: Node MCU
- Chip nạp và giao tiếp UART: CH340
- Cấp nguồn: 5VDC MicroUSB hoặc Vin
- GPIO giao tiếp mức 3.3V
- Tương tính hoàn toàn với trình biên dịch Arduino
2.4.2 Sơ đồ chân:
Trang 28Hình 2.14 Sơ đồ chân và chức năng chân của ESP8266
Các chân được dùng trong mạch:
6 chân nguồn Trong đó có 1 chân cấp nguồn Vin, 4 chân GND và 3 chân xuất nguồn 3.3V
17 chân GPIO giao tiếp mức 3.3V Trong đó có các chân IO4, IO12, IO14, IO15 hỗ trợ PWM
2 chân IO 1 và IO3 đồng thời là chân giao tiếp UART
1 chân ADC
2.5 TRUYỀN NHẬN DỮ LIỆU UART
Truyền dữ liệu nối tiếp có nhiều tiện ích trong điều khiển nên hầu hết các vi điều khiển đều kết hợp Có nhiều kiểu truyền dữ liệu phổ biến tích hợp trong các họ vi điều bao gồm:
Trang 29 Truyền dữ liệu nối tiếp đồng bộ và bất đồng bộ( USART Universal Synchronous/Asynchronous Receiver/Transmitter)
Truyền dữ liệu giữa các vi điều khiển với các thiết bị ngoại vi( SPI serial peripheral interface)
Truyền dữ liệu 2 dây ( I2C: inter- intergrated circuit)
Ở kiểu truyền nối tiếp bất đồng bộ thì có một đường phát dữ liệu và một đường nhận dữ liệu Để truyền được dữ liệu thì cả bên phát và bên nhận phải có cùng tốc độ truyền dữ liệu( baud), ví dụ: 2400 baud, 4800 baud, 9600 baud,… 2400 baud có nghĩa
là truyền 2400 bit/giây
Kit ESP8266 Node MCU có tích hợp chip nào giao tiếp USB/UART CH340 Trong Đồ Án, giao tiếp UART được sử dụng để truyền nhận dữ liệu giữa VĐK ATMEGA328P và Module ESP8266
2.6 GIỚI THIỆU VỀ CẢM BIẾN DHT11
DHT11 có cấu tạo như Hình 2.15, sử dụng bộ giao tiếp số theo chuẩn 1 dây Sau đây là thông số kỹ thuật của cảm biến DHT11
2.6.1 Thông số kỹ thuật của DHT11
Trang 30Chức năng chân của DHT11
Chân 1 - VDD chân nối nguồn (5V)
Chân 2 - DATA chân dữ liệu vào ra
Chân 3 - NC
Chân 4 - GND chân nối mass (0V)
2.6.3 Sơ đồ kết nối với MCU
Hình 2.16 Sơ đồ kết nối với Vi Xử Lý
2.7 GIỚI THIỆU MẠCH CẦU H (L298N)
Mạch Điều Khiển Động Cơ L298N giúp ta có thể điều khiển tốc độ và chiều quay của động cơ DC một cách dễ dàng, ngoài ra module L298N còn điều khiển được
1 động cơ bước lưỡng cực, mạch cầu H L298N điều khiển động cơ có điện áp từ 5V đến 35V Sau đây là các thông số kỹ thuật của mạch cầu H (L298N):
2.7.1 Thông số kỹ thuật
- Driver: L298N tích hợp hai mạch cầu H
- Điện áp điều khiển: +5 V ~ +12 V
Trang 31- Dòng của tín hiệu điều khiển: 0 ~ 36mA
- Công suất hao phí: 20W (khi nhiệt độ T = 75 ℃)
- Nhiệt độ bảo quản: -25 ℃ ~ +130 ℃
2.7.2 Hình ảnh và chức năng từng chân của L298N
Hình 2.17 Hình ảnh các chân của L298N
Chức năng chân của L298N
12V power, 5V power Đây là 2 chân cấp nguồn trực tiếp đến động
Power GND chân này là GND của nguồn cấp cho Động cơ
Nếu dùng Arduino thì nối với GND của Arduino
2 Jump A enable và B enable, để như hình
Gồm có 4 chân Input IN1, IN2, IN3, IN4
Trang 32 Output A: nối với động cơ A, chú ý chân +, - Nếu nối ngược thì động cơ sẽ chạy ngược Và chú ý nếu nối động cơ bước, bạn phải đấu nối các pha cho phù hợp
2.8 GIỚI THIỆU VỀ ĐỘNG CƠ DC
Động cơ điện một chiều hay còn gọi là Motor DC ( DC là từ viết tắt của "Direct Current Motors") là động cơ điều khiển trực tiếp có cấu tạo gồm hai dây (dây nguồn
và dây tiếp đất) DC motor là một động cơ một chiều với cơ năng quay liên tục Khi ta cung cấp năng lượng, động cơ DC sẽ bắt đầu quay, chuyển điện năng thành cơ năng Hầu hết các động cơ DC sẽ quay với cường độ RPM rất cao (số vòng quay/ phút), và các động cơ DC đều được ứng dụng để làm quạt làm mát máy tính, hoặc kiểm soát tốc
độ quay của bánh xe…vv Sau đây là một số thông tin về động cơ DC:
2.8.1 Thông số kỹ thuật
- Điện áp hoạt động:3V~ 9V DC (Hoạt động tốt nhất từ 6 - 8V)
- Mômen xoắn cực đại: 800gf cm min 1:48 (3V)
Trang 33Hình 2.19 Sơ đồ kết nối phần cứng của động cơ DC
- Động cơ DC và các chi tiết nhỏ được ghép lại với nhau trong một lớp vỏ nhựa, sau đó khi động cơ chuyển động sẽ được dẫn truyền đến với các khớp của bánh xe khiến bánh xe sẽ quay với tốc độ do động cơ DC quy định
2.9 GIỚI THIỆU VỀ CẢM BIẾN SIÊU ÂM SRF05
Hình 2.20 Hình ảnh thực tế của SRF05
Trang 34từ lúc phát sóng siêu âm tới lúc nó phản xạ về đầu thu sẽ quy đổi được khoảng cách từ cảm biến tới vật thể Cảm biến SRF05 cho khoảng cách đo tối đa lên tới 3-4 mét
SRF05 có thể thiết lập cách hoạt động thông qua các chân điều khiển MODE Nối hoặc không nối chân MODE xuống GND cho phép cảm biến được điều khiển thông qua giao tiếp dùng 1 chân hay 2 chân IO
Trang 35Hình 2.21 Chế độ kết nối một chân duy nhất Echo/Trigger
Hình 2.22 Chế độ kết nối một chân duy nhất Echo/Trigger
Từ hình vẽ mô tả trên, để điều khiển SRF05 ở MODE1 cần cấp cho chân TRIGGER một xung điều khiển với độ rộng tối thiểu 10uS Sau đó một khoảng thời gian, đầu phát sóng siêu âm sẽ phát ra sóng siêu âm, vi xử lý tích hợp trên modun sẽ tự
Trang 36xác định thời điểm phát sóng siêu âm và thu sóng siêu âm Vi xử lý tích hợp này sẽ đưa kết quả thu được ra chân ECHO Độ rộng xung vuông tại chân ECHO tỉ lệ với khoảng cách từ cảm biến tới vật thể
Chế độ 2: Sử dụng một chân cho cả TRIGGER và ECHO
Hình 2.23 Chế độ kết nối hai chân Echo/Trigger
Trang 37Ở chế độ này, một chân của vi xử lý sẽ điều khiển quá trình phát xung của cảm biến siêu âm và việc đọc tín hiệu trả về Yêu cầu lúc đó chân MODE cần được nối đất (GND) Đầu tiên xuất một xung với độ rộng tối thiểu 10uS vào chân TRIGGER-ECHO (chân số 3) của cảm biến Sau đó vi xử lý tích hợp trên cảm biến sẽ phát ra tín hiệu điều khiển đầu phát siêu âm Sau 700uS kể từ lúc kết thúc tín hiệu điều khiển, từ chân TRIGGER-ECHO có thể đọc ra một xung mà độ rộng tỉ lệ với khoảng cách từ cảm biến tới vật thể
2.10 GIỚI THIỆU VỀ ATMEGA328P
ATMEGA328P là một chíp vi điều khiển được sản xuất bời hãng Atmel ATMEGA328P là một bộ vi điều khiển 8 bit dựa trên kiến trúc RISC Với 23 chân có thể sử dụng cho các kết nối vào hoặc ra I/O, 32 thanh ghi, 3 bộ timer/counter có thể lập trình, có các gắt nội và ngoại (2 lệnh trên một vector ngắt), giao thức truyền thông nối tiếp USART, SPI, I2C Sau đây là một vài thông số kỹ thuật của ATMEGA328P
Hình 2.25 Hình ảnh thực tế của VĐK ATMEGA328P
Trang 38 Số timer: 3 timer gồm 2 timer 8-bit và 1 timer 16-bit
Số kênh xung PWM: 6 kênh (1timer 2 kênh)
Sơ đồ chân và chứng năng từng chân của ATMEGA328P
Hình 2.26 Sơ đồ chân và chứng năng từng chân của VĐK
ATMEGA328P
Hình 2.26 mô tả chức năng và số chân của VĐK ATMEGA328P, trong đó
Trang 39Chương 3 TÍNH TOÁN VÀ THIẾT KẾ
3.1 GIỚI THIỆU
Đề tài yêu cầu thiết kế một mô hình xe có khả năng di chuyển khi người điều khiển ra lệnh thông qua điện thoại Android Về thiết kế phần cứng, nhóm đã dựa trên những vật liệu cơ bản có sẵn trên thị trường, nhóm tập trung thiết kế sơ đồ khối của hệ thống và tính toán những thông số, mạch điện cho xe
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG
3.2.1 Thiết kế sơ đồ khối hệ thống
Hình 3.1 Sơ đồ khối toàn bộ hệ thống Chức năng từng khối hình 3.1:
Khối nguồn: cấp nguồn 5VDC và 12VDC cho toàn bộ hệ thống
Khối điều khiển: Gửi lệnh từ điện thoại Android xuống khối xử lý thông qua khối giao tiếp
Khối giao tiếp: Giao tiếp (các lệnh) giữa khối điều khiển và khối xử lý
Khối xử lý: Xử lý và điều khiển xe Robot
Khối chấp hành: Nhận lệnh và thực hiện các lệnh từ khối xử lý