Đặc biệt,các loại robot có khả năng hoạt động tự động mà không cần sự can thiệp của conngười đã giúp giảm bớt gánh nặng công việc hàng ngày của con người.Theo sự tiến bộ đáng kể trong lĩ
TỔNG QUAN VỀ ĐỀ TÀI
Lý do chọn đề tài
Trong thời đại hiện đại, robot đóng vai trò ngày càng quan trọng trong cuộc sống, không chỉ thay thế mà còn làm việc cùng con người Chúng hỗ trợ trong nhiều lĩnh vực như vận chuyển hàng hóa, kiểm tra môi trường nguy hiểm và thực hiện các công việc gia đình Đặc biệt, các robot tự động giúp giảm bớt gánh nặng công việc hàng ngày cho con người.
Với sự phát triển mạnh mẽ của khoa học và công nghệ, nhu cầu phát triển robot có khả năng thực hiện các nhiệm vụ gia đình, chẳng hạn như dọn dẹp nhà cửa, ngày càng trở nên cấp thiết Do đó, việc lựa chọn đề tài nghiên cứu trong lĩnh vực này là rất quan trọng.
"Robot hút bụi" cho bài đồ án này trở nên hợp lý và cần thiết.
Hình: 1 vài mẫu robot hút bụi được bán ở Điện Máy Xanh
Tính mới của đề tài
Robot hút bụi tự động hoạt động độc lập, có khả năng di chuyển và tránh vật cản trong không gian nhà Sử dụng công nghệ mạch logic, robot có thể xác định và né tránh các chướng ngại vật, giúp hoàn thành nhiệm vụ làm sạch hiệu quả Tuy nhiên, công nghệ này vẫn gặp một số khó khăn trong việc nhận diện và tránh vật cản một cách chính xác Để cải thiện điều này, dự án đã thiết kế hệ thống tránh vật cản sử dụng tín hiệu từ cảm biến siêu âm Các tín hiệu này được gửi đến vi điều khiển Arduino Uno R3, nơi chúng được xử lý để điều khiển các động cơ và module điều khiển khác, giúp tăng cường khả năng hoạt động của robot.
Phần hút bụi của robot được chế tạo từ các vật liệu dễ tìm như ống nước, tấm vải, động cơ V1 và nhiều linh kiện khác, giúp đơn giản hóa quy trình lắp ráp Điều này không chỉ giảm chi phí mà còn tiết kiệm thời gian cho việc xây dựng dự án robot hút bụi.
Mục tiêu
- Hoàn thành thiết kế và thi công một mô hình.
- Tạo ra một sản phẩm thực tế
- Hiệu suất làm sạch hiệu quả
- Có thêm nhiều kinh nghiệm về lĩnh vực Mobile Robot
Đối tượng và phạm vi nghiên cứu
Robot Hút Bụi Tự Động
Cảm biến và Thiết bị Điều khiển
Thiết kế và xây dựng robot hút bụi tự động bao gồm việc phát triển cả phần cứng lẫn phần mềm, đảm bảo hiệu suất tối ưu cho quá trình dọn dẹp.
Tích hợp công nghệ tránh vật cản là một bước quan trọng trong việc phát triển robot làm sạch Mục tiêu chính là trang bị cho robot khả năng nhận diện và né tránh các vật cản trong quá trình hoạt động, nhằm nâng cao hiệu quả và an toàn trong công việc dọn dẹp.
Hiệu suất Làm sạch: Đánh giá hiệu suất làm sạch của robot, bao gồm phạm vi mà robot có thể làm sạch một cách hiệu quả.
Thiết kế Thẩm mỹ: Tùy theo yêu cầu, phạm vi nghiên cứu có thể bao gồm cả thiết kế ngoại hình của robot để đảm bảo tính thẩm mỹ.
Mục tiêu chính là tạo ra khả năng tùy chỉnh và mở rộng tính năng của robot, nhằm đáp ứng tốt nhất các nhu cầu cụ thể của người dùng.
Phương pháp nghiên cứu
- Nghiên cứu Mô hình Lý thuyết
- Phương pháp nghiên cứu tài liệu
- Phương pháp phân tích tổng kết kinh nghiệm
- Thực nghiệm thử và sai
CƠ SỞ LÝ THUYẾT
Cơ sở liên quan đến lý thuyết đề tài
Arduino Uno R3 là một loại bo mạch vi điều khiển dựa trên ATmega328P.
Bộ vi điều khiển này bao gồm tất cả các thành phần cần thiết, chỉ cần kết nối với PC qua cáp USB và cung cấp nguồn điện bằng bộ chuyển đổi AC-DC hoặc pin để khởi động Từ "Uno" có nghĩa là "một" trong tiếng Ý.
Arduino Uno R3 là phiên bản sửa đổi thứ ba và mới nhất của bảng mạch Arduino Uno Phần mềm Arduino IDE 1.0 R3 được phát hành để hỗ trợ cho việc phát triển và lập trình bảng mạch này Bảng mạch Uno là mô hình chính trong chuỗi USB của Arduino và là phiên bản tham chiếu cho nền tảng Arduino.
Arduino UNO R3 là bảng vi điều khiển phổ biến nhất trong dòng Arduino, được phát hành vào năm 2011 Phiên bản thứ ba này cho phép người dùng thay thế vi điều khiển nếu có lỗi xảy ra Bo mạch có sẵn trong dạng DIP (gói nội tuyến kép) và sử dụng vi điều khiển ATmega328, giúp việc lập trình trở nên dễ dàng thông qua phần mềm Arduino trên máy tính Với sự hỗ trợ mạnh mẽ từ cộng đồng Arduino, người dùng có thể dễ dàng bắt đầu với các dự án điện tử nhúng và nhiều ứng dụng khác.
Vi điều khiển ATmega328 họ 8bit
Điện áp hoạt động: 5V DC (chỉ được cấp qua cổng USB)
Tần số hoạt động: 16 MHz
Dòng tiêu thụ khoảng: 30mA
Điện áp vào khuyên dùng: 7-12V DC
Điện áp vào giới hạn: 6-20V DC
Số chân Digital I/O: 14 (6 chân hardware PWM)
Số chân Analog: 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O: 30 mA
Dòng ra tối đa (5V): 500 mA
Dòng ra tối đa (3.3V): 50 mA
Bộ nhớ flash: 32 KB (ATmega328) với 0.5KB dùng bởi bootloader
GND (Ground) là cực âm của nguồn điện cung cấp cho Arduino UNO Khi sử dụng các thiết bị với nguồn điện riêng biệt, các chân GND này cần được nối với nhau để đảm bảo hoạt động ổn định.
Arduino UNO cung cấp hai mức điện áp đầu ra: 5V với dòng tối đa 500mA và 3.3V với dòng tối đa 50mA Để cấp nguồn cho Arduino UNO, bạn cần kết nối cực dương của nguồn với chân Vin (Voltage Input) và cực âm với chân GND.
IOREF trên Arduino UNO cho phép đo điện áp hoạt động của vi điều khiển, luôn duy trì ở mức 5V Tuy nhiên, bạn không nên sử dụng chân này để lấy nguồn 5V, vì chức năng chính của nó không phải là cấp nguồn.
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ.
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ
Flash của vi điều khiển thường có vài KB được dành cho bootloader, nhưng bạn hiếm khi cần vượt quá 20KB bộ nhớ này.
SRAM (Static Random Access Memory) có dung lượng 2KB, nơi lưu trữ giá trị của các biến bạn khai báo trong lập trình Số lượng biến càng nhiều thì yêu cầu về bộ nhớ RAM càng lớn Tuy nhiên, bộ nhớ RAM thường không phải là vấn đề đáng lo ngại Lưu ý rằng khi mất điện, dữ liệu trên SRAM sẽ bị xóa sạch.
EEPROM (Bộ nhớ chỉ đọc có thể xóa điện tử) với dung lượng 1KB hoạt động giống như một ổ cứng mini, cho phép người dùng đọc và ghi dữ liệu mà không lo mất mát khi mất điện, điều mà dữ liệu trên SRAM không thể đảm bảo.
Hình 1: Các cổng vào/ra của Arduino Uno R3
Arduino UNO có 14 chân digital cho phép đọc và xuất tín hiệu với hai mức điện áp là 0V và 5V Mỗi chân có dòng vào/ra tối đa là 40mA Các điện trở pull-up từ được tích hợp sẵn trong vi điều khiển ATmega328, nhưng mặc định không được kết nối.
Một số chân digital có các chức năng đặc biệt như sau:
2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive –
RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua
Kết nối Bluetooth mà chúng ta thường gặp thực chất là kết nối Serial không dây Nếu bạn không cần giao tiếp Serial, thì không nên sử dụng hai chân này nếu không thực sự cần thiết.
Chân PWM (3, 5, 6, 9, 10, và 11) cho phép xuất xung PWM với độ phân giải 8 bit, tương ứng với giá trị từ 0 đến 255, giúp điều chỉnh điện áp từ 0V đến 5V thông qua hàm analogWrite() Điều này mang lại khả năng linh hoạt hơn so với các chân khác, chỉ có thể xuất ra mức điện áp cố định 0V hoặc 5V.
Chân giao tiếp SPI gồm 10 (SS), 11 (MOSI), 12 (MISO) và 13 (SCK) không chỉ thực hiện các chức năng thông thường mà còn có khả năng truyền dữ liệu qua giao thức SPI với các thiết bị khác.
LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nút
Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13. Khi chân này được người dùng sử dụng, LED sẽ sáng.
Hình 2: Chức năng của các chân
Arduino UNO sở hữu 6 chân analog (A0 → A5) với độ phân giải tín hiệu 10bit (0 → 1023) cho phép đọc giá trị điện áp trong khoảng 0V đến 5V Chân AREF trên board cho phép cung cấp điện áp tham chiếu, giúp đo điện áp từ 0V đến 2.5V nếu cấp 2.5V vào chân này, vẫn giữ độ phân giải 10bit Đặc biệt, Arduino UNO còn có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác.
Các thiết bị Arduino được lập trình bằng ngôn ngữ riêng, dựa trên Wiring - một biến thể của C/C++ Ngôn ngữ Arduino dễ học và dễ hiểu nhờ vào nguồn gốc từ C/C++ Để lập trình và giao tiếp với mạch Arduino, người dùng có thể sử dụng môi trường lập trình Arduino IDE (Integrated Development Environment).
Hình 3: Màn hình chính khi lập trình
Lưu ý khi sử dụng Arduino Uno R3:
GIỚI THIỆU PHẦN MỀM
Giới thiệu chung
Arduino IDE là phần mềm miễn phí cho phép người dùng soạn thảo và viết mã code một cách nhanh chóng và dễ dàng để nạp vào bo mạch Arduino.
Hình 14: Màn hình khởi động Arduino IDE
Arduino IDE là một phần mềm mã nguồn mở, hoàn toàn miễn phí cho người dùng cả về tải về lẫn bản quyền Người dùng có quyền tự do sửa đổi, cải tiến và phát triển phần mềm theo các nguyên tắc chung mà nhà phát hành quy định, điều này khác biệt hoàn toàn so với các phần mềm nguồn đóng mà không cho phép người dùng thực hiện những thay đổi như vậy.
Mặc dù Arduino IDE là phần mềm mã nguồn mở, nhưng khả năng bảo mật thông tin của nó rất ấn tượng Khi phát hiện lỗi, nhà phát hành nhanh chóng vá và cập nhật, giúp bảo vệ thông tin người dùng khỏi việc mất mát hoặc rò rỉ ra bên ngoài.
Các thiết bị Arduino sử dụng ngôn ngữ lập trình riêng, dựa trên Wiring - một biến thể của C/C++ Ngôn ngữ này dễ học và dễ hiểu, giúp người dùng nhanh chóng làm quen Để lập trình và giao tiếp với mạch Arduino, người dùng có thể sử dụng Arduino IDE (Môi trường phát triển tích hợp) do nhóm phát triển cung cấp.
Hình 15: Khu vực lập trình
Arduino IDE cung cấp hơn 700 thư viện miễn phí, được phát triển và chia sẻ bởi Arduino Software cùng cộng đồng người dùng Arduino, cho phép bạn dễ dàng sử dụng cho các dự án cá nhân mà không tốn chi phí.
Arduino IDE cung cấp một bộ thư viện tiêu chuẩn cho các chức năng thường dùng, hỗ trợ tất cả các ví dụ có trong IDE Những thư viện này bao gồm các chức năng giao tiếp cơ bản và tương thích với nhiều loại phần cứng phổ biến, như động cơ servo và màn hình LCD.
Thư viện tiêu chuẩn của Arduino được lưu trữ trong thư mục Libraries của cài đặt Khi cài đặt nhiều phiên bản IDE, mỗi phiên bản sẽ có bộ thư viện riêng biệt Do đó, không nên thay đổi thư viện tiêu chuẩn hoặc cài đặt các thư viện trong cùng một thư mục để tránh xung đột.
Thư viện trình quản lý thư viện:
Arduino IDE mới hơn có trình quản lý thư viện, hỗ trợ cài đặt các thư viện của bên thứ ba được gửi đến Arduino để sử dụng.
Thư viện do người dùng cài đặt:
Nhiều thư viện khác nhau cung cấp chức năng hữu ích và driver cho mọi loại phần cứng, với các driver này có sẵn từ các nguồn như Arduino Playground, Github và Google Code.
Các thư viện người dùng cài đặt cần được lưu trữ trong thư mục thư viện sketchbook để đảm bảo khả năng sử dụng với mọi phiên bản của IDE Điều này giúp người dùng dễ dàng chuyển đổi giữa các phiên bản IDE mà không gặp phải vấn đề tương thích.
Hình 16: Mục quản lí thư viện
Giao diện đơn giản, dễ sử dụng
Arduino IDE sở hữu giao diện thân thiện và dễ sử dụng, giúp người dùng thao tác thuận tiện hơn Dưới đây là những tính năng nổi bật mà người dùng thường xuyên áp dụng.
- Nút kiểm tra chương trình (Verify): giúp dò lỗi phần code định truyền xuống bo mạch Arduino
Hình 17: Nút kiểm tra chương trình
- Nút tải đoạn code vào bo mạch Arduino (Upload): giúp nhập đoạn code vào bo mạch Arduino.
Hình 18: Nút tải đoạn code
- Vùng lập trình: người dùng sẽ viết chương trình tại khu vực này.
- Thanh Menu: gồm những thẻ chức năng nằm trên cùng như File, Edit, Sketch, Tools, Help rất thông dụng có ở hầu hết các chương trình nhập code khác.
Hướng dẫn tải và cài đặt Arduino IDE
Bước 1: Truy cập link tải phần mềm Arduino IDE
Link: https://www.arduino.cc/en/software
Hình 21: Trang chủ tải phần mềm Arduino IDE
Bước 2: Chọn hệ điều hành mà máy tính bạn đang dùng: Windows, Mac OS,
Hình 22: Mục chọn hệ điều hành máy tính
Bước 3: Chọn Just Download để tải trình cài đặt về máy.
Bước 4: Chọn ổ đĩa bạn muốn tải về và nhấn Save Phần mềm đã được tải về máy.
Hình 24: Chọn nơi cần lưu
Bước 1: Mở phần mềm Arduino IDE vừa mới tải về lên.
Hình 25: Giao diện khởi động phần mềm
Bước 2: Phần mềm sẽ hiện ra hộp thoại License Agreement Bạn lần lượt chọn I agree > chọn Next > nhấn Install.
Hình 26: Cấp giấy phép cho phần mềm
Bước 3: Bạn hãy đợi trong giây lát.
Hình 27: Đợi hoàn hành việc cài đặt
Bước 4: Hoàn thành cài đặt.
Hình 28: Cài đặt thành công