I.Đặc tả các tính năng chính của hệ thốngMô hình xe ô tô điều khiển sử dụng giọng nói là một dự án thú vị trong lĩnh vực Internet of Things IoT và nhúng.. Dự án này nhằm phát triển một h
Trang 1
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CƠ BẢN I
BÁO CÁO BÀI TẬP LỚN MÔN : IoT
ĐỀ TÀI: MÔ HÌNH XE Ô TÔ ĐIỀU KHIỂN SỬ DỤNG GIỌNG NÓI
Nhóm thực hiện : 08
Thành viên : Nguyễn Huy Du – B20DCCN125
Nghiêm Văn Nam – B20DCCN449 Nguyễn Việt Anh – B20DCCN065
Nhóm lớp học : 02
Giảng viên hướng dẫn : Trần Tiến Công
Hà Nội - 2023
Trang 2I.Đặc tả các tính năng chính của hệ thống
Mô hình xe ô tô điều khiển sử dụng giọng nói là một dự án thú vị trong lĩnh vực Internet of Things (IoT) và nhúng Dự án này nhằm phát triển một hệ thống xe ô tô mô hình có khả năng lắng nghe và hiểu các lệnh điều khiển từ người dùng thông qua giọng nói, qua một ứng dụng di động Đây là một sự kết hợp giữa công nghệ điều khiển
xe mô hình và nhận dạng giọng nói, mang lại trải nghiệm tương tác tiện lợi và thú vị
Dự án này có thể được ứng dụng trong giáo dục để giúp mọi người hiểu về IoT, lập trình, và điều khiển thiết bị từ xa Nó cũng có thể được sử dụng trong lĩnh vực giải trí, cho phép người chơi tương tác với mô hình xe một cách độc đáo và thú vị Trong các ứng dụng thám hiểm, nó có thể được sử dụng để điều khiển xe mô hình trong môi trường khó khăn hoặc không thân thiện với con người
Dưới đây là một số tính năng chính của hệ thống:
- Điều khiển xe bằng thao tác tay: Tính năng này cho phép
người sử dụng điều khiển một số chức năng của xe từ xa thông qua ứng dụng trên điện thoại di động hoặc thiết bị thông minh khác Điều này có thể bao gồm việc mở/khóa cửa xe, bật/tắt đèn,
và khởi động/tắt động cơ từ xa
- Điều khiển xe bằng giọng nói: Tính năng này cho phép
người dùng sử dụng giọng nói để thực hiện các lệnh và điều khiển các chức năng của xe, chẳng hạn như mở/khóa cửa xe, bật/tắt đèn, và khởi động/tắt động cơ từ xa hay điều hướng đến địa điểm
cụ thể
- Cảnh báo va chạm: Tính năng này thường sử dụng các
cảm biến như cảm biến siêu âm, cảm biến tiệm cận, hoặc cảm biến gia tốc để phát hiện sự va chạm Cảm biến này sẽ liên tục theo dõi khoảng cách hoặc tốc độ thay đổi của xe
- Lái tự động tránh vật cản: Sử dụng cảm biến siêu âm hoặc
cảm biến hồng ngoại để liên tục đo khoảng cách đến vật cản xung quanh xe mô hình Dựa vào thông tin vật cản, đưa ra quyết định
về hướng di chuyển an toàn nhất để tránh vật cản
II Cách thức thu nhập và truyền dữ liệu
1 Thu thập dữ liệu khi điều khiển bằng thao tác tay
Trang 3Người dùng nhấn các nút điều hướng hiển thị trên ứng dụng
di động để tạo lệnh điều khiển cho xe
2 Thu thập dữ liệu khi điều khiển bằng giọng nói
- Sử dụng API hoặc thư viện điều khiển giọng nói như Google Speech-to-Text hoặc Apple's Speech Recognition để thu thập dữ liệu giọng nói từ người dùng qua ứng dụng di động
- Ứng dụng di động sẽ thu thập âm thanh từ microphone của thiết bị
di động và chuyển chúng thành văn bản
3 Thu thập dữ liệu từ sensor cảm biến khoảng cách
Sensor cảm biến khoảng cách sẽ ghi lại khoảng cách giữa xe và vật cản phía trước Sensor sẽ đưa ra dữ liệu xem có vật cản phía trước không để đưa ra thông báo
4 Truyền dữ liệu đến xe mô hình
Sử dụng kết nối Wi-Fi hoặc Bluetooth để kết nối giữa vi điều khiển ESP32 điện thoại di động Sử dụng giao thức MQTT, TCP/IP hoặc Bluetooth GATT để gửi và nhận dữ liệu giữa hai thiết bị Có thể sử dụng thư viện và SDK phù hợp để lập trình giao tiếp Wi-Fi hoặc Bluetooth trong vi điều khiển và ứng dụng di động
Khi dữ liệu giọng nói được chuyển đổi thành văn bản, văn bản này
sẽ truyền từ ứng dụng di động đến xe mô hình Cách thức truyền dữ liệu có thể thực hiện qua kết nối Bluetooth hoặc Wi-Fi:
* Kết nối Bluetooth: có thể sử dụng một module Bluetooth
trên cả điện thoại di động và xe mô hình Dữ liệu văn bản được gửi qua Bluetooth từ điện thoại di động và nhận bởi xe
mô hình Sau đó, xe mô hình có thể xử lý và thực hiện các lệnh từ dữ liệu giọng nói
* Kết nối Wifi: Sử dụng mạng Wi-Fi để truyền dữ liệu giọng
nói từ điện thoại di động đến một máy chủ hoặc vi điều khiển trung tâm trên xe mô hình Xe mô hình có thể kết nối đến máy chủ qua Wi-Fi để lấy dữ liệu giọng nói và xử lý
Sử dụng giao tiếp GPIO hoặc giao tiếp I2C để kết nối ESP32 với cảm biến siêu âm hoặc cảm biến hồng ngoại ESP32 đọc dữ liệu
từ cảm biến để xác định khoảng cách đến vật cản và các thông tin khác
III Các phần cứng sử dụng
Trang 41 Vi điều khiển ESP32
ESP32 là một vi điều khiển tích hợp nhiều chức năng, bao gồm
vi xử lý lõi kép, Wi-Fi, Bluetooth, và nhiều cổng giao tiếp khác
Sở hữu hai lõi xử lý Tensilica LX6, cho phép xử lý đa nhiệm và hiệu suất cao trong các ứng dụng phức tạp
Hỗ trợ kết nối Wi-Fi 802.11 b/g/n và Bluetooth 4.2/BLE, mở rộng khả năng giao tiếp và tương tác với các thiết bị khác
Có nhiều chân GPIO (General Purpose Input/Output) và các cổng giao tiếp như SPI, I2C, UART, GPIO, ADC, và nhiều cổng khác, tạo sự linh hoạt cho các ứng dụng đa dạng
Được trang bị bộ nhớ flash tích hợp, hỗ trợ lưu trữ và thực thi chương trình một cách thuận tiện
Có các chế độ tiết kiệm năng lượng và các tính năng quản lý nguồn cung cấp, giúp tối ưu hóa sự tiêu thụ năng lượng
Sử dụng mô hình tổ chức phần cứng và phần mềm modul để
dễ dàng tích hợp và phát triển ứng dụng
Có khả năng cập nhật chương trình thông qua kết nối Wi-Fi, giúp quá trình phát triển và bảo dưỡng trở nên thuận tiện
Với nhiều tính năng và chức năng tích hợp, ESP32 có khả năng đáp ứng đa dạng các ứng dụng IoT và các dự án nhúng khác
2 Module L298N Motor Driver
Trang 5 L298N là một module điều khiển động cơ hai chiều, chủ yếu được thiết kế để điều khiển động cơ DC và motor stepper
Bao gồm hai cầu H-bridge (mỗi cầu H có thể điều khiển một động cơ), cung cấp khả năng thay đổi hướng quay và tốc độ của động cơ
Có thể điều khiển thông qua ngõ vào điều khiển TTL
(transistor-transistor logic), giúp dễ dàng tích hợp với các vi điều khiển như Arduino
Hỗ trợ điều khiển tốc độ của động cơ thông qua PWM (Pulse Width Modulation), giúp điều chỉnh mức công suất đưa vào động cơ
Chấp nhận mức điện áp đầu vào rộng, thường từ 5V đến 35V, làm cho nó thích hợp cho nhiều loại động cơ
Có tính năng bảo vệ quá nhiệt và quá dòng để đảm bảo an toàn cho module và động cơ
Cung cấp nhiều cổng giao tiếp như cổng điều khiển, cổng nguồn, và cổng kết nối với động cơ, tạo sự linh hoạt trong sử dụng
Thường được sử dụng trong các dự án robot, xe tự lái, máy in 3D và các ứng dụng khác đòi hỏi điều khiển động cơ
3 Motor DC
Trang 6 Motor DC chuyển động bằng cách sử dụng nguyên tắc của lực
từ (force from a magnetic field) Dòng điện chạy qua cuộn dây trong trường từ tạo ra bởi nam châm, tạo ra lực đẩy (thường được gọi là lực Lorentz) làm quay rotor
Bao gồm một rotor (trục quay) và stator (bộ phận cố định) Rotor thường là một nam châm hoặc có các cánh quay, trong khi stator bao gồm cuộn dây và nam châm tạo ra trường từ
Motor DC hoạt động với nguồn điện dòng liên tục (DC) Điện
áp và dòng điện đưa vào motor ảnh hưởng đến tốc độ quay và lực đẩy tạo ra
Thường được sử dụng trong nhiều ứng dụng như robot, thiết bị điện tử, ô tô, máy công nghiệp, và nhiều hệ thống tự động khác
Tốc độ quay của motor DC có thể được kiểm soát thông qua việc điều chỉnh điện áp đưa vào hoặc sử dụng các kỹ thuật điều khiển như PWM (Pulse Width Modulation)
Motor DC thường độ bền cao và có thể hoạt động ổn định trong thời gian dài khi được sử dụng đúng cách
4 Cảm biến siêu âm HC-SR04
Trang 7 Sử dụng sóng siêu âm để đo khoảng cách Cảm biến gửi một xung siêu âm và đo thời gian nó mất để sóng âm phản xạ từ vật cản và trở lại cảm biến
Bao gồm một bộ phận phát sóng và một bộ phận thu sóng Cả hai phần này thường được đặt gần nhau trên một module
Có 4 chân chính: VCC (5V), Trig (tín hiệu điều truyền), Echo (tín hiệu nhận), và GND (đất) Tín hiệu Trig khởi động xung siêu
âm, trong khi tín hiệu Echo trả về thời gian trôi qua từ khi phát đến khi nhận được sóng âm phản xạ
Có thể đo khoảng cách từ một vài centimet đến một vài mét, tùy thuộc vào điều kiện môi trường và cài đặt
Cảm biến thường mang lại độ chính xác và độ tin cậy tốt trong việc đo khoảng cách
Thường được sử dụng trong các dự án robot tự lái, hệ thống tránh vật cản, đo khoảng cách cho các ứng dụng IoT, và nhiều ứng dụng khác đòi hỏi đo khoảng cách
Dễ dàng tích hợp với các vi điều khiển như Arduino, Raspberry
Pi, và nhiều nền tảng nhúng khác thông qua việc sử dụng GPIO
5 Servo Motor SG90
Trang 8 Servo motor SG90 thuộc dạng servo motor, một loại động cơ chuyển động theo một góc cụ thể
Có khả năng chuyển động trong một khoảng góc nhất định, thường từ 0 đến 180 độ
Hoạt động ổn định ở điện áp thấp, thường là từ 4.8V đến 6V
Góc quay của servo motor có thể được kiểm soát chính xác thông qua một tín hiệu PWM (Pulse Width Modulation)
Được thiết kế với kích thước nhỏ gọn, thích hợp cho các dự án
có hạn chỗ
Hoạt động trong chế độ giữ góc với sự giữ góc chính xác, giúp duy trì vị trí mong muốn
Thường được sử dụng trong các dự án robot, máy in 3D, cổng điều khiển từ xa, và nhiều ứng dụng khác đòi hỏi kiểm soát chuyển động góc
Có thể điều chỉnh cơ hạn góc quay thông qua điều chỉnh cơ cấu bánh răng nếu cần
Dễ tích hợp và điều khiển với các vi điều khiển như Arduino, Raspberry Pi, và các nền tảng nhúng khác
IV Sơ đồ thiết kế
1 Đặc tả tiến trình
Trang 92 Đặc tả mô hình miền
3 Đặc tả mô hình thông tin
Trang 104 Thông số dịch vụ
Trang 115 Đặc tả cấp độ IoT
6 Đặc tả thành phần chức năng
7 Đặc tả thành phần hoạt động
Trang 12V Giao diện