1. Trang chủ
  2. » Công Nghệ Thông Tin

THIẾT KẾ VÀ CHẾ TẠO CÁNH TAY ROBOT HOẠT ĐỘNG THEO CHU TRÌNH VÀ ĐIỀU KHIỂN QUA BLUETOOTH

36 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

THIẾT KẾ VÀ CHẾ TẠO CÁNH TAY ROBOT HOẠT ĐỘNG THEO CHU TRÌNH VÀ ĐIỀU KHIỂN QUA BLUETOOTH Môn Lập trình nhúng không chỉ là một lĩnh vực mới mẻ và hứa hẹn mà còn là một phần quan trọng của cuộc cách mạng công nghệ hiện đại. Trong thời đại của Internet of Things (IoT) và tự động hóa, việc hiểu và áp dụng kiến thức về lập trình nhúng là vô cùng quan trọng. Môn Lập trình nhúng không chỉ dành cho những người chuyên ngành công nghệ thông tin mà còn cho mọi người quan tâm đến sự kỹ thuật và sáng tạo. Nếu bạn muốn tạo ra các thiết bị thông minh, điều khiển từ xa các thiết bị điện tử, hoặc thậm chí là phát triển sản phẩm IoT của riêng mình, thì đây là môn học bạn không thể bỏ qua. Em xin gửi lời cảm ơn sâu sắc tới thầy Nguyễn Chí Hiếu đã tận tình định hướng, giúp đỡ em trong quá trình hoàn thành đồ án này. Do kiến thức bản thân còn hạn chế, vừa nghiên cứu, tìm hiểu vừa xây dựng đồ án nên chắc chắn sẽ không tránh khỏi những sai sót nhất định. Hi vọng rằng sẽ nhận được những góp ý thẳng thắn, chân thành từ phía thầy/cô và các bạn để đồ án có thể hoàn thiện hơn.

Trang 1

TRƯỜNG ĐẠI HỌC CỬU LONG

KHOA CÔNG NGHỆ THÔNG TIN – TRUYỀN THÔNG

Vĩnh Long, năm 2024

Trang 2

MỤC LỤC

CHƯƠNG 1 Tổng quan về đề tài 2

1.1 Giới thiệu đề tài 2

1.2 Lý do chọn đề tài 3

1.3 Giới hạn của đề tài 4

CHƯƠNG 2 Cơ sở lý thuyết 5

2.1 Giới thiệu bo mạch Arduino 5

2.2 Các cảm biến và thiết bị điều khiển 5

2.3 Lập trình Arduino: 13

2.4 Lập trình ứng dụng Android (nếu có) 24

CHƯƠNG 3 Khảo sát yêu cầu 25

3.1 Phương pháp thu thập yêu cầu 25

3.2 Các yêu cầu chức năng 25

3.3 Các yêu cầu phi chức năng 26

Trang 3

2LỜI GIỚI THIỆU

Môn Lập trình nhúng không chỉ là một lĩnh vực mới mẻ và hứa hẹn mà còn là một phần quantrọng của cuộc cách mạng công nghệ hiện đại Trong thời đại của Internet of Things (IoT) và tựđộng hóa, việc hiểu và áp dụng kiến thức về lập trình nhúng là vô cùng quan trọng.

Môn Lập trình nhúng không chỉ dành cho những người chuyên ngành công nghệ thông tin màcòn cho mọi người quan tâm đến sự kỹ thuật và sáng tạo Nếu bạn muốn tạo ra các thiết bị thôngminh, điều khiển từ xa các thiết bị điện tử, hoặc thậm chí là phát triển sản phẩm IoT của riêngmình, thì đây là môn học bạn không thể bỏ qua.

Em xin gửi lời cảm ơn sâu sắc tới thầy Nguyễn Chí Hiếu đã tận tình định hướng, giúp đỡ em

trong quá trình hoàn thành đồ án này Do kiến thức bản thân còn hạn chế, vừa nghiên cứu, tìmhiểu vừa xây dựng đồ án nên chắc chắn sẽ không tránh khỏi những sai sót nhất định Hi vọngrằng sẽ nhận được những góp ý thẳng thắn, chân thành từ phía thầy/cô và các bạn để đồ án có thểhoàn thiện hơn.

CHƯƠNG 1 Tổng quan về đề tài

1.1 Giới thiệu đề tài

Cánh tay robot là một trong những lĩnh vực nghiên cứu và ứng dụng trong ngành robot học và tựđộng hóa Cánh tay robot được thiết kế để mô phỏng và thực hiện các phương tiện của cánh taycon người, từ việc cầm và di chuyển các vật phẩm đến thực hiện các thao tác phức tạp như nắmbắt và lắp ráp.

Trong lĩnh vực này, các nghiên cứu tập trung vào việc phát triển các loại cánh tay robot có khảnăng linh hoạt, mạnh mẽ và chính xác Điều này đòi hỏi sự kết hợp của nhiều công nghệ, baogồm cơ học, điện tử, và trí tuệ nhân tạo Cánh tay robot thường được trang bị cảm biến để cảmnhận môi trường xung quanh và điều chỉnh hành vi của nó theo tình huống cụ thể.

Trang 4

Ứng dụng của cánh tay robot rất đa dạng, từ sản xuất công nghiệp đến dịch vụ y tế và cuộc sốnghàng ngày Trong sản xuất, chúng có thể thực hiện các nhiệm vụ lắp ráp và vận chuyển hàng hóamột cách hiệu quả và nhanh chóng Trong lĩnh vực y tế, cánh tay robot có thể hỗ trợ trong phẫuthuật và chăm sóc bệnh nhân.

Ngoài ra, việc nghiên cứu và phát triển cánh tay robot cũng mở ra nhiều tiềm năng trong việcgiải quyết các vấn đề xã hội, như hỗ trợ người khuyết tật trong cuộc sống hàng ngày hoặc trongviệc khám phá và khai thác tài nguyên dưới biển.

Tóm lại, đề tài về cánh tay robot không chỉ là một lĩnh vực nghiên cứu hấp dẫn mà còn là mộtphần quan trọng của cuộc cách mạng tự động hóa và công nghệ."

1.2 Lý do chọn đề tài

Ngày nay, các hệ thống nhúng trở nên phổ biến và đóng vai trò quan trọng trong đời sống conngười Ví dụ quanh ta có rất nhiều sản phẩm nhúng như lò vi sóng, nồi cơm điện, điều hòa, điệnthoại di động, ô tô, v.v… Ta có thể thấy hiện nay hệ thống nhúng có mặt ở một lúc mọi nơi trongcuộc sống chúng ta.

Qua môn học lập trình nhúng, chúng em đã tìm hiểu thêm về các hệ thống nhúng trong thực tế,về đặc điểm, tính ưu việt cũng như tính ứng dụng của chúng đối với con người Với mong muốnlàm rõ các kiến thức đã học và giới thiệu các ứng dụng cơ bản của hệ thống nhúng, em xin đưa ra

mô hình Cánh tay Robot bao gồm 2 chức năng: Hoạt động theo quy trình tự động và điều

khiển qua Bluetooth.

1.3 Giới hạn của đề tài

Giới hạn đề tài cánh tay Robot có thể tạo ra một phạm vi nghiên cứu cụ thể và tập trung Dướiđây là một số ý tưởng để giới hạn đề tài này:

Cấu trúc và thiết kế: Nghiên cứu về cấu trúc vật lý của cánh tay robot, bao gồm số lượng cáckhớp và bậc tự do, vật liệu sử dụng, cơ cấu truyền động, và cách các phần cấu thành của cánh taytương tác với nhau.

Điều khiển và Lập trình: Phát triển phần mềm điều khiển để cánh tay robot thực hiện các nhiệmvụ cụ thể Điều này có thể bao gồm các thuật toán điều khiển, lập trình học máy, hoặc cácphương pháp điều khiển đặc biệt như điều khiển từ xa hoặc tự động hóa.

Trang 5

Cảm biến và Trí tuệ nhân tạo: Nghiên cứu về cách cánh tay robot có thể cảm nhận và tương tácvới môi trường xung quanh thông qua các loại cảm biến như cảm biến lực, cảm biến vị trí, hoặccamera Sử dụng trí tuệ nhân tạo để phân tích dữ liệu từ các cảm biến và làm cho cánh tay robotcó khả năng học hỏi và thích nghi.

Ứng dụng cụ thể: Áp dụng cánh tay robot vào các lĩnh vực cụ thể như sản xuất công nghiệp, y tế,dịch vụ, hoặc nông nghiệp Nghiên cứu về cách tối ưu hóa hiệu suất và tính linh hoạt của cánhtay trong các ứng dụng khác nhau.

Tính an toàn và đạo đức: Nghiên cứu về cách đảm bảo an toàn cho cánh tay robot khi làm việccùng con người, và cách giải quyết các vấn đề đạo đức liên quan đến việc sử dụng cánh tay robottrong các tình huống như thay thế lao động con người.

Trang 6

CHƯƠNG 2 Cơ sở lý thuyết

2.1 Giới thiệu bo mạch Arduino

Arduino là một bo mạch điều khiển nhúng (embedded controller board) rất phổ biếntrong cộng đồng DIY và các dự án điện tử Được phát triển từ năm 2005 bởi một nhóm người ởÝ, Arduino ban đầu được thiết kế như một nền tảng để hỗ trợ các dự án đơn giản và giáo dục,nhưng sau đó đã phát triển thành một công cụ mạnh mẽ cho cả những ứng dụng phức tạp hơn.Arduino bao gồm một bo mạch chính kết hợp với một vi xử lý (microcontroller) và một môitrường phần mềm được viết bằng ngôn ngữ lập trình C/C++, giúp đơn giản hóa việc lập trình vàđiều khiển các thiết bị điện tử Dưới đây là một số điểm nổi bật của bo mạch Arduino:

1 Dễ sử dụng: Arduino được thiết kế với mục tiêu là dễ sử dụng, kể cả đối với nhữngngười mới bắt đầu với lĩnh vực điện tử và lập trình Nó có một cộng đồng lớn, nơi bạncó thể tìm thấy hướng dẫn, mã nguồn mở và sự hỗ trợ từ cộng đồng.

2 Hỗ trợ đa dạng: Arduino có nhiều phiên bản và biến thể, phù hợp với các nhu cầu và dựán khác nhau Từ những phiên bản nhỏ gọn và tiết kiệm năng lượng như Arduino Nano,đến các phiên bản mạnh mẽ và có khả năng mở rộng như Arduino Mega.

3 Mô-đun và shield mở rộng: Arduino có khả năng mở rộng thông qua các mô-đun vàshield (bảng mạch mở rộng) khác nhau, giúp bạn dễ dàng kết nối với các cảm biến,module và thiết bị ngoại vi khác.

4 Giá thành phải chăng: So với các bo mạch điều khiển nhúng khác, Arduino thường cógiá thành rất phải chăng, điều này làm cho nó trở thành lựa chọn phổ biến cho nhiềungười trong cộng đồng DIY và giáo dục.

5 Hỗ trợ phần mềm đa nền tảng: Arduino IDE (Integrated Development Environment) cósẵn cho nhiều hệ điều hành khác nhau như Windows, macOS và Linux, giúp bạn dễdàng lập trình và tương tác với bo mạch Arduino trên nhiều nền tảng khác nhau.

Tóm lại, Arduino là một công cụ mạnh mẽ và linh hoạt, phù hợp cho cả người mới bắt đầu vànhững người có kinh nghiệm trong lĩnh vực điện tử và lập trình nhúng.

2.2 Các cảm biến và thiết bị điều khiển

Thành phần Bộ cánh tay robot 4 bậc nhựa Acrylic điều khiển Bluetooth:

Trang 7

Bộ khung cánh tay Robot arm 4dof: chất liệu nhựa Acrylic (đen):

Thông tin về bộ khung cánh tay Robot:

Số bậc tự do (DOF): Bộ khung này có 4 bậc tự do, có nghĩa là nó có khả năng di chuyển và xoaytrong bốn hướng khác nhau, thường là xoay quanh các trục khớp.

Chất liệu nhựa Acrylic: Acrylic là một loại nhựa trong suốt và nhẹ, thường được sử dụng trongcác ứng dụng cần tính thẩm mỹ cao và trong sản xuất cánh tay robot nhỏ và nhẹ.

Màu sắc đen: Việc sử dụng màu đen có thể là để tạo điểm nhấn thẩm mỹ hoặc để làm cho cánhtay robot trông chuyên nghiệp hơn.

Khả năng tùy chỉnh: Bộ khung cánh tay robot thường có thể được tùy chỉnh và lắp ráp theo nhiềucách khác nhau, tùy thuộc vào yêu cầu cụ thể của dự án hoặc ứng dụng.

Ứng dụng: Bộ khung này thích hợp cho việc phát triển và thử nghiệm các thuật toán điều khiểnvà ứng dụng cụ thể trong lĩnh vực robot học hoặc dạy robot Đối với một số ứng dụng thươngmại nhỏ hoặc giáo dục, nó có thể được sử dụng như là một phần của một hệ thống robot hoànchỉnh.

Trang 8

Động cơ servo SG90.

- Servo là một dạng động cơ điện đặc biệt Không giống như động cơ thông thường cứ cắmđiện vào là quay liên tục, Servo chỉ quay khi được điều khiển bằng xung với góc quaynằm trong khoảng bất kì từ 0o - 180o.

- Động cơ Servo được thiết kế những hệ thống hồi tiếp vòng kín Tín hiệu ra của động cơđược nối với một mạch điều khiển Khi động cơ quay, vận tốc và vị trí sẽ được hồi tiếp vềmạch điều khiển này Nếu có bầt kỳ lý do nào ngăn cản chuyển động quay của động cơ,cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được vị trí mong muốn Mạch điều khiểntiếp tục chỉnh sai lệch cho động cơ đạt được điểm chính xác.

- Thông số kĩ thuật:- Khối lượng: 9g

- Kích thước: 22.2x11.8.32 mm- Momen xoắn: 1.8kg/cm

- Tốc độ hoạt động: 60 độ trong 0.1 giây- Điện áp hoạt động: 4.8V(~5V)

Trang 9

8- Nhiệt độ hoạt động: 0 ºC – 55 ºC

Board Arduino Uno R3 SMD + cáp kết nối:

Bo mạch Arduino Uno R3 SMD là một phiên bản của bo mạch Arduino Uno R3, được thiết kếđể đơn giản hóa việc phát triển các dự án điện tử và robotics Dưới đây là một số thông tin cơbản về nó:

Vi xử lý (Microcontroller): Arduino Uno R3 SMD sử dụng vi xử lý ATmega328P của MicrochipTechnology Đây là một vi xử lý AVR 8-bit có tốc độ xung nhịp 16MHz.

Bộ nhớ (Memory): ATmega328P có 32 KB bộ nhớ Flash (trong đó khoảng 0.5 KB được sử dụngcho bootloader), 2 KB SRAM và 1 KB EEPROM.

Điều khiển và giao tiếp: Arduino Uno R3 SMD đi kèm với một số chân I/O kỹ thuật số và analogđể kết nối với các cảm biến và thiết bị khác Nó cũng bao gồm một cổng USB để nạp chươngtrình và giao tiếp với máy tính.

Điện áp hoạt động: Arduino Uno R3 SMD hoạt động ở điện áp 5V DC, tuy nhiên, nó cũng có thểchạy ở điện áp 3.3V nếu cần.

Nạp chương trình: Bo mạch này có thể được lập trình thông qua cổng USB bằng IDE Arduino,một môi trường lập trình dựa trên ngôn ngữ lập trình Wiring.

Kích thước và dạng dạng thiết kế: Arduino Uno R3 SMD có kích thước nhỏ gọn (khoảng68.6mm x 53.4mm), giúp dễ dàng tích hợp vào các dự án nhỏ gọn.

Trang 10

Phiên bản SMD (Surface Mount Device): Đây là phiên bản của Arduino Uno R3 được lắp rápbằng các linh kiện bề mặt (surface-mount components), phù hợp cho quy trình sản xuất côngnghiệp

Shield mở rộng đa năng:

Một shield mở rộng đa năng là một mô-đun mở rộng cho bo mạch Arduino, thường được thiết kếđể cung cấp các tính năng bổ sung hoặc tương thích với các module, cảm biến, hoặc thiết bị khácđể mở rộng khả năng của Arduino trong các dự án điện tử và robotics Dưới đây là một số thôngtin về shield mở rộng đa năng:

Chức năng đa dạng: Shield này thường đi kèm với nhiều chức năng khác nhau, bao gồm các

cổng kết nối I/O (Input/Output) kỹ thuật số, analog, cổng giao tiếp như UART, SPI, I2C, cũngnhư các cổng điều khiển như servo motor, bộ nhớ SD, và nhiều chức năng khác.

Trang 11

Tương thích với Arduino: Shield mở rộng đa năng thường được thiết kế để hoạt động trực tiếp

với bo mạch Arduino, chủ yếu là với các phiên bản như Arduino Uno, Arduino Mega, hoặcArduino Leonardo Chúng có thể được gắn trực tiếp lên bo mạch Arduino và sử dụng chung thưviện và mã nguồn mở để làm việc.

Dễ dàng sử dụng: Shield thường đi kèm với các đầu nối và mã màu chuẩn, giúp dễ dàng lắp ráp

và sử dụng trong các dự án Một số shield cũng có thể đi kèm với các nút nhấn, LED hoặc cáclinh kiện khác để tạo ra các giao diện người dùng.

Hỗ trợ trong việc phát triển nhanh chóng: Bằng cách sử dụng các shield mở rộng, người dùng

có thể tiết kiệm thời gian và công sức trong việc phát triển và thử nghiệm các dự án, vì chúngcung cấp các chức năng và tính năng sẵn có mà không cần phải thiết kế hoặc lập trình từ đầu.

Ứng dụng đa dạng: Shield mở rộng đa năng có thể được sử dụng trong nhiều ứng dụng khác

nhau như IoT, robotics, tự động hóa, điều khiển, cảm biến và giáo dục Chúng là công cụ hữu íchcho các nhà phát triển, sinh viên và người chơi Arduino trong việc xây dựng các dự án điện tử.

Trang 12

Module thu Bluetooth:

Một module thu Bluetooth thường được sử dụng để thiết lập kết nối không dây với các thiết bịkhác qua Bluetooth, cho phép truyền dữ liệu giữa chúng Dưới đây là một số thông tin cơ bản vềmột module thu Bluetooth thông thường:

Chức năng: Module này có khả năng thu và xử lý tín hiệu Bluetooth từ các thiết bị gửi khác như

điện thoại thông minh, máy tính hoặc các module Bluetooth khác Sau đó, nó có thể chuyển dữliệu thu được đến bo mạch Arduino hoặc các thiết bị điều khiển khác qua các giao tiếp nhưUART (Universal Asynchronous Receiver-Transmitter).

Chuẩn Bluetooth: Module Bluetooth có thể hoạt động theo các chuẩn Bluetooth khác nhau như

Bluetooth Classic hoặc Bluetooth Low Energy (BLE), phụ thuộc vào yêu cầu cụ thể của dự án.

Dải tần số hoạt động: Module thu Bluetooth hoạt động trong dải tần số 2.4 GHz, đây là dải tần

số được sử dụng phổ biến cho các kết nối Bluetooth.

Trang 13

Cổng kết nối: Thường, module này có các chân kết nối chuẩn như VCC, GND, TX, RX để kết

nối với bo mạch Arduino hoặc bảng mạch khác Nó có thể hoạt động với giao thức UART đểtruyền và nhận dữ liệu.

Kích thước và dạng dạng thiết kế: Module Bluetooth có kích thước nhỏ gọn, dễ dàng tích hợp

vào các dự án và có thể được lắp đặt trực tiếp lên mạch Arduino hoặc được kết nối thông qua dâynối.

Ứng dụng: Module thu Bluetooth thường được sử dụng trong các ứng dụng như điều khiển từ

xa, truyền dữ liệu không dây, điều khiển IoT, giao tiếp giữa các thiết bị di động và các thiết bịnhúng, và nhiều ứng dụng khác.

App UniRobot Bluetooth Controller:

HƯỚNG DẪN SỬ DỤNG APP BLUETOOTH

1 Tải app vào điện thoại, Click cài đặt

2 Mở Bluetooth điện thoại, dò tìm thiết bị (HC-06), Click Kết nối (connect), PASS: 1234 (Chú ý: bước này chỉ cần làm 1 lần đầu tiên)

3 Mở App, kết nối Bluetooth (chọn HC-06)4 Sử dụng:

+ Chức năng điều khiển Xe

+ Chức năng line (dò line); Chức năng Ultra (tránh vật cản)+ Điều khiển servo (Nút – và ++ )

Trang 14

2.3 Lập trình Arduino:

#include <SoftwareSerial.h>#include <AccelStepper.h>#include <Servo.h>

Servo servo1;Servo servo2;Servo servo3;Servo servo4;int m = 0;

Servo myservo2; //servo gắn cảm biến siêu âmvoid line();

void avoiding();int readPing();void stopRobot();void goAhead(int,int);void goBack(int,int);

int min1,max1,min2,max2,min3,max3,min4,max4;

int servo1Pos, servo2Pos, servo3Pos, servo4Pos; int servo1PPos, servo2PPos, servo3PPos, servo4PPos; int servo1SP[50], servo2SP[50], servo3SP[50], servo4SP[50];

Trang 15

14int speedDelay = 20;

int index = 0;/

SoftwareSerial Bluetooth(0, 1); // Arduino(RX, TX) - HC-05 Bluetooth (TX, RX)int dataIn;

void goLeft(int,int);void goRight(int,int);void setup() {

Bluetooth.begin(9600); // Default baud rate of the Bluetooth module Bluetooth.setTimeout(5);

delay(20);

Serial.begin(9600);

servo1.attach(3); //pin SG servo1PPos = 80;

min1=40; max1=100;

servo1.write(servo1PPos); servo2.attach(10); //servo S1 servo2PPos = 90;

min2=20; max2=160;

Trang 16

servo2.write(servo2PPos); servo3.attach(4); //servo S2 servo3PPos = 90;

min3=20; max3=160;

servo3.write(servo3PPos); servo4.attach(2); //servo S3 servo4PPos = 90;

min4=0; max4=179;

servo4.write(servo4PPos); }

// Move robot arm

while (dataIn == 16) { // SERVO4 servo1PPos++;

servo1PPos = constrain(servo1PPos, min1, max1); servo1.write(servo1PPos);

delay(speedDelay);

Trang 17

16 if (Bluetooth.available() > 0) { dataIn = Bluetooth.read(); }

}

while (dataIn == 19) {

Trang 18

}

while (dataIn == 21) { servo3PPos++;

servo3PPos = constrain(servo3PPos, min3, max3); servo3.write(servo3PPos);

delay(speedDelay);

if (Bluetooth.available() > 0) {

Ngày đăng: 03/08/2024, 06:43

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w