lOMoARcPSD| 58702377
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
BÁO CÁO CUỐI KỲ
MÔN HỌC: HỆ THỐNG NHÚNG TRONG CÔNG NGHIỆP
XE ĐIỀU KHIỂN TỪ XA DÙNG RASPBERRY PI PICO THÔNG QUA
BLUETOOTH
GVHD: TS. NGUYỄN THANH NGHĨA SVTH:
1.Đỗ Ngọc An MSSV: 20161153 2.Chu
Đan Trường MSSV: 20161285 3.Nguyễn
Thanh Tùng MSSV:
TP. HỒ CHÍ MINH, 22 tháng 11 năm 2022
lOMoARcPSD| 58702377
MỤC LỤC
PHẦN A: MỞ ĐẦU..................................................................................................5
1.Giới thiệu đề tài:............................................................................................5
2.Mục tiêu nghiên cứu......................................................................................5
PHẦN B: NỘI DUNG..............................................................................................6
CHƯƠNG I: RASPBERRY PI PICO............................................................6
1.1 Khái Niệm..................................................................................................6
1.2 Thông Số Kỹ Thuật Và Cu Hình Chân.................................................7
CHƯƠNG 2:MODULE ĐIỀU KHIỂN ĐỘNG CƠ L298N.......................11
2.1 Khái Niệm.................................................................................................11
2.2 Cấu Hình Sơ Đồ Chân.............................................................................11
2.3 Thông Số Kỹ Thuật..................................................................................12
CHƯƠNG III: MODULE BLUETOOTH HC-05.......................................13
3.1 Khái Niệm Về Công Nghệ Bluetooth......................................................13
3.2 Đặc Điểm Của Công Nghệ Bluetooth.....................................................14
3.3 Hoạt Động…………………………………………………………..........14
3.4 Module Bluetooth HC-05……………………………………………….15
3.4.1 Khái Niệm…………………………………………………………….15
3.4.2 Thông Số Kỹ Thuật…………………………………………………..16
3.4.3 Mô Tả Sơ Đồ Chân…………………………………………………..16
3.4.4 Đặc Tính……………………………………………………………...17
3.4.5 Ứng Dụng…………………………………………………………….18
CHƯƠNG IV: NGÔN NGỮ LẬP TRÌNH PYTHON.................................18
4.1 Khái Niệm.................................................................................................18
4.2 Chức Năng Chính.....................................................................................19
CHƯƠNG V: THIẾT KẾ PHẦN CỨNG.....................................................20
5.1 Yêu Cầu Phần Cứng................................................................................20 5.2
Yêu Cầu Phần Mềm.................................................................................21
5.3 Phương Án Thiết Kế................................................................................21
5.3.1 Sơ Đồ Khối...........................................................................................21
5.3.2 Cách Kết Nối Phần Cứng...................................................................22
lOMoARcPSD| 58702377
CHƯƠNG VI: THIẾT KẾ PHẦN MỀM.....................................................24
6.1 Cài Đặt Cho Raspberry Pi Pico .............................................................24
6.2 Nạp Code Cho Raspberry Pi Pico...........................................................29
6.2.1 Thiết Kế Ứng Dụng Điều Khiển…….………………………………32
CHƯƠNG VII: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN CỦA ĐTÀI...33
7.1 Kết Quả.....................................................................................................33
7.2 Hướng Phát Triển Của Đề Tài................................................................34
7.2.1 Kết Luận……………………………………………………………...34
7.2.3 Hướng Phát Triển Của Đề Tài……………………………………...35
TÀI LIỆU THAM KHẢO………………………………………………….........36
lOMoARcPSD| 58702377
NHẬN XÉT CỦA GIẢNG VIÊN
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
GV KÝ TÊN
lOMoARcPSD| 58702377
PHẦN A: MỞ ĐẦU
1. Giới Thiệu Đề Tài:
Công nghiệp hóa là một trong những nhiệm vụ quan trọng hàng đầu
của nhà nước. Quá trình phát triển đó đưa cả nền sản xuất vật chất và
đời sống văn hóa - xã hội của đất nước lên trình độ mới. Đến nay,
lịch sử nhân loại đã chứng kiến 4 cuộc cách mạng công nghiệp, cũng
là các cuộc cách mạng khoa học - kỹ thuật nói chung.
Tất cả các thiết bị công nghệ đang dần được đưa vào đời sống của
con người. Các công trình nghiên cứu, các dự án khoa học ngày càng
được phát triển. Để hưởng ứng chung với sự phát triển đó nhóm
chúng em đã chọn đề tài liên quan đến “Hệ thống nhúng trong công
nghiệp” đó là Xe điều khiển từ xa dùng Raspberry Pi Pico thông qua
Bluetooth kết nối với điện thoại.
2. Mục Tiêu Nghiên Cứu
a. Vi điều khiển Raspberry Pi Pico
b. Module điều khiển động cơ L298N
c. Ngôn ngữ lập trình Python
d. Module Bluetooth HC-05
PHẦN B: NỘI DUNG
CHƯƠNG I: RASPBERRY PI PICO
1.1 Khái Niệm
- Vào ngày 21 tháng 1 năm 2021, Raspberry Pi Foundation ra mắt sản phẩm
vi điều khiển đầu tiên của mình: Raspberry Pi Pico. Với mức giá chỉ 4$, bo
mạch này được xây dựng trên RP2040 – chip vi điều khiển đầu tiên được
thiết kế bới chính Raspberry Pi.
- Raspberry Pi Foundation có ba mục tiêu thiết kế chính cho RP2040:
lOMoARcPSD| 58702377
+ Hiệu suất cao, đặc biệt đối với khối lượng công việc dựa trên số
nguyên.
+ I/O linh hoạt, cho phép giao tiếp với hầu hết mọi thiết bị ngoại vi +
Chi phí thấp.
- Đây là bo mạch vi điều khiển đầu tiên của Raspberry Pi, được thiết kế đặc
biệt cho tính toán vật lý. Bộ vi điều khiển là một loại thiết bị khác với Máy
tính bo mạch đơn (SBC – Sigle Board Computer) như Raspberry Pi 4 và
các thế hệ trước của Pi, chúng không chạy hệ điều hành và chúng thường
được lập trình để chỉ thực hiện một tác vụ – mặc dù tác vụ đó có thể khá
phức tạp
- Bo mạch nhỏ này sẽ được dùng cho việc điều khiển nút bấm, nhận lệnh, ghi
nhận dữ liệu và xử lý đơn giản, không cần kết nối mạng.
- Chúng hoàn hảo để thử nghiệm với phần cứng và sử dụng như bộ não của
các thiết bị, máy móc. Nó có thể được lập trình lại dễ dàng qua USB từ
Raspberry Pi hoặc máy tính khác sử dụng C/C++ hoặc MicroPython.
- Mạch vi điều khiển Raspberry Pi Pico RP2040 sử dụng MCU RP2040 được
chính Raspberry Pi thiết kế dựa trên kiến trúc dual-core ARM Cortex-M0+
với xung nhịp tối đa lên đến 133Mhz, RP2040 còn có 264KB RAM nội và
hỗ trợ bộ nhớ Flash ngoài lên đến 16MB cũng như đầy đủ các giao tiếp cơ
bản UART, I2C, SPI,....
- Mạch Vi Điều Khiển Raspberry Pi Pico RP2040 được Raspberry Pi hỗ trợ
lập trình trên IDE với ngôn ngữ C và Python cũng như khả năng kết hợp
hoàn hảo với máy tính Raspberry Pi sẽ mang đến cho bạn một công cụ dễ
dàng sử dụng cho vô số các ứng dụng khác nhau.
lOMoARcPSD| 58702377
1.2 Thông Số Kỹ Thuật Và Cấu Hình Chân
Bo mạch Microcontroller Development đầu tiên đến từ Raspberry Pi
Foundation.
Silicon (IC) đầu tiên, RP2040 MCU được thiết kế bởi các kỹ sư của
Raspberry Pi Foundation.
Bộ xử lý Dual-Core, 32-bit ARM Cortex M0+
Xung nhịp 48MHz (default), có thể cấu hình tối đa lên tới 133MHz.
264KB SRAM và 2MB bộ nhớ Flash
Cấp nguồn và truyền dữ liệu qua Micro USB B
Hỗ trợ USB 1.1 Host and Device
Kết nối qua USB port dưới dạng USB Mass Storage không cần Driver
Hỗ trợ các ngôn ngữ lập trình MicroPython, C and C++
Lập trình kéo thả một cách nhanh chóng và dễ dàng
Đi kèm với PCB 40-pin 21x51 'DIP' dày 1mm với các chân xuyên lỗ
0,1"
Chân cắm header chưa được hàn sẵn Hỗ trợ thiết bị ngoại vi :
- 26 GPIO 3.3V đa chức năng
lOMoARcPSD| 58702377
- 23 GPIO are digital-only
- 3 x 12-bit ADC capable of 500Ksps, Analog to Digital Converter
- 2 x UART (Universal Asynchronous Receiver/Transmitter)
- 2 x SPI (Serial Peripheral Interface)
- 2 x I2C (Inter IC)
- 16 x PWM (Pulse Width Modulation)
- 1 x Timer with 4 alarms
- 1 x Real Time Counter
- 2 x Programmable IO (PIO) có thể mô phỏng các high-speed
interfaces như SD card hoặc VGA
- Tích hợp cảm biến nhiệt độ 12-bit ADC
3-pin ARM Serial Wire Debug (SWD) port
Đèn LED trên bo mạch có thể lập trình được, GP25
Cách thức cấp điện đơn giản nhưng rất linh hoạt
Hỗ trợ cấp nguồn qua USB, nguồn ngoài (2 - 5VDC) hoặc nguồn bằng
PIN
Hỗ trợ bởi các SDK và tài liệu tham khảo
Sản phẩm chính hãng đến từ Raspberry Pi Foundation
Tương thích với hầu hết các máy tính có cổng USB, Windows, macOS,
Linux
Có khả năng làm việc với Raspberry Pi 4 Model B, Raspberry Pi
400 và Raspberry Pi OS
Kích thước : 51mm x 21mm x 1mm
lOMoARcPSD| 58702377
lOMoARcPSD| 58702377
CHƯƠNG 2: MODULE ĐIỀU KHIỂN ĐỘNG CƠ L298N
2.1 Khái Niệm
Module điều khiển động cơ L298N này là module điều khiển động cơ công
suất cao để điều khiển Động cơ DC và Động cơ bước. Mô-đun này bao gồm
IC điều khiển động cơ L298 và bộ điều chỉnh 78M05 5V, điện trở, tụ điện,
lOMoARcPSD| 58702377
đèn LED nguồn. Module L298N có thể điều khiển tối đa 4 động cơ DC hoặc
2 động cơ DC có điều khiển hướng và tốc độ.
2.2 Cấu Hình Sơ Đồ Chân
- IN1 & IN2: Chân đầu vào động cơ A. Dùng để điều khiển hướng quay của
Motor A
- IN3 & IN4: Chân đầu vào động cơ B. Dùng để điều khiển hướng quay của
Motor B
- ENA: Kích hoạt tín hiệu PWM cho Motor A
- ENB: Kích hoạt tín hiệu PWM cho Motor B
- OUT1 & OUT2: Chân đầu ra của Motor A
- OUT3 & OUT4: Chân ra của Motor B
- 12V: Đầu vào 12V từ nguồn DC
- 5V: Cấp nguồn cho mạch logic chuyển mạch bên trong IC L298N
lOMoARcPSD| 58702377
- GND: Chân nối đất
2.3 Thông Số Kỹ Thuật
- Trình điều khiển Model: L298N 2A
- Chip điều khiển: Cầu đôi H L298N
- Điện áp cung cấp cho động cơ (Tối đa): 46V
- Dòng điện cung cấp cho động cơ (Tối đa): 2A
- Điện áp logic: 5V
- Điện áp trình điều khiển: 5-35V
- Trình điều khiển hiện tại: 2A
- Dòng điện logic: 0-36mA
- Công suất tối đa (W): 25W
lOMoARcPSD| 58702377
CHƯƠNG III: MODULE BLUETOOTH HC-05
3.1 Khái Niệm Về Công Nghệ Bluetooth
- Bluetooth là một công nghệ cho phép truyền thông giữa các thiết bị với
nhau mà không cần dây dẫn. Nó là một chuẩn điện tử, điều đó có nghĩa là
các hãng sản xuất muốn có đặc tính này trong sản phẩm thì họ phải tuân theo
các yêu cầu của chuẩn này cho sản phẩm của mình. Những tiêu chuẩn kỹ
thuật này đảm bảo cho các thiết bị có thể nhận ra và tương tác với nhau khi
sử dụng công nghệ Bluetooth. Ngày nay phần lớn các nhà máy đều sản xuất
các thiết bị có sử dụng công nghệ Bluetooth. Các thiết bị này gồm có điện
thoại di động, máy tính và thiết bị hỗ trợ cá nhân PDA (Prosonal Digital
Assistant).
- Công nghệ Bluetooth là một công nghệ dựa trên tần số vô tuyến và bất
cứ một thiết bị nào có tích hợp bên trong công nghệ này đều có thể truyền
thông với các thiết bị khác với một khoảng cách nhất định về cự ly để đảm
bảo công suất cho việc phát và nhận sóng. Công nghệ này thường được sử
dụng để truyền thông giữa hai loại thiết bị khác nhau.
3.2 Đặc Điểm Của Công Nghệ Bluetooth
ƯU ĐIỂM
- Tiêu thụ năng lượng thấp.
- Cho phép ứng dụng được nhiều loại thiết bị bao gồm các thiết bị
cầm tay và điện thoại di động.
- Giá thành ngày một giảm.
- Dễ dàng trong việc phát triển ứng dụng: Bluetooth kết nối một
ứng dụng này với một ứng dụng khác thông qua chuẩn Bluetooth, do đó có
thể độc lập về phần cứng cũng như hệ điều hành sử dụng.
lOMoARcPSD| 58702377
- Tính tương thích cao, được nhiều nhà sản xuất phần cứng cũng
như phần mềm
NHƯỢC ĐIỂM
Khoảng cách kết nối còn ngắn so với các công nghệ kết nối không
dây khác.
3.3 Hoạt Động
Bluetooth là chuẩn kết nối không dây tầm ngắn, thiết kế cho các kết nối
thiết bị cá nhân hay mạng cục bộ nhỏ trong phạm vi băng tần từ 2.4GHz
đến 2.485GHz. Bluetooth được thiết kế hoạt động trên 79 tần số đơn lẻ.
Khi kết nối , nó sẽ tự động tìm ra tần số tương thích để di chuyển đến thiết
bị cần kết nối trong khu vực nhằm đảm bảo sự liên tục.
3.4 Module Bluetooth HC-05
3.4.1 Khái Niệm:
- Module Bluetooth HC-06 được thiết kế để chuyển đổi giao tiếp nối tiếp
không đồng bộ và thành giao tiếp không dây Bluetooth và ngược lại.
- HC-05 là thiết bị Bluetooth tốt nhất sử dụng giao thức truyền thông
UART. HC-05 Bluetooth có nhiều tính năng khác biệt so với tất cả các
thiết bị Bluetooth khác vì có nhiều chân và chức năng.
- Module thường sử dụng giao tiếp nối tiếp UART với các chân TX và
RX ở tốc độ baund 9600. Có giao tiếp truyền dữ liệu hai chiều và có
thể hoạt động như một slave và master.
lOMoARcPSD| 58702377
- Module Bluetooth chỉ cung cấp khả năng giao tiếp trong khoảng cách
ngắn do có giới hạn, hầu hết do đảm bảo tốc độ và tính bảo mật của nó.
3.4.2 Thông Số Kỹ Thuật:
- Điện thế hoạt động của UART 3.3 - 5V.
- Dòng điện khi hoạt động: khi Pairing 30 mA, sau khi pairing hoạt động
truyền nhận bình thường 8 mA
- Baudrate UART thể chọn được: 1200, 2400, 4800, 9600, 19200,
38400, 57600, 115200
- Kích thước của module chính: 28 mm x 15 mm x 2.35 mm
- Dải tần sóng hoạt động: 2.4GHz
- Bluetooth protocol: Bluetooth Specification v2.0+EDRo Thiết lập
mặt định: - Baud rate: 9600
- Check parity: None
- Bits: 8
- Stop bit: 1
- Pairing code: 1234
3.4.3 Mô tả sơ đồ chân
Chân VCC: Giống như mọi thiết bị khác, HC05 Modules cũng phụ thuộc
vào nguồn điện để hoạt động và chân VCC cấp nguồn điện từ bên ngoài.
lOMoARcPSD| 58702377
Chân GND: Chân nối đất module.
Chân TX: Chân truyền dữ liệu giao thức UART
Chân RX: Chân nhận dữ liệu trong giao tiếp UART.
Chân State: Báo trạng thái kết nối của Bluetooth.
Chân Enable/key: Chân Enable / Key là chân thay đổi chế độ giữa chế độ
dữ liệu và chế độ dòng lệnh bằng cách cấp tín hiệu bên ngoài. Cấp logic cao
sẽ chuyển sang chế độ dòng lệnh và trạng thái logic thấp sẽ chuyển sang chế
độ dữ liệu. Chế độ thiết bị mặc định là chế độ dữ liệu.
Chân button: c chế độ dữ liệu và lệnh có thể thay đổi thông qua một nút
nhấn có trên module.
Chân LED: Đèn LED hiển thị trạng thái của Module HC-05.
lOMoARcPSD| 58702377
3.4.4 Đặc tính
Module Bluetooth HC-05 cung cấp hai giao tiếp trong khoảng cách
ngắn hơn với tốc độ nhanh.
Có chân enale cho phép chuyển đổi giữa chế độ dòng lệnh và dữ liệu.
Module có giao thức UART dễ dàng giao tiếp với bất kỳ bộ vi điều
khiển hoặc hệ thống nào.
Phạm vi giao tiếp lên đến 8 – 10 mét nhưng sẽ giảm xuống khi có vật
cản.
Thiết bị sử dụng nguồn điện 5V.
Module có thể làm Master hoặc Slave.
Hỗ trợ tốc độ truyền
3.4.5 Ứng dụng
Các ô tô điều khiển từ xa cho trẻ em.
Trong tai nghe và chuột không dây, HC05 khả dụng cho giao tiếp
không dây tốc độ nhanh.
Trong IoT thay vì dùng mạng WiFi, một số thiết bị cũng có
Bluetooth
CHƯƠNG IV: NGÔN NGỮ LẬP TRÌNH PYTHON
4.1 Khái Niệm
Python là một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa
năng. Ngôn ngữ lập trình Python được tạo bởi Guido van Rossum và lần đầu
ra mắt vào năm 1991. Python được thiết kế với ưu điểm mạnh là dễ đọc, dễ
học và dễ nhớ. Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ
ràng, thuận tiện cho người mới học lập trình. Cấu trúc của Python còn cho
phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu.
lOMoARcPSD| 58702377
4.2 Chức Năng Chính
Ngôn ngữ lập trình đơn giản, dễ học: Python có cú pháp rất đơn giản, rõ
ràng. Nó dễ đọc và viết hơn rất nhiều khi so sánh với những ngôn ngữ lập
trình khác như C++, Java, C#. Python làm cho việc lập trình trở nên thú
vị, cho phép bạn tập trung vào những giải pháp chứ không phải cú pháp.
Miễn phí, mã nguồn mở: Bạn có thể tự do sử dụng và phân phối Python,
thậm chí là dùng cho mục đích thương mại. Vì là mã nguồn mở, bạn
không những có thể sử dụng các phần mềm, chương trình được viết trong
Python mà còn có thể thay đổi mã nguồn của nó. Python có một cộng
đồng rộng lớn, không ngừng cải thiện nó mỗi lần cập nhật.
Khả năng di chuyển: Các chương trình Python có thể di chuyển từ nền
tảng này sang nền tảng khác và chạy nó mà không có bất kỳ thay đổi nào.
Nó chạy liền mạch trên hầu hết tất cả các nền tảng như Windows, macOS,
Linux.
Khả năng mở rộng và có thể nhúng: Giả sử một ứng dụng đòi hỏi sự
phức tạp rất lớn, bạn có thể dễ dàng kết hợp các phần code bằng C, C+ +
và những ngôn ngữ khác (có thể gọi được từ C) vào code Python. Điều
này sẽ cung cấp cho ứng dụng của bạn những tính năng tốt hơn cũng như
khả năng scripting mà những ngôn ngữ lập trình khác khó có thể làm
được.
lOMoARcPSD| 58702377
Ngôn ngữ thông dịch cấp cao: Không giống như C/C++, với Python, bạn
không phải lo lắng những nhiệm vụ khó khăn như quản lý bộ nhớ, dọn
dẹp những dữ liệu vô nghĩa,... Khi chạy code Python, nó sẽ tự động
chuyển đổi code sang ngôn ngữ máy tính có thể hiểu. Bạn không cần lo
lắng về bất kỳ hoạt động ở cấp thấp nào.
Thư viện tiêu chuẩn lớn để giải quyết những tác vụ phổ biến: Python có
một số lượng lớn thư viện tiêu chuẩn giúp cho công việc lập trình của bạn
trở nên dễ thở hơn rất nhiều, đơn giản vì không phải tự viết tất cả code. Ví
dụ: Bạn cần kết nối cơ sở dữ liệu MySQL trên Web server? Bạn có thể
nhập thư viện MySQLdb và sử dụng nó. Những thư viện này được kiểm
tra kỹ lưỡng và được sử dụng bởi hàng trăm người. vậy, bạn có thể
chắc chắn rằng nó sẽ không làm hỏng code hay ứng dụng của mình.
Hướng đối tượng: Mọi thứ trong Python đều là hướng đối tượng. Lập
trình hướng đối tượng (OOP) giúp giải quyết những vấn đề phức tạp một
cách trực quan. Với OOP, bạn có thể phân chia những vấn đề phức tạp
thành những tập nhỏ hơn bằng cách tạo ra các đối tượng.
CHƯƠNG V:
THIẾT KẾ PHẦN CỨNG
5.1 Yêu Cầu Phần Cứng
Yêu cầu đề ra là thiết kế ra một chiếc xe điều khiển từ xe thông qua điện
thoại chạy hệ điều hành Android. Kích thước xe nhỏ gọn.
Xe có thể chạy: tới, lùi, sang trái, sang phải.
5.2 Yêu Cầu Phần Mềm
Chương trình điều khiển, thiết kế phần mềm để kết nối Bluetooth trên
MIT app Inventor, điện thoại.
lOMoARcPSD| 58702377
5.3 Phương Án Thiết Kế
Vi điều khiển trung tâm là Raspberry Pi Pico với thiết kế nhỏ gọn.
Các module kết nối vào Raspberry Pi Pico gồm:
Module Bluetooth HC-05 kết nối với vi điều khiển trung tâm Động
cơ một chiều gắn vào 2 bánh xe.
Mạch công suất điều khiển và bảo vệ các động cơ.
Các module kết nối với vi điều khiển thông qua các chân GPIO.
Bằng việc điều khiển vi điều khiển xuất và nhận tín hiệu tại các chân GPIO,
ta điều khiển được các module hoạt động theo ý muốn mình.
5.3.1 Sơ Đồ Khối
Chức năng các khối:
Khối nguồn: dùng 2 pin Cell 18650 2600mAh 3.7V để cung cấp cho
khối công suất để điều khiển động cơ

Preview text:

lOMoAR cPSD| 58702377
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO BÁO CÁO CUỐI KỲ
MÔN HỌC: HỆ THỐNG NHÚNG TRONG CÔNG NGHIỆP
XE ĐIỀU KHIỂN TỪ XA DÙNG RASPBERRY PI PICO THÔNG QUA BLUETOOTH
GVHD: TS. NGUYỄN THANH NGHĨA SVTH:
1.Đỗ Ngọc An MSSV: 20161153 2.Chu
Đan Trường MSSV: 20161285 3.Nguyễn Thanh Tùng MSSV:
TP. HỒ CHÍ MINH, 22 tháng 11 năm 2022 lOMoAR cPSD| 58702377 MỤC LỤC
PHẦN A: MỞ ĐẦU..................................................................................................5
1.Giới thiệu đề tài:............................................................................................5
2.Mục tiêu nghiên cứu......................................................................................5
PHẦN B: NỘI DUNG..............................................................................................6
CHƯƠNG I: RASPBERRY PI PICO............................................................6
1.1 Khái Niệm..................................................................................................6
1.2 Thông Số Kỹ Thuật Và Cấu Hình Chân.................................................7
CHƯƠNG 2:MODULE ĐIỀU KHIỂN ĐỘNG CƠ L298N.......................11
2.1 Khái Niệm.................................................................................................11
2.2 Cấu Hình Sơ Đồ Chân.............................................................................11
2.3 Thông Số Kỹ Thuật..................................................................................12
CHƯƠNG III: MODULE BLUETOOTH HC-05.......................................13
3.1 Khái Niệm Về Công Nghệ Bluetooth......................................................13
3.2 Đặc Điểm Của Công Nghệ Bluetooth.....................................................14
3.3 Hoạt Động…………………………………………………………..........14
3.4 Module Bluetooth HC-05……………………………………………….15
3.4.1 Khái Niệm…………………………………………………………….15
3.4.2 Thông Số Kỹ Thuật…………………………………………………..16
3.4.3 Mô Tả Sơ Đồ Chân…………………………………………………..16
3.4.4 Đặc Tính……………………………………………………………...17
3.4.5 Ứng Dụng…………………………………………………………….18
CHƯƠNG IV: NGÔN NGỮ LẬP TRÌNH PYTHON.................................18
4.1 Khái Niệm.................................................................................................18
4.2 Chức Năng Chính.....................................................................................19
CHƯƠNG V: THIẾT KẾ PHẦN CỨNG.....................................................20
5.1 Yêu Cầu Phần Cứng................................................................................20 5.2
Yêu Cầu Phần Mềm.................................................................................21
5.3 Phương Án Thiết Kế................................................................................21
5.3.1 Sơ Đồ Khối...........................................................................................21
5.3.2 Cách Kết Nối Phần Cứng...................................................................22 lOMoAR cPSD| 58702377
CHƯƠNG VI: THIẾT KẾ PHẦN MỀM.....................................................24
6.1 Cài Đặt Cho Raspberry Pi Pico .............................................................24
6.2 Nạp Code Cho Raspberry Pi Pico...........................................................29
6.2.1 Thiết Kế Ứng Dụng Điều Khiển…….………………………………32
CHƯƠNG VII: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI...33
7.1 Kết Quả.....................................................................................................33
7.2 Hướng Phát Triển Của Đề Tài................................................................34
7.2.1 Kết Luận……………………………………………………………...34
7.2.3 Hướng Phát Triển Của Đề Tài……………………………………...35
TÀI LIỆU THAM KHẢO………………………………………………….........36 lOMoAR cPSD| 58702377
NHẬN XÉT CỦA GIẢNG VIÊN
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________ GV KÝ TÊN lOMoAR cPSD| 58702377 PHẦN A: MỞ ĐẦU
1. Giới Thiệu Đề Tài:
Công nghiệp hóa là một trong những nhiệm vụ quan trọng hàng đầu
của nhà nước. Quá trình phát triển đó đưa cả nền sản xuất vật chất và
đời sống văn hóa - xã hội của đất nước lên trình độ mới. Đến nay,
lịch sử nhân loại đã chứng kiến 4 cuộc cách mạng công nghiệp, cũng
là các cuộc cách mạng khoa học - kỹ thuật nói chung. •
Tất cả các thiết bị công nghệ đang dần được đưa vào đời sống của
con người. Các công trình nghiên cứu, các dự án khoa học ngày càng
được phát triển. Để hưởng ứng chung với sự phát triển đó nhóm
chúng em đã chọn đề tài liên quan đến “Hệ thống nhúng trong công
nghiệp” đó là Xe điều khiển từ xa dùng Raspberry Pi Pico thông qua
Bluetooth kết nối với điện thoại.
2. Mục Tiêu Nghiên Cứu
a. Vi điều khiển Raspberry Pi Pico
b. Module điều khiển động cơ L298N
c. Ngôn ngữ lập trình Python d. Module Bluetooth HC-05 PHẦN B: NỘI DUNG
CHƯƠNG I: RASPBERRY PI PICO 1.1 Khái Niệm
- Vào ngày 21 tháng 1 năm 2021, Raspberry Pi Foundation ra mắt sản phẩm
vi điều khiển đầu tiên của mình: Raspberry Pi Pico. Với mức giá chỉ 4$, bo
mạch này được xây dựng trên RP2040 – chip vi điều khiển đầu tiên được
thiết kế bới chính Raspberry Pi.
- Raspberry Pi Foundation có ba mục tiêu thiết kế chính cho RP2040: lOMoAR cPSD| 58702377
+ Hiệu suất cao, đặc biệt đối với khối lượng công việc dựa trên số nguyên.
+ I/O linh hoạt, cho phép giao tiếp với hầu hết mọi thiết bị ngoại vi + Chi phí thấp.
- Đây là bo mạch vi điều khiển đầu tiên của Raspberry Pi, được thiết kế đặc
biệt cho tính toán vật lý. Bộ vi điều khiển là một loại thiết bị khác với Máy
tính bo mạch đơn (SBC – Sigle Board Computer) như Raspberry Pi 4 và
các thế hệ trước của Pi, chúng không chạy hệ điều hành và chúng thường
được lập trình để chỉ thực hiện một tác vụ – mặc dù tác vụ đó có thể khá phức tạp
- Bo mạch nhỏ này sẽ được dùng cho việc điều khiển nút bấm, nhận lệnh, ghi
nhận dữ liệu và xử lý đơn giản, không cần kết nối mạng.
- Chúng hoàn hảo để thử nghiệm với phần cứng và sử dụng như bộ não của
các thiết bị, máy móc. Nó có thể được lập trình lại dễ dàng qua USB từ
Raspberry Pi hoặc máy tính khác sử dụng C/C++ hoặc MicroPython.
- Mạch vi điều khiển Raspberry Pi Pico RP2040 sử dụng MCU RP2040 được
chính Raspberry Pi thiết kế dựa trên kiến trúc dual-core ARM Cortex-M0+
với xung nhịp tối đa lên đến 133Mhz, RP2040 còn có 264KB RAM nội và
hỗ trợ bộ nhớ Flash ngoài lên đến 16MB cũng như đầy đủ các giao tiếp cơ bản UART, I2C, SPI,....
- Mạch Vi Điều Khiển Raspberry Pi Pico RP2040 được Raspberry Pi hỗ trợ
lập trình trên IDE với ngôn ngữ C và Python cũng như khả năng kết hợp
hoàn hảo với máy tính Raspberry Pi sẽ mang đến cho bạn một công cụ dễ
dàng sử dụng cho vô số các ứng dụng khác nhau. lOMoAR cPSD| 58702377
1.2 Thông Số Kỹ Thuật Và Cấu Hình Chân
Bo mạch Microcontroller Development đầu tiên đến từ Raspberry Pi Foundation.
Silicon (IC) đầu tiên, RP2040 MCU được thiết kế bởi các kỹ sư của Raspberry Pi Foundation.
Bộ xử lý Dual-Core, 32-bit ARM Cortex M0+
Xung nhịp 48MHz (default), có thể cấu hình tối đa lên tới 133MHz.
264KB SRAM và 2MB bộ nhớ Flash
Cấp nguồn và truyền dữ liệu qua Micro USB B
Hỗ trợ USB 1.1 Host and Device
Kết nối qua USB port dưới dạng USB Mass Storage không cần Driver
Hỗ trợ các ngôn ngữ lập trình MicroPython, C and C++
Lập trình kéo thả một cách nhanh chóng và dễ dàng
Đi kèm với PCB 40-pin 21x51 'DIP' dày 1mm với các chân xuyên lỗ 0,1"
Chân cắm header chưa được hàn sẵn Hỗ trợ thiết bị ngoại vi :
- 26 GPIO 3.3V đa chức năng lOMoAR cPSD| 58702377 - 23 GPIO are digital-only
- 3 x 12-bit ADC capable of 500Ksps, Analog to Digital Converter
- 2 x UART (Universal Asynchronous Receiver/Transmitter)
- 2 x SPI (Serial Peripheral Interface) - 2 x I2C (Inter IC)
- 16 x PWM (Pulse Width Modulation) - 1 x Timer with 4 alarms - 1 x Real Time Counter
- 2 x Programmable IO (PIO) có thể mô phỏng các high-speed
interfaces như SD card hoặc VGA
- Tích hợp cảm biến nhiệt độ 12-bit ADC
3-pin ARM Serial Wire Debug (SWD) port
Đèn LED trên bo mạch có thể lập trình được, GP25
Cách thức cấp điện đơn giản nhưng rất linh hoạt
Hỗ trợ cấp nguồn qua USB, nguồn ngoài (2 - 5VDC) hoặc nguồn bằng PIN
Hỗ trợ bởi các SDK và tài liệu tham khảo
Sản phẩm chính hãng đến từ Raspberry Pi Foundation
Tương thích với hầu hết các máy tính có cổng USB, Windows, macOS, Linux
Có khả năng làm việc với Raspberry Pi 4 Model B, Raspberry Pi 400 và Raspberry Pi OS
Kích thước : 51mm x 21mm x 1mm lOMoAR cPSD| 58702377 lOMoAR cPSD| 58702377
CHƯƠNG 2: MODULE ĐIỀU KHIỂN ĐỘNG CƠ L298N 2.1 Khái Niệm
Module điều khiển động cơ L298N này là module điều khiển động cơ công
suất cao để điều khiển Động cơ DC và Động cơ bước. Mô-đun này bao gồm
IC điều khiển động cơ L298 và bộ điều chỉnh 78M05 5V, điện trở, tụ điện, lOMoAR cPSD| 58702377
đèn LED nguồn. Module L298N có thể điều khiển tối đa 4 động cơ DC hoặc
2 động cơ DC có điều khiển hướng và tốc độ.
2.2 Cấu Hình Sơ Đồ Chân
- IN1 & IN2: Chân đầu vào động cơ A. Dùng để điều khiển hướng quay của Motor A
- IN3 & IN4: Chân đầu vào động cơ B. Dùng để điều khiển hướng quay của Motor B
- ENA: Kích hoạt tín hiệu PWM cho Motor A
- ENB: Kích hoạt tín hiệu PWM cho Motor B
- OUT1 & OUT2: Chân đầu ra của Motor A
- OUT3 & OUT4: Chân ra của Motor B
- 12V: Đầu vào 12V từ nguồn DC
- 5V: Cấp nguồn cho mạch logic chuyển mạch bên trong IC L298N lOMoAR cPSD| 58702377 - GND: Chân nối đất
2.3 Thông Số Kỹ Thuật
- Trình điều khiển Model: L298N 2A
- Chip điều khiển: Cầu đôi H L298N
- Điện áp cung cấp cho động cơ (Tối đa): 46V
- Dòng điện cung cấp cho động cơ (Tối đa): 2A - Điện áp logic: 5V
- Điện áp trình điều khiển: 5-35V
- Trình điều khiển hiện tại: 2A - Dòng điện logic: 0-36mA
- Công suất tối đa (W): 25W lOMoAR cPSD| 58702377
CHƯƠNG III: MODULE BLUETOOTH HC-05
3.1 Khái Niệm Về Công Nghệ Bluetooth -
Bluetooth là một công nghệ cho phép truyền thông giữa các thiết bị với
nhau mà không cần dây dẫn. Nó là một chuẩn điện tử, điều đó có nghĩa là
các hãng sản xuất muốn có đặc tính này trong sản phẩm thì họ phải tuân theo
các yêu cầu của chuẩn này cho sản phẩm của mình. Những tiêu chuẩn kỹ
thuật này đảm bảo cho các thiết bị có thể nhận ra và tương tác với nhau khi
sử dụng công nghệ Bluetooth. Ngày nay phần lớn các nhà máy đều sản xuất
các thiết bị có sử dụng công nghệ Bluetooth. Các thiết bị này gồm có điện
thoại di động, máy tính và thiết bị hỗ trợ cá nhân PDA (Prosonal Digital Assistant). -
Công nghệ Bluetooth là một công nghệ dựa trên tần số vô tuyến và bất
cứ một thiết bị nào có tích hợp bên trong công nghệ này đều có thể truyền
thông với các thiết bị khác với một khoảng cách nhất định về cự ly để đảm
bảo công suất cho việc phát và nhận sóng. Công nghệ này thường được sử
dụng để truyền thông giữa hai loại thiết bị khác nhau.
3.2 Đặc Điểm Của Công Nghệ Bluetooth ƯU ĐIỂM
- Tiêu thụ năng lượng thấp.
- Cho phép ứng dụng được nhiều loại thiết bị bao gồm các thiết bị
cầm tay và điện thoại di động.
- Giá thành ngày một giảm.
- Dễ dàng trong việc phát triển ứng dụng: Bluetooth kết nối một
ứng dụng này với một ứng dụng khác thông qua chuẩn Bluetooth, do đó có
thể độc lập về phần cứng cũng như hệ điều hành sử dụng. lOMoAR cPSD| 58702377
- Tính tương thích cao, được nhiều nhà sản xuất phần cứng cũng như phần mềm NHƯỢC ĐIỂM
Khoảng cách kết nối còn ngắn so với các công nghệ kết nối không dây khác. 3.3 Hoạt Động
Bluetooth là chuẩn kết nối không dây tầm ngắn, thiết kế cho các kết nối
thiết bị cá nhân hay mạng cục bộ nhỏ trong phạm vi băng tần từ 2.4GHz
đến 2.485GHz. Bluetooth được thiết kế hoạt động trên 79 tần số đơn lẻ.
Khi kết nối , nó sẽ tự động tìm ra tần số tương thích để di chuyển đến thiết
bị cần kết nối trong khu vực nhằm đảm bảo sự liên tục. 3.4 Module Bluetooth HC-05 3.4.1 Khái Niệm:
- Module Bluetooth HC-06 được thiết kế để chuyển đổi giao tiếp nối tiếp
không đồng bộ và thành giao tiếp không dây Bluetooth và ngược lại.
- HC-05 là thiết bị Bluetooth tốt nhất sử dụng giao thức truyền thông
UART. HC-05 Bluetooth có nhiều tính năng khác biệt so với tất cả các
thiết bị Bluetooth khác vì có nhiều chân và chức năng.
- Module thường sử dụng giao tiếp nối tiếp UART với các chân TX và
RX ở tốc độ baund 9600. Có giao tiếp truyền dữ liệu hai chiều và có
thể hoạt động như một slave và master. lOMoAR cPSD| 58702377
- Module Bluetooth chỉ cung cấp khả năng giao tiếp trong khoảng cách
ngắn do có giới hạn, hầu hết do đảm bảo tốc độ và tính bảo mật của nó.
3.4.2 Thông Số Kỹ Thuật:
- Điện thế hoạt động của UART 3.3 - 5V.
- Dòng điện khi hoạt động: khi Pairing 30 mA, sau khi pairing hoạt động
truyền nhận bình thường 8 mA
- Baudrate UART có thể chọn được: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
- Kích thước của module chính: 28 mm x 15 mm x 2.35 mm
- Dải tần sóng hoạt động: 2.4GHz
- Bluetooth protocol: Bluetooth Specification v2.0+EDRo Thiết lập mặt định: - Baud rate: 9600 - Check parity: None - Bits: 8 - Stop bit: 1 - Pairing code: 1234
3.4.3 Mô tả sơ đồ chân
Chân VCC: Giống như mọi thiết bị khác, HC05 Modules cũng phụ thuộc
vào nguồn điện để hoạt động và chân VCC cấp nguồn điện từ bên ngoài. lOMoAR cPSD| 58702377
Chân GND: Chân nối đất module.
Chân TX: Chân truyền dữ liệu giao thức UART
Chân RX: Chân nhận dữ liệu trong giao tiếp UART.
Chân State: Báo trạng thái kết nối của Bluetooth.
Chân Enable/key: Chân Enable / Key là chân thay đổi chế độ giữa chế độ
dữ liệu và chế độ dòng lệnh bằng cách cấp tín hiệu bên ngoài. Cấp logic cao
sẽ chuyển sang chế độ dòng lệnh và trạng thái logic thấp sẽ chuyển sang chế
độ dữ liệu. Chế độ thiết bị mặc định là chế độ dữ liệu.
Chân button: Các chế độ dữ liệu và lệnh có thể thay đổi thông qua một nút nhấn có trên module.
Chân LED: Đèn LED hiển thị trạng thái của Module HC-05. lOMoAR cPSD| 58702377 3.4.4 Đặc tính
Module Bluetooth HC-05 cung cấp hai giao tiếp trong khoảng cách
ngắn hơn với tốc độ nhanh.
Có chân enale cho phép chuyển đổi giữa chế độ dòng lệnh và dữ liệu.
Module có giao thức UART dễ dàng giao tiếp với bất kỳ bộ vi điều
khiển hoặc hệ thống nào.
Phạm vi giao tiếp lên đến 8 – 10 mét nhưng sẽ giảm xuống khi có vật cản.
Thiết bị sử dụng nguồn điện 5V.
Module có thể làm Master hoặc Slave.
Hỗ trợ tốc độ truyền 3.4.5 Ứng dụng
Các ô tô điều khiển từ xa cho trẻ em. •
Trong tai nghe và chuột không dây, HC05 khả dụng cho giao tiếp
không dây tốc độ nhanh. •
Trong IoT thay vì dùng mạng WiFi, một số thiết bị cũng có Bluetooth
CHƯƠNG IV: NGÔN NGỮ LẬP TRÌNH PYTHON 4.1 Khái Niệm
Python là một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa
năng. Ngôn ngữ lập trình Python được tạo bởi Guido van Rossum và lần đầu
ra mắt vào năm 1991. Python được thiết kế với ưu điểm mạnh là dễ đọc, dễ
học và dễ nhớ. Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ
ràng, thuận tiện cho người mới học lập trình. Cấu trúc của Python còn cho
phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu. lOMoAR cPSD| 58702377
4.2 Chức Năng Chính
Ngôn ngữ lập trình đơn giản, dễ học: Python có cú pháp rất đơn giản, rõ
ràng. Nó dễ đọc và viết hơn rất nhiều khi so sánh với những ngôn ngữ lập
trình khác như C++, Java, C#. Python làm cho việc lập trình trở nên thú
vị, cho phép bạn tập trung vào những giải pháp chứ không phải cú pháp. •
Miễn phí, mã nguồn mở: Bạn có thể tự do sử dụng và phân phối Python,
thậm chí là dùng cho mục đích thương mại. Vì là mã nguồn mở, bạn
không những có thể sử dụng các phần mềm, chương trình được viết trong
Python mà còn có thể thay đổi mã nguồn của nó. Python có một cộng
đồng rộng lớn, không ngừng cải thiện nó mỗi lần cập nhật. •
Khả năng di chuyển: Các chương trình Python có thể di chuyển từ nền
tảng này sang nền tảng khác và chạy nó mà không có bất kỳ thay đổi nào.
Nó chạy liền mạch trên hầu hết tất cả các nền tảng như Windows, macOS, Linux. •
Khả năng mở rộng và có thể nhúng: Giả sử một ứng dụng đòi hỏi sự
phức tạp rất lớn, bạn có thể dễ dàng kết hợp các phần code bằng C, C+ +
và những ngôn ngữ khác (có thể gọi được từ C) vào code Python. Điều
này sẽ cung cấp cho ứng dụng của bạn những tính năng tốt hơn cũng như
khả năng scripting mà những ngôn ngữ lập trình khác khó có thể làm được. lOMoAR cPSD| 58702377 •
Ngôn ngữ thông dịch cấp cao: Không giống như C/C++, với Python, bạn
không phải lo lắng những nhiệm vụ khó khăn như quản lý bộ nhớ, dọn
dẹp những dữ liệu vô nghĩa,... Khi chạy code Python, nó sẽ tự động
chuyển đổi code sang ngôn ngữ máy tính có thể hiểu. Bạn không cần lo
lắng về bất kỳ hoạt động ở cấp thấp nào. •
Thư viện tiêu chuẩn lớn để giải quyết những tác vụ phổ biến: Python có
một số lượng lớn thư viện tiêu chuẩn giúp cho công việc lập trình của bạn
trở nên dễ thở hơn rất nhiều, đơn giản vì không phải tự viết tất cả code. Ví
dụ: Bạn cần kết nối cơ sở dữ liệu MySQL trên Web server? Bạn có thể
nhập thư viện MySQLdb và sử dụng nó. Những thư viện này được kiểm
tra kỹ lưỡng và được sử dụng bởi hàng trăm người. Vì vậy, bạn có thể
chắc chắn rằng nó sẽ không làm hỏng code hay ứng dụng của mình. •
Hướng đối tượng: Mọi thứ trong Python đều là hướng đối tượng. Lập
trình hướng đối tượng (OOP) giúp giải quyết những vấn đề phức tạp một
cách trực quan. Với OOP, bạn có thể phân chia những vấn đề phức tạp
thành những tập nhỏ hơn bằng cách tạo ra các đối tượng.
CHƯƠNG V: THIẾT KẾ PHẦN CỨNG
5.1 Yêu Cầu Phần Cứng
Yêu cầu đề ra là thiết kế ra một chiếc xe điều khiển từ xe thông qua điện
thoại chạy hệ điều hành Android. Kích thước xe nhỏ gọn.
Xe có thể chạy: tới, lùi, sang trái, sang phải.
5.2 Yêu Cầu Phần Mềm
Chương trình điều khiển, thiết kế phần mềm để kết nối Bluetooth trên
MIT app Inventor, điện thoại. lOMoAR cPSD| 58702377
5.3 Phương Án Thiết Kế
Vi điều khiển trung tâm là Raspberry Pi Pico với thiết kế nhỏ gọn.
Các module kết nối vào Raspberry Pi Pico gồm:
Module Bluetooth HC-05 kết nối với vi điều khiển trung tâm Động
cơ một chiều gắn vào 2 bánh xe.
Mạch công suất điều khiển và bảo vệ các động cơ.
Các module kết nối với vi điều khiển thông qua các chân GPIO.
Bằng việc điều khiển vi điều khiển xuất và nhận tín hiệu tại các chân GPIO,
ta điều khiển được các module hoạt động theo ý muốn mình. 5.3.1 Sơ Đồ Khối Chức năng các khối:
Khối nguồn: dùng 2 pin Cell 18650 2600mAh 3.7V để cung cấp cho
khối công suất để điều khiển động cơ