Bối cảnh và vấn đề nghiên cứu
Trong lĩnh vực điều khiển tự động và robot di động, bài toán tự vận hành và tránh vật cản đóng vai trò trọng tâm nhằm đảm bảo phương tiện di chuyển an toàn đến đích trong môi trường chưa xác định trước hoặc chỉ được xác định một phần. Phương tiện hoàn toàn phụ thuộc vào hệ thống cảm biến tích hợp để thu nhận dữ liệu môi trường và đưa ra quyết định chuyển hướng thích hợp.
Việc xây dựng bản đồ môi trường toàn cục thường đòi hỏi dung lượng bộ nhớ lớn, năng lực tính toán phức tạp và dễ gặp sai số nghiêm trọng khi tín hiệu cảm biến bị nhiễu. Ngược lại, giải pháp xe tự dò đường theo thời gian thực dựa trên các cảm biến gắn trực tiếp trên thân xe giúp tối ưu hóa tài nguyên tính toán, giảm dung lượng bộ nhớ yêu cầu và mang lại tính linh hoạt cao trong việc xử lý các vật cản di động. Xuất phát từ thực tế đó, đề tài "Sử dụng kit Raspberry chế tạo xe tự vận hành" được thực hiện nhằm ứng dụng máy tính nhúng trong điều khiển tự động.
Mục tiêu nghiên cứu của đồ án bao gồm:
- Nắm vững cấu trúc phần cứng, đặc tính kỹ thuật và các chuẩn giao tiếp ngoại vi của kit Raspberry Pi.
- Ứng dụng kit Raspberry Pi vào bài toán điều khiển tự động hóa.
- Khảo sát và nắm bắt đặc tính kỹ thuật của các linh kiện, cảm biến và cơ cấu chấp hành trong hệ thống.
- Làm chủ cú pháp và kỹ thuật lập trình điều khiển phần cứng bằng ngôn ngữ Python.
- Chế tạo thành công mô hình xe tự tránh vật cản cơ bản, có khả năng vận hành tự động, dừng lại khi gặp vật cản và quét tìm kiếm hướng di chuyển thông thoáng nhất.
Nhiệm vụ nghiên cứu được phân chia thành 7 nội dung cụ thể:
- Nội dung 1: Nghiên cứu kit Raspberry Pi và cảm biến siêu âm SRF05.
- Nội dung 2: Thiết kế và kết nối phần cứng hệ thống.
- Nội dung 3: Xây dựng lưu đồ giải thuật và lập trình điều khiển.
- Nội dung 4: Thi công phần cứng và cân chỉnh mạch điện tử.
- Nội dung 5: Chạy thử nghiệm hệ thống trên mô hình thực tế.
- Nội dung 6: Đánh giá kết quả thực hiện và khả năng đáp ứng của hệ thống.
- Nội dung 7: Viết báo cáo tổng kết và bảo vệ đồ án tốt nghiệp.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Hệ thống xe tự hành điều khiển bằng máy tính nhúng Raspberry Pi Model B+, tích hợp cảm biến siêu âm SRF05, cảm biến hồng ngoại HN2, động cơ servo SG90, mạch công suất L9110, động cơ DC và màn hình LCD Nokia 5110.
- Phạm vi không gian và địa hình: Mô hình hoạt động trên bề mặt phẳng, ít dốc; không gian xung quanh không có nguồn phát sóng siêu âm gây nhiễu; vật cản phát hiện phải có bề mặt không hấp thụ sóng siêu âm và có chiều cao tối thiểu từ 15 cm trở lên.
- Phạm vi thời gian: Đề tài được triển khai và hoàn thành trong giai đoạn từ ngày 10/03/2016 đến ngày 07/07/2016 tại Khoa Điện - Điện tử, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh.
Cơ sở lý thuyết và phương pháp nghiên cứu
Đồ án xây dựng trên nền tảng lý thuyết phần cứng máy tính nhúng, kỹ thuật điều khiển ngoại vi và ngôn ngữ lập trình kịch bản cấp cao:
- Nền tảng phần cứng trung tâm: Sử dụng Board Raspberry Pi Model B+ tích hợp vi xử lý SoC Broadcom BCM2835 (nhân ARM1176JZFS, kiến trúc RISC, xung nhịp 700 MHz), bộ nhớ RAM 512 MB của Hynix tích hợp trên đế chip. Kit hỗ trợ giao tiếp ngoại vi qua hàng chân GPIO 40 chân, các giao thức SPI, I2C, Serial, cùng các cổng kết nối HDMI, Ethernet, 4 cổng USB và chạy hệ điều hành Raspbian dựa trên nhân Linux.
- Ngôn ngữ lập trình Python: Ngôn ngữ thông dịch hướng đối tượng với cơ chế định kiểu động (duck typing), cấp phát bộ nhớ tự động, cho phép can thiệp trực tiếp vào phần cứng thông qua các thư viện hỗ trợ quản lý chân GPIO và điều chế độ rộng xung (PWM).
- Nguyên lý đo khoảng cách bằng sóng siêu âm: Sử dụng cảm biến SRF05 hoạt động theo nguyên lý đo thời gian bay của sóng (Time-of-Flight). Sau khi nhận xung kích hoạt 10 µs trên chân Trigger, cảm biến phát 8 chu kỳ sóng siêu âm tần số 40 kHz. Khoảng cách $d$ (tính bằng cm) từ cảm biến đến vật cản được xác định theo thời gian mức cao của chân Echo:
$$d = \frac{(t_{\text{end}} - t_{\text{start}}) \times 34300}{2}$$
Trong đó $t_{\text{end}} - t_{\text{start}}$ là thời gian tồn tại mức cao của xung phản hồi (tính bằng giây), vận tốc truyền âm trong không khí ở 20°C là $34300\text{ cm/s}$.
- Kỹ thuật điều khiển cơ cấu chấp hành: Điều khiển góc quay động cơ servo TowerPro SG90 (gắn cảm biến siêu âm) bằng chu kỳ xung PWM 20 ms với các độ rộng xung tương ứng để quét góc 0° (trái), 90° (thẳng) và 180° (phải). Điều khiển chiều quay và tốc độ động cơ DC dẫn động bánh xe thông qua mạch cầu H L9110 và tín hiệu logic/PWM từ Raspberry Pi.
- Chuẩn giao tiếp hiển thị: Màn hình đồ họa LCD Nokia 5110 độ phân giải $84 \times 48$ pixel, tích hợp vi điều khiển điều khiển PCD8544 sử dụng chuẩn giao tiếp nối tiếp SPI qua các thanh ghi Command ($D/C = 0$) và Data ($D/C = 1$).
Phương pháp nghiên cứu thực tế bao gồm:
- Phương pháp phân tích và thiết kế hệ thống kỹ thuật: Thiết kế sơ đồ khối, phân tách chức năng độc lập cho từng khối (khối nguồn, khối điều khiển, khối công suất, khối cảm biến, khối hiển thị và khối nút nhấn) và tính toán công suất nguồn cấp cho toàn bộ mạch.
- Phương pháp thi công phần cứng và tích hợp hệ thống: Gia công khung xe cơ khí, lắp ráp cơ cấu truyền động, đấu nối dây tín hiệu từ các module chức năng về hàng chân GPIO của Raspberry Pi.
- Phương pháp lập trình nhúng và thực nghiệm: Xây dựng lưu đồ giải thuật cho chương trình chính và các chương trình con; viết mã nguồn điều khiển trên nền tảng Raspbian; tiến hành nạp chạy, cân chỉnh độ trễ xử lý tín hiệu và đánh giá sai số cảm biến trên môi trường thực tế.
Nguồn dữ liệu sử dụng:
- Tài liệu thông số kỹ thuật (datasheet) chính thức của Raspberry Pi Model B+, IC điều khiển PCD8544, IC cầu H L9110, cảm biến SRF05, cảm biến hồng ngoại HN2 và động cơ TowerPro SG90.
- Các dữ liệu thực nghiệm thu thập từ việc đo đạc thời gian đáp ứng của cảm biến siêu âm, cự ly phản hồi của cảm biến hồng ngoại và thời gian quay quét của động cơ servo.
Thiết kế và triển khai hệ thống
Hệ thống được thiết kế theo cấu trúc module hóa nhằm đảm bảo tính ổn định và khả năng mở rộng chức năng điều khiển.
Phân tích và tính toán nguồn cấp
Hệ thống sử dụng giải pháp nguồn cấp kép độc lập nhằm cách ly nhiễu điện từ và tránh sụt áp gây khởi động lại kit điều khiển:
- Nguồn 1: Pin sạc dự phòng $5\text{V} / 2\text{A}$ cấp riêng cho board Raspberry Pi Model B+, cảm biến siêu âm SRF05 (tiêu thụ 50 mA) và động cơ servo TowerPro SG90 (tiêu thụ từ 200 mA đến 400 mA).
- Nguồn 2: Khay 6 pin AA $1.5\text{V}$ (tổng điện áp 9V) cung cấp trực tiếp cho module công suất L9110 để điều khiển 2 động cơ DC bánh xe (tiêu thụ khoảng 600 mA).
Bảng đấu nối chân tín hiệu phần cứng
Toàn bộ các ngoại vi được kết nối trực tiếp với cổng GPIO của Raspberry Pi Model B+ theo sơ đồ thiết kế chi tiết:
| Thiết bị / Module |
Tên chân trên Module |
Chân kết nối Raspberry Pi |
Chức năng tín hiệu |
| Cảm biến siêu âm SRF05 |
Trigger |
GPIO 20 (Pin 38) |
Phát xung kích hoạt 10 µs |
|
Echo |
GPIO 21 (Pin 40) |
Nhận xung phản hồi mức cao |
|
VCC / GND |
5V (Pin 2) / GND (Pin 6) |
Cấp nguồn hoạt động |
| Động cơ Servo SG90 |
Dây Cam (Signal) |
GPIO 25 (Pin 22) |
Xuất xung PWM điều khiển góc quay |
|
Dây Đỏ / Dây Nâu |
5V (Pin 2) / GND (Pin 6) |
Nguồn cấp động cơ servo |
| Module cầu H L9110 |
A-IA |
GPIO 27 (Pin 13) |
Tín hiệu điều khiển động cơ A (ngõ vào A) |
|
A-IB |
GPIO 17 (Pin 11) |
Tín hiệu điều khiển động cơ A (ngõ vào B) |
|
B-IA |
GPIO 04 (Pin 7) |
Tín hiệu điều khiển động cơ B (ngõ vào A) |
|
B-IB |
GPIO 18 (Pin 12) |
Tín hiệu điều khiển động cơ B (ngõ vào B) |
| LCD Nokia 5110 |
RST |
GPIO 24 (Pin 18) |
Tín hiệu Reset màn hình |
|
CE |
GPIO 08 (Pin 24) |
Tín hiệu cho phép (Chip Enable) |
|
D/C |
GPIO 23 (Pin 16) |
Chọn chế độ Lệnh / Dữ liệu |
|
DIN |
GPIO 10 (Pin 19) |
Tín hiệu dữ liệu nối tiếp SPI |
|
CLK |
GPIO 11 (Pin 23) |
Tín hiệu xung nhịp đồng hồ SPI |
|
VCC / BL |
3.3V (Pin 1) |
Nguồn cấp màn hình và đèn nền |
| Cảm biến hồng ngoại HN2 |
OUT (Module Trái) |
GPIO 19 (Pin 35) |
Tín hiệu phát hiện vật cản bên trái |
|
OUT (Module Phải) |
GPIO 26 (Pin 37) |
Tín hiệu phát hiện vật cản bên phải |
| Khối nút nhấn |
MODE |
GPIO 13 (Pin 33) |
Chuyển đổi chế độ hoạt động |
|
OK |
GPIO 14 (Pin 8) |
Xác nhận lựa chọn |
|
TĂNG |
GPIO 09 (Pin 21) |
Tăng tốc độ động cơ |
|
GIẢM |
GPIO 05 (Pin 29) |
Giảm tốc độ động cơ |
Giải thuật điều khiển hệ thống
Hệ thống phần mềm được tổ chức thành các luồng xử lý chính:
- Chương trình chính: Khởi tạo các chân GPIO, thiết lập trạng thái ban đầu bằng 0 cho toàn bộ biến, khởi động LCD và các module. Đọc trạng thái nút MODE để chuyển đổi giữa hai chế độ hoạt động chính:
- Chế độ 1 (Xe tự hành tránh vật cản): Xe di chuyển thẳng đồng thời liên tục đo khoảng cách phía trước. Khi khoảng cách đo được nhỏ hơn 20 cm, xe lập tức dừng động cơ dẫn động. Kit điều khiển servo SG90 quay cảm biến SRF05 quét 3 hướng: góc 0° (bên trái), góc 180° (bên phải) và góc 90° (phía trước). Sau khi thu nhận và so sánh 3 giá trị khoảng cách, kit điều khiển xe quay về hướng có cự ly thông thoáng nhất rồi tiếp tục hành trình.
- Chế độ 2 (Xe theo dõi / bám vật thể): Hai module cảm biến hồng ngoại HN2 quét liên tục vùng cự ly gần khoảng 7 cm. Khi vật cản dịch chuyển sang trái, cảm biến trái kích hoạt mức thấp đưa tín hiệu về GPIO 19, kit điều khiển xe rẽ trái. Khi vật dịch chuyển sang phải, cảm biến phải kích hoạt đưa tín hiệu về GPIO 26, kit điều khiển xe rẽ phải nhằm bám theo quỹ đạo của vật thể.
Nội dung chính theo từng chương
Chương 1: Tổng quan
Chương 1 thiết lập lý do lựa chọn đề tài dựa trên nhu cầu tự động hóa và tối ưu hóa tài nguyên tính toán cho phương tiện tự hành. Tác giả xác định rõ 5 mục tiêu trọng tâm, 7 nội dung công việc cần thực hiện, đưa ra giới hạn kỹ thuật của mô hình (kích thước nhỏ gọn mang tính thử nghiệm, vật cản cao trên 15 cm không hấp thụ sóng siêu âm) và bố cục tổng thể của đồ án qua 6 chương.
Chương 2: Cơ sở lý thuyết
Nội dung chương 2 tập trung giới thiệu chi tiết về cấu trúc phần cứng của Raspberry Pi Model B+, cấu hình vi xử lý BCM2835, sơ đồ chân GPIO 40 chân và tổng hợp các hệ điều hành được hỗ trợ (NOOBS, Raspbian, Pidora, RaspBMC, OpenELEC, RISC OS, Arch). Phần tiếp theo trình bày tổng quan về ngôn ngữ lập trình Python, nêu rõ các đặc điểm về cú pháp thụt lề khối lệnh, khả năng mở rộng với mã nguồn C, cơ chế thông dịch tương tác, cấu trúc điều khiển rẽ nhánh, vòng lặp và hệ thống kiểu dữ liệu tự động (duck typing).
Chương 3: Tính toán và thiết kế
Chương 3 xác lập các yêu cầu kỹ thuật đối với phần cứng, phần mềm và điều kiện môi trường hoạt động. Tác giả trình bày sơ đồ khối hệ thống gồm 6 khối chức năng, giải thích nguyên lý hoạt động của từng linh kiện: cảm biến siêu âm SRF05 (với hai chế độ hoạt động và công thức tính khoảng cách), động cơ servo TowerPro SG90 (chu kỳ xung 20 ms, mô-men xoắn $1.8\text{ kg}\cdot\text{cm}$), module công suất L9110 (dòng tải tối đa 800 mA/kênh), động cơ DC giảm tốc (tỉ số 64:1 hoặc 60:1, điện áp 12V, mô-men $1.72\text{ Nm}$), LCD Nokia 5110 (chip PCD8544, hiển thị 6 dòng, 84 cột) và 2 module cảm biến hồng ngoại HN2 (khoảng cách phát hiện 2 - 60 cm, góc 35°). Chương này kết thúc bằng sơ đồ nguyên lý kết nối chi tiết toàn hệ thống với Raspberry Pi.
Chương 4: Thi công hệ thống
Chương 4 mô tả quá trình hiện thực hóa mô hình thực tế và phát triển phần mềm điều khiển:
- Thi công cơ khí: Bố trí toàn bộ linh kiện trên khung xe kích thước dài 20 cm, rộng 15 cm. Tầng trên lắp đặt kit Raspberry Pi, pin dự phòng 5V, màn hình LCD Nokia 5110, servo SG90 gắn cảm biến SRF05, module L9110 và 2 cảm biến hồng ngoại HN2. Tầng dưới bố trí khay 6 pin AA và 2 động cơ DC dẫn động bánh xe.
- Lập trình hệ thống: Xây dựng các lưu đồ giải thuật hoàn chỉnh bao gồm lưu đồ chương trình chính, lưu đồ chương trình con xe tự hành, lưu đồ chương trình con đo khoảng cách siêu âm, lưu đồ chương trình con xe theo dõi bám vật cản và lưu đồ xác lập trạng thái xe.
Chương 5: Kết quả, nhận xét và đánh giá
Chương 5 công bố kết quả chế tạo mô hình thực tế, kiểm tra khả năng vận hành của các khối chức năng và phân tích các thông số đo đạc thu được trong quá trình chạy thử nghiệm trên mô hình xe tự vận hành.
Chương 6: Kết luận và hướng phát triển
Chương 6 tổng kết các kết quả đạt được đối chiếu với mục tiêu ban đầu và đề xuất các hướng nghiên cứu nâng cao cho hệ thống xe tự hành trong tương lai.
Kết quả và đóng góp
Kết quả kỹ thuật đạt được
Đồ án đã chế tạo thành công mô hình xe tự vận hành hoàn chỉnh với các thông số kỹ thuật thực tế:
| Thông số kỹ thuật |
Giá trị thực tế đạt được |
| Kích thước khung xe |
Dài 20 cm $\times$ Rộng 15 cm |
| Bộ xử lý trung tâm |
Kit Raspberry Pi Model B+ (ARM1176JZFS, 700 MHz, RAM 512 MB) |
| Nguồn cấp hệ thống |
Nguồn kép: Pin sạc dự phòng 5V/2A + Bộ 6 pin AA (9V) |
| Cự ly dừng tránh vật cản (Chế độ 1) |
Tự động phát hiện và dừng xe khi khoảng cách $< 20\text{ cm}$ |
| Góc quay quét cảm biến |
3 hướng qua servo SG90: 0° (Trái), 90° (Thẳng), 180° (Phải) |
| Cự ly theo dõi vật cản (Chế độ 2) |
Khoảng cách nhận diện bám vật thể khoảng $7\text{ cm}$ (Module HN2) |
| Giao diện điều khiển & hiển thị |
4 nút nhấn (MODE, OK, TĂNG, GIẢM) và LCD Nokia 5110 ($84 \times 48$) |
Mô hình xe đáp ứng chính xác yêu cầu đề ra: tự động dừng lại khi khoảng cách đến chướng ngại vật nhỏ hơn 20 cm, điều khiển động cơ servo xoay cảm biến đo 3 hướng xung quanh, tự động tính toán lựa chọn hướng đi thông thoáng nhất và tiếp tục di chuyển mà không cần sự can thiệp từ bên ngoài. Ở chế độ bám vật thể, hệ thống đáp ứng tín hiệu đổi hướng linh hoạt theo vật cản ở cự ly khoảng 7 cm.
Đóng góp của đề tài
- Ứng dụng thành công nền tảng máy tính nhúng Raspberry Pi Model B+ chạy hệ điều hành Linux và ngôn ngữ lập trình Python để điều khiển thời gian thực hệ thống robot di động, thay thế cho các giải pháp vi điều khiển chuyên dụng truyền thống.
- Xây dựng hoàn chỉnh sơ đồ phối ghép phần cứng đa giao tiếp (GPIO, SPI, PWM) kết hợp giải pháp cấp nguồn kép độc lập, triệt tiêu hiện tượng sụt áp và nhiễu động cơ tác động lên vi xử lý trung tâm.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài:
- Mô hình xe có kích thước nhỏ, kết cấu cơ khí mang tính chất thí nghiệm, chưa tích hợp các cơ cấu chống rung lắc phức tạp.
- Khả năng nhận biết môi trường còn đơn giản, phụ thuộc hoàn toàn vào cảm biến sóng siêu âm và hồng ngoại cự ly ngắn; chỉ phát hiện được vật cản có chiều cao từ 15 cm trở lên và có bề mặt phản xạ sóng tốt (không có tính chất hấp thụ sóng siêu âm).
- Môi trường di chuyển bị giới hạn trên các bề mặt bằng phẳng, ít dốc và không gian xung quanh không có các thiết bị phát sóng gây nhiễu cảm biến.
Hướng phát triển được tác giả đề xuất:
- Tích hợp thêm Camera expansion module 5MP của Raspberry Pi kết hợp các thuật toán xử lý ảnh số và thị giác máy tính để nhận diện làn đường, biển báo và nhận diện khuôn mặt/chuyển động.
- Mở rộng giao tiếp không dây thông qua mạng Wifi để giám sát dữ liệu hành trình và điều khiển xe từ xa qua giao diện Web.
- Bổ sung mô-đun định vị GPS và la bàn số để xe có thể tự định vị tọa độ toàn cầu và lập lộ trình di chuyển tối ưu đến các điểm mốc xác định.
Giá trị tham khảo
Đồ án là tài liệu tham khảo kỹ thuật hữu ích đối với:
- Sinh viên các ngành Công nghệ Kỹ thuật Điện tử - Truyền thông, Kỹ thuật Điều khiển & Tự động hóa, Cơ điện tử và Kỹ thuật Máy tính đang thực hiện các đồ án môn học, đồ án tốt nghiệp liên quan đến robot tự hành hoặc hệ thống nhúng.
- Các nhà phát triển phần cứng và kỹ sư lập trình nhúng bắt đầu tiếp cận việc điều khiển thiết bị ngoại vi, giao tiếp SPI, điều chế PWM và xuất nhập GPIO trên nền tảng Raspberry Pi và ngôn ngữ Python.
Nội dung có giá trị tham khảo cao nhất gồm:
- Sơ đồ nguyên lý kết nối chi tiết giữa Raspberry Pi với các module L9110, SRF05, SG90, LCD Nokia 5110 và giải pháp phân chia nguồn điện kép chống nhiễu (Chương 3).
- Lưu đồ giải thuật và cấu trúc chương trình điều khiển phân nhánh quét góc servo kết hợp đo khoảng cách siêu âm để tự động điều hướng (Chương 4).
Câu hỏi thường gặp
1. Hệ thống xử lý như thế nào khi phát hiện vật cản ở khoảng cách nhỏ hơn 20 cm trong Chế độ 1?
Khi cảm biến siêu âm SRF05 đo được khoảng cách nhỏ hơn 20 cm, kit Raspberry Pi lập tức điều khiển 2 động cơ DC dừng lại. Sau đó, kit kích hoạt động cơ servo SG90 quay cảm biến SRF05 lần lượt qua 3 vị trí: 0° (quay sang trái), 180° (quay sang phải) và 90° (quay về hướng thẳng phía trước). Cảm biến đo khoảng cách tại mỗi vị trí và gửi dữ liệu về vi xử lý. Raspberry Pi so sánh 3 giá trị, lựa chọn hướng có khoảng cách trống lớn nhất để điều khiển xe rẽ sang hướng đó và tiếp tục hành trình.
2. Tại sao hệ thống phải sử dụng hai nguồn điện riêng biệt?
Hệ thống sử dụng hai nguồn pin tách biệt gồm một sạc dự phòng $5\text{V}/2\text{A}$ và một khay 6 pin AA (9V) để đảm bảo độ ổn định điện áp. Khi 2 động cơ DC khởi động hoặc chuyển hướng, dòng tiêu thụ tăng cao (khoảng 600 mA) dễ gây sụt áp nguồn. Việc cấp nguồn riêng cho mạch công suất L9110 giúp bảo vệ board Raspberry Pi (yêu cầu dòng ổn định khoảng 1A), cảm biến SRF05 và động cơ servo không bị reset hoặc hoạt động sai lệch.
3. Công thức tính khoảng cách của cảm biến siêu âm SRF05 trong đồ án được xác lập như thế nào?
Khoảng cách được xác định dựa trên vận tốc truyền âm trong không khí ở 20°C ($34300\text{ cm/s}$) và thời gian xung phản hồi ở mức cao trên chân Echo: $d = \frac{(t_{\text{end}} - t_{\text{start}}) \times 34300}{2}$ (cm). Quá trình đo bắt đầu bằng việc xuất một xung kích hoạt mức cao có độ rộng tối thiểu 10 µs vào chân Trigger của cảm biến.
4. Chế độ xe theo dõi (bám vật cản) hoạt động dựa trên nguyên lý nào?
Chế độ theo dõi sử dụng 2 module cảm biến hồng ngoại HN2 bố trí ở hai bên hông xe. Cảm biến hoạt động theo nguyên lý phát - thu tia hồng ngoại với cự ly nhận biết hiệu chỉnh ở mức 7 cm. Khi vật cản xuất hiện ở phía nào, mắt thu của cảm biến phía đó giảm nội trở, kéo chân OUT xuống mức thấp (0V) truyền về chân GPIO 19 hoặc GPIO 26 của Raspberry Pi, từ đó kích hoạt lệnh điều khiển xe bẻ lái theo hướng của vật cản.
5. Màn hình LCD Nokia 5110 giao tiếp với kit điều khiển qua chuẩn nào và chân D/C có chức năng gì?
LCD Nokia 5110 (dùng chip PCD8544) giao tiếp với Raspberry Pi thông qua giao thức nối tiếp SPI (sử dụng các chân CLK, DIN, CE, RST, D/C). Chân D/C (Data/Command) dùng để phân loại luồng thông tin gửi đến màn hình: khi $D/C = 0$, dữ liệu được ghi vào thanh ghi Command để thực thi các lệnh điều khiển cấu hình; khi $D/C = 1$, dữ liệu được nạp vào thanh ghi Data để hiển thị trực tiếp các điểm ảnh lên màn hình $84 \times 48$ pixel.
Kết luận
Đồ án tốt nghiệp "Sử dụng kit Raspberry chế tạo xe tự vận hành" của sinh viên Di Trọng Khoa và Đỗ Văn Phú đã thiết kế, thi công và thử nghiệm thành công mô hình xe tự hành kích thước $20 \times 15\text{ cm}$ hoạt động ổn định trên nền tảng máy tính nhúng Raspberry Pi Model B+ và ngôn ngữ Python. Hệ thống đáp ứng đầy đủ các yêu cầu kỹ thuật với khả năng tự động né tránh vật cản ở cự ly dưới 20 cm thông qua cơ chế quét 3 hướng của cảm biến siêu âm SRF05 kết hợp động cơ servo SG90, đồng thời tích hợp linh hoạt chế độ bám vật cản ở cự ly 7 cm bằng cảm biến hồng ngoại HN2. Kết quả nghiên cứu cung cấp một tài liệu kỹ thuật hoàn chỉnh về thiết kế phần cứng, phân phối nguồn điện kép và xây dựng giải pháp phần mềm nhúng điều khiển robot di động trên nền tảng Linux.