Cách chế tạo robot tại nhà (kèm hình ảnh)

Mục lục:

Cách chế tạo robot tại nhà (kèm hình ảnh)
Cách chế tạo robot tại nhà (kèm hình ảnh)

Video: Cách chế tạo robot tại nhà (kèm hình ảnh)

Video: Cách chế tạo robot tại nhà (kèm hình ảnh)
Video: CÁCH SỬ DỤNG VÀ NHỮNG ĐIỀU BẠN CẦN BIẾT VỀ TẤM BẢN ĐỒ TRONG MINECRAFT 2024, Có thể
Anonim

Bạn có muốn học cách chế tạo robot của riêng mình không? Có nhiều loại rô bốt khác nhau mà bạn có thể tự chế tạo. Hầu hết mọi người đều muốn thấy một con robot thực hiện công việc dễ dàng di chuyển từ điểm A đến điểm B. Bạn có thể chế tạo một con robot hoàn toàn từ các thành phần tương tự hoặc mua một bộ khởi động. Tự chế tạo rô bốt là một cách tuyệt vời để học lập trình điện tử và máy tính.

Bươc chân

Phần 1/5: Lắp ráp Robot

1123333 1
1123333 1

Bước 1. Lắp ráp các thành phần của bạn

Để xây dựng một robot cơ bản, bạn sẽ cần một vài thành phần đơn giản. Bạn có thể tìm thấy hầu hết hoặc tất cả các thành phần này tại cửa hàng sở thích đồ điện tử tại địa phương hoặc tại một số nhà bán lẻ trực tuyến. Một số bộ dụng cụ bao gồm tất cả các thành phần này. Robot này không yêu cầu bất kỳ mối hàn nào:

  • Arduino Uno (hoặc vi điều khiển khác)
  • 2 servo 360 độ
  • 2 bánh xe phù hợp với servo
  • 1 bánh xe miễn phí
  • 1 bảng kiểm tra (bảng mạch bánh mì hoặc bảng dự án) chưa được hàn (tìm bảng kiểm tra có hai hàng dương và âm ở mỗi bên)
  • 1 cảm biến khoảng cách (với cáp đầu nối bốn chân)
  • 1 nút nhấn công tắc
  • 1 điện trở 10kΩ
  • 1 cáp USB A đến B
  • 1 bộ tiêu đề có thể bẻ gãy
  • 1 hộp đựng pin 6 x AA với ổ cắm điện 9V DC.
  • 1 gói 22. cáp jumper hoặc cáp đơn
  • Cách nhiệt qua lại (băng kép) hoặc súng bắn keo
1123333 2
1123333 2

Bước 2. Xoay ngăn chứa pin sao cho mặt sau phẳng của nó hướng lên trên

Bạn sẽ chế tạo cơ thể robot bằng cách sử dụng ngăn chứa pin làm cơ sở.

1123333 3
1123333 3

Bước 3. Sắp xếp hai servo đối mặt với cùng một hướng ở cuối khoang chứa pin

Đầu này là cuối mà cáp ra khỏi pin. Servo phải chạm vào đáy và cơ chế xoay của mỗi servo phải hướng ra ngoài từ các cạnh của ngăn chứa pin. Điều quan trọng là các servo này phải được bố trí chính xác để các bánh xe thẳng hàng. Cáp cho servo phải đi ra khỏi mặt sau của ngăn chứa pin.

1123333 4
1123333 4

Bước 4. Dán các servo bằng keo cách nhiệt hoặc keo của bạn

Đảm bảo rằng servo được gắn chặt vào ngăn chứa pin. Mặt sau của servo phải thẳng hàng với mặt sau của ngăn chứa pin.

Bây giờ, các Servos sẽ chiếm một nửa không gian ở phía sau khoang chứa pin

1123333 5
1123333 5

Bước 5. Dán bảng kiểm tra vuông góc với không gian còn lại trong ngăn chứa pin

Bảng kiểm tra này sẽ hơi treo qua mặt trước của ngăn chứa pin và sẽ mở rộng ra cả hai bên. Đảm bảo rằng bảng kiểm tra được chặt chẽ trước khi tiếp tục. Hàng “A” phải gần với servo nhất.

1123333 6
1123333 6

Bước 6. Gắn vi điều khiển Arduino vào đầu servo

Nếu bạn gắn servo đúng cách, phải có một phần phẳng của hai servo chạm vào nhau. Dán bảng Arduino vào vị trí phẳng này sao cho các đầu nối nguồn USB và Arduino hướng xuống dưới (cách xa bảng kiểm tra). Mặt trước của Arduino sẽ chồng lên bảng kiểm tra.

1123333 7
1123333 7

Bước 7. Cài đặt các bánh xe trên Servos

Nhấn chặt các bánh xe vào cơ cấu servo quay. Điều này có thể đòi hỏi một lực đáng kể vì các bánh xe được thiết kế để có các lỗ khớp chính xác với hình dạng của đầu servo.

1123333 8
1123333 8

Bước 8. Lắp bánh xe tự do vào dưới cùng của bảng kiểm tra

Nếu bạn lật ngược robot, bạn sẽ thấy một bảng kiểm tra nhỏ treo trên ngăn chứa pin. Gắn bánh xe miễn phí vào phần treo này. Sử dụng một cái nêm nếu cần. Bánh xe tự do đóng vai trò là bánh trước cho phép robot quay theo bất kỳ hướng nào một cách dễ dàng.

Nếu bạn đã mua một bộ phụ kiện, bánh xe miễn phí có thể có một số nêm mà bạn có thể sử dụng để đảm bảo rằng bánh xe không chạm đất

Phần 2/5: Nối dây cho Robot

1123333 9
1123333 9

Bước 1. Cắt hai đầu ghim 3 đầu

Bạn sẽ sử dụng điều này để kết nối servo với bảng kiểm tra. Đẩy các ghim xuống qua các tiêu đề để chúng tạo ra khoảng cách bằng nhau ở cả hai bên.

1123333 10
1123333 10

Bước 2. Cắm hai tiêu đề vào chân 1-3 và 6-8 ở hàng E trên bảng kiểm tra

Đảm bảo rằng chúng được lắp chắc chắn hoặc chắc chắn.

1123333 11
1123333 11

Bước 3. Kết nối dây servo với đầu cắm, với dây màu đen ở phía bên trái (chân 1 và 6)

Thao tác này sẽ kết nối servo với bảng kiểm tra. Đảm bảo rằng servo bên trái được kết nối với tiêu đề bên trái và servo bên phải được kết nối với tiêu đề bên phải.

1123333 12
1123333 12

Bước 4. Kết nối dây jumper màu đỏ từ chân C2 và C7 vào chân đường sắt màu đỏ (dương)

Đảm bảo rằng bạn sử dụng thanh ray màu đỏ ở mặt sau của bảng kiểm tra (gần với phần còn lại của cơ thể rô bốt).

1123333 13
1123333 13

Bước 5. Nối dây jumper màu đen từ chân B1 và B6 vào chân ray màu xanh (mặt đất)

Hãy chắc chắn rằng bạn sử dụng thanh ray màu xanh ở mặt sau của bảng kiểm tra. Không gắn cáp vào chốt đường sắt màu đỏ.

1123333 14
1123333 14

Bước 6. Kết nối các dây jumper màu trắng từ chân 12 và 13 trên Arduino với A3 và A8

Điều này sẽ cho phép Arduino điều khiển servo và quay bánh xe.

1123333 15
1123333 15

Bước 7. Gắn cảm biến vào mặt trước của bảng kiểm tra

Cảm biến không được gắn vào thanh nguồn bên ngoài trên bảng thử nghiệm mà được gắn vào hai hàng chân đầu tiên có chữ (J). Hãy chắc chắn rằng bạn đặt nó ngay chính giữa với số lượng ghim trống ở mỗi bên bằng nhau.

1123333 16
1123333 16

Bước 8. Kết nối dây nhảy màu đen từ chân I14 đến chân đường sắt màu xanh đầu tiên ở bên trái của cảm biến

Điều này sẽ nối đất cảm biến.

1123333 17
1123333 17

Bước 9. Kết nối dây jumper màu đỏ từ chân I17 đến chân đường sắt màu đỏ đầu tiên ở bên phải của cảm biến

Điều này sẽ cung cấp năng lượng cho cảm biến.

1123333 18
1123333 18

Bước 10. Kết nối các dây jumper màu trắng từ chân I15 đến chân 9 trên Arduino và từ I16 đến chân 8

Điều này sẽ cung cấp thông tin từ cảm biến đến vi điều khiển.

Phần 3/5: Lắp đặt cáp nguồn

1123333 19
1123333 19

Bước 1. Lật ngược robot để bạn có thể nhìn thấy ngăn chứa pin bên trong

Sắp xếp ngăn chứa pin sao cho cáp thoát ra phía dưới bên trái.

1123333 20
1123333 20

Bước 2. Nối dây màu đỏ với lò xo thứ hai từ bên trái ở phía dưới

Đảm bảo rằng ngăn chứa pin được căn chỉnh đúng hoặc quay về hướng chính xác.

1123333 21
1123333 21

Bước 3. Nối dây đen với lò xo cuối cùng ở phía dưới bên phải

Hai dây này sẽ giúp cung cấp điện áp phù hợp cho Arduino.

1123333 22
1123333 22

Bước 4. Nối dây màu đỏ và đen vào các chân màu xanh và đỏ ở phía bên phải ở mặt sau của bảng kiểm tra

Dây màu đen sẽ đi vào chốt của thanh ray màu xanh trên chốt 30. Dây màu đỏ sẽ đi đến chốt của thanh ray màu đỏ trên chân số 30.

1123333 23
1123333 23

Bước 5. Kết nối dây màu đen từ chân GND trên Arduino vào mặt sau của thanh ray màu xanh lam

Nối dây vào chân 28 trên thanh ray màu xanh lam.

1123333 24
1123333 24

Bước 6. Nối dây màu đen từ mặt sau của thanh ray màu xanh đến mặt trước của thanh ray màu xanh lam trên chốt 29 cho cả hai thanh ray

Không kết nối thanh ray màu đỏ vì bạn có thể làm hỏng Arduino.

1123333 25
1123333 25

Bước 7. Kết nối dây màu đỏ từ mặt trước của thanh ray màu đỏ trên chân 30 với chân 5V trên Arduino

Điều này sẽ cung cấp năng lượng cho Arduino.

1123333 26
1123333 26

Bước 8. Chèn công tắc nút bấm vào khoảng trống giữa các chân 24-26

Công tắc này sẽ cho phép bạn tắt robot mà không cần phải tắt nguồn.

1123333 27
1123333 27

Bước 9. Kết nối dây màu đỏ từ H24 với đường sắt màu đỏ trên chân trống tiếp theo ở bên phải của cảm biến

Điều này sẽ cung cấp năng lượng cho nút.

1123333 28
1123333 28

Bước 10. Sử dụng một điện trở để kết nối H26 với thanh ray màu xanh

Kết nối nó với chốt trực tiếp bên cạnh dây đen mà bạn vừa kết nối ở các bước trước.

1123333 29
1123333 29

Bước 11. Kết nối dây màu trắng từ G26 đến chân 2 trên Arduino

Điều này sẽ cho phép Arduino phát hiện các nút nhấn.

Phần 4/5: Cài đặt phần mềm Arduino

1123333 30
1123333 30

Bước 1. Tải xuống và giải nén Arduino IDE

Đây là nơi Arduino được phát triển và cho phép bạn lập trình các hướng dẫn mà sau đó bạn có thể tải lên vi điều khiển Arduino của mình. Bạn có thể tải xuống miễn phí từ arduino.cc/en/main/software. Giải nén tệp đã tải xuống bằng cách nhấp đúp vào tệp và di chuyển thư mục chứa tệp đến vị trí dễ truy cập. Bạn sẽ không thực sự cài đặt chương trình, thay vào đó bạn sẽ chỉ chạy nó từ một thư mục đã được giải nén bằng cách nhấp đúp vào arduino.exe.

1123333 31
1123333 31

Bước 2. Kết nối ngăn chứa pin với Arduino

Cắm ổ cắm phía sau của pin vào đầu nối trên Arduino để cấp nguồn.

1123333 32
1123333 32

Bước 3. Chèn Arduino vào máy tính của bạn qua USB

Rất có thể, Windows sẽ không nhận ra thiết bị.

1123333 33
1123333 33

Bước 4. Nhấn

Thắng + R và gõ devmgmt.msc.

Lệnh này sẽ mở Trình quản lý thiết bị.

1123333 34
1123333 34

Bước 5. Nhấp chuột phải vào Thiết bị không xác định trong Thiết bị khác và chọn Cập nhật phần mềm trình điều khiển

Nếu bạn không thấy tùy chọn này, hãy bấm Thuộc tính, chọn tab Trình điều khiển, rồi bấm Cập nhật Trình điều khiển.

1123333 35
1123333 35

Bước 6. Chọn Duyệt máy tính của tôi để tìm phần mềm trình điều khiển

Điều này sẽ cho phép bạn chọn các trình điều khiển tích hợp đi kèm với Arduino IDE.

1123333 36
1123333 36

Bước 7. Nhấp vào Duyệt qua, sau đó mở thư mục bạn đã giải nén trước đó

Bạn sẽ tìm thấy thư mục trình điều khiển trong đó.

1123333 37
1123333 37

Bước 8. Chọn thư mục trình điều khiển và nhấp vào OK

Xác nhận rằng bạn muốn tiếp tục nếu bạn được cảnh báo về phần mềm không xác định.

Phần 5/5: Lập trình Robot

1123333 38
1123333 38

Bước 1. Mở Arduino IDE bằng cách nhấp đúp vào tệp arduino.exe trong thư mục IDE

Bạn sẽ được chào đón với một dự án trống.

1123333 39
1123333 39

Bước 2. Dán hoặc dán mã sau để nâng cao rô bốt của bạn

Đoạn mã dưới đây sẽ giúp Arduino của bạn tiếp tục hoạt động.

#include // điều này thêm thư viện “Servo” vào chương trình // lệnh sau tạo hai đối tượng servo Servo leftMotor; Servo rightMotor; void setup () {leftMotor.attach (12); // nếu bạn vô tình hoán đổi các số pin cho servo của mình, bạn có thể hoán đổi các số tại đây rightMotor.attach (13); } void loop () {leftMotor.write (180); // với xoay 360 độ (quay liên tục), số 180 hướng dẫn servo di chuyển "về phía trước" ở tốc độ tối đa. rightMotor.write (0); // nếu cả hai giá trị đều là 180, rô bốt sẽ quay theo hình tròn vì servo bị đảo ngược. “0” yêu cầu robot di chuyển “lùi lại” với tốc độ tối đa. }

1123333 40
1123333 40

Bước 3. Tạo và tải lên chương trình

Nhấp vào nút mũi tên bên phải ở góc trên cùng bên trái để tạo và tải chương trình lên Arduino được kết nối.

Bạn có thể muốn nhấc rô-bốt lên khỏi bề mặt vì rô-bốt sẽ tiếp tục đi về phía trước sau khi chương trình được tải lên

1123333 41
1123333 41

Bước 4. Thêm chức năng công tắc dừng (kill switch)

Thêm mã sau vào phần "void loop ()" trong mã của bạn để thêm chức năng chuyển đổi dừng ở trên cùng của hàm "write ()".

if (digitalRead (2) == HIGH) // lệnh này chạy khi nút được nhấn trên chân 2 Arduino {while (1) {leftMotor.write (90); // "90" là vị trí trung lập của servo, vị trí này thông báo cho servo dừng quay phảiMotor.write (90); }}

1123333 42
1123333 42

Bước 5. Tải lên và kiểm tra mã của bạn

Với mã công tắc dừng đã được thêm, bạn có thể tải mã lên và kiểm tra rô bốt. Robot sẽ tiếp tục chuyển tiếp cho đến khi bạn nhấn nút công tắc dừng, điều này sẽ khiến robot dừng lại. Mã đầy đủ sẽ trông như thế này:

#include // lệnh sau tạo hai đối tượng servo Servo leftMotor; Servo rightMotor; void setup () {leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) {while (1) {leftMotor.write (90); rightMotor.write (90); }} leftMotor.write (180); rightMotor.write (0); }

Thí dụ

Đoạn mã sau sẽ sử dụng các cảm biến được cài đặt trên robot để làm cho nó rẽ trái bất cứ khi nào robot gặp chướng ngại vật. Xem các bình luận trong mã để biết chi tiết về cách sử dụng từng phần. Đoạn mã dưới đây là toàn bộ chương trình.

#include Servo leftMotor; Servo rightMotor; const int serialPeriod = 250; // đoạn mã này đưa ra độ trễ thời gian đầu ra của bảng điều khiển là mỗi 1/4 giây (250 ms) unsigned long timeSerialDelay = 0; const int loopPeriod = 20; // mã này đặt tần số đọc cảm biến là 20 ms, là 50 Hz không dấu lâu dàiLoopDelay = 0; // mã này gán các chức năng TRIG và ECHO cho các chân trên Arduino. Điều chỉnh các số ở đây nếu bạn kết nối chúng theo một cách khác const int ultrasonic2TrigPin = 8; const int ultrasonic2EchoPin = 9; int ultrasonic2Distance; int ultrasonic2Duration; // mã này xác định hai trạng thái rô bốt có thể có: tiếp tục tiến hoặc rẽ trái #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = tiếp tục về phía trước (DEFAULT), 1 = rẽ trái void setup () {Serial.begin (9600); // cảm biến này xác định cấu hình chân pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultrasonic2EchoPin, INPUT); // điều này chỉ định động cơ cho các chân Arduino leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) // đoạn mã này phát hiện '' stop '' {while (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // mã này in thông báo gỡ lỗi tới bảng điều khiển nối tiếp if (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // đoạn mã này hướng dẫn cảm biến đọc và lưu trữ dữ liệu về khoảng cách đã đo trạng tháiMachine (); timeLoopDelay = millis (); }} void stateMachine () {if (state == DRIVE_FORWARD) // nếu không có vật cản nào được phát hiện {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // nếu không có gì ở phía trước robot. ultrasonicDistance sẽ là âm đối với một số sóng siêu âm nếu không có vật cản {// lái xe về phía trước rightMotor.write (180); leftMotor.write (0); } else // nếu có một đối tượng ở phía trước chúng ta {state = TURN_LEFT; }} else if (state == TURN_LEFT) // nếu phát hiện chướng ngại vật thì rẽ trái {unsigned long timeToTurnLeft = 500; // mất khoảng 0,5 giây để quay 90 độ. Bạn có thể cần điều chỉnh giá trị này nếu bánh xe của bạn có kích thước khác với kích thước trong ví dụ unsigned long turnStartTime = millis (); // giữ nguyên điều kiện khi rô bốt bắt đầu quay trong khi ((millis () - turnStartTime) <timeToTurnLeft) // giữ chu kỳ này cho đến khi hết timeToTurnLeft (500) {// rẽ trái, hãy nhớ rằng khi cả hai đều là "180", robot sẽ quay. rightMotor.write (180); leftMotor.write (180); } trạng thái = DRIVE_FORWARD; }} void readUltrasonicSensors () {// lệnh này dành cho sóng siêu âm 2. Bạn có thể cần thay đổi lệnh này nếu bạn đang sử dụng một cảm biến khác. digitalWrite (ultrasonic2TrigPin, HIGH); delayMicroseconds (10); // kéo chân TRIG lên cao ít nhất 10 micro giây digitalWrite (ultrasonic2TrigPin, LOW); ultrasonic2Duration = xungIn (ultrasonic2EchoPin, CAO); ultrasonic2Distance = (ultrasonic2Duration / 2) / 29; } // phần sau là để gỡ lỗi trong bảng điều khiển. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Serial.print (ultrasonic2Distance); Serial.print ("cm"); Serial.println (); timeSerialDelay = millis (); }}

Đề xuất: