Mục lục:

Tự động kẹp bằng cảm biến laser và lệnh thoại: 5 bước (có hình ảnh)
Tự động kẹp bằng cảm biến laser và lệnh thoại: 5 bước (có hình ảnh)

Video: Tự động kẹp bằng cảm biến laser và lệnh thoại: 5 bước (có hình ảnh)

Video: Tự động kẹp bằng cảm biến laser và lệnh thoại: 5 bước (có hình ảnh)
Video: CypCut Laser: Thủ thuật cắt chung đường cắt trong phần mềm điều khiển cắt laser 2024, Tháng mười một
Anonim
Image
Image
Danh sách các bộ phận
Danh sách các bộ phận

Nắm bắt các đồ vật mà đối với chúng ta có vẻ đơn giản và tự nhiên nhưng thực tế lại là một nhiệm vụ phức tạp. Con người sử dụng cảm giác của thị giác để xác định khoảng cách từ đối tượng mà anh ta muốn lấy. Bàn tay tự động mở ra khi ở gần vật đang nắm và sau đó sẽ nhanh chóng đóng lại để nắm chặt vật. Tôi đã sử dụng kỹ thuật này một cách đơn giản trong dự án nhỏ này, nhưng thay vì máy ảnh, tôi sử dụng cảm biến laser để ước tính khoảng cách của đối tượng từ bộ kẹp và ra lệnh bằng giọng nói để điều khiển.

Bước 1: Danh sách các bộ phận

Danh sách các bộ phận
Danh sách các bộ phận

Trong dự án nhỏ này, bạn sẽ chỉ cần một số phần được liệt kê dưới đây. Là một bộ điều khiển, tôi đã sử dụng Arduino mega 2560 nhưng bạn cũng có thể sử dụng UNO hoặc bất kỳ Arduino nào khác. Là cảm biến khoảng cách, tôi đã sử dụng cảm biến laser VL53L0X có độ chính xác tốt (khoảng vài milimet) và phạm vi lên đến 2 mét. Trong dự án này, bạn có thể sử dụng để kiểm tra bất kỳ bộ kẹp và servo nào nhưng bạn nên cấp nguồn cho nó từ nguồn điện riêng, ví dụ: nguồn điện 5V hoặc pin LiPo (7,4V hoặc 11,1V) thông qua bộ chuyển đổi bước xuống để giảm điện áp đến 5V.

Các phần cần thiết trong dự án này:

  • Cảm biến ToF Laser VL53L0X x1
  • Servo kỹ thuật số x1
  • Arduino mega 2560 x1
  • Máy kẹp kim loại Robot x1
  • Bảng mạch x1
  • Nút ấn xúc giác x1
  • Bluetooth HC-06
  • Điện trở 10k x1
  • Nguồn điện 5V / 2A

Phiên bản mở rộng:

  1. Mô-đun cảm biến theo dõi dòng điện CJMCU-219 x1
  2. Bảng phát triển trình điều khiển LED RGB WS2812 x1

Bước 2: Kết nối các bộ phận điện tử

Kết nối các bộ phận điện tử
Kết nối các bộ phận điện tử
Kết nối các bộ phận điện tử
Kết nối các bộ phận điện tử
Kết nối các bộ phận điện tử
Kết nối các bộ phận điện tử

Hình đầu tiên cho thấy tất cả các kết nối cần thiết. Trên các bức ảnh sau, bạn có thể thấy các bước kết nối tiếp theo của các mô-đun riêng lẻ. Lúc đầu, nút nhấn được kết nối với chân 2 của Arduino, sau đó là servo đến chân 3 và cuối cùng là cảm biến khoảng cách laser VL53L0X thông qua bus I2C (SDA, SCL).

Các kết nối của các mô-đun điện tử như sau:

Cảm biến Laser VL53L0X -> Arduino Mega 2560

  • SDA - SDA
  • SCL - SCL
  • VCC - 5V
  • GND - GND

Servo -> Arduino Mega 2560

Tín hiệu (dây màu cam) - 3

Servo -> Nguồn cung cấp 5V / 2A

  • GND (dây nâu) - GND
  • VCC (dây đỏ) - 5V

Nút nhấn -> Arduino Mega 2560

  • Chân 1 - 3,3 hoặc 5V
  • Chân 2 - 2 (và thông qua điện trở 10k để nối đất)

Bluetooth (HC-06) -> Arduino Mega 2560

  • TXD - TX1 (19)
  • RXD - RX1 (18)
  • VCC - 5V
  • GND - GND

Bước 3: Mã Arduino Mega

Mã Arduino Mega
Mã Arduino Mega

Tôi đã chuẩn bị các chương trình Arduino mẫu sau có sẵn tại GitHub của mình:

  • VL53L0X_gripper_control
  • Voice_VL53L0X_gripper_control

Chương trình đầu tiên có tên "VL53L0X_gripper_control" hoàn thành nhiệm vụ tự động nắm chặt đối tượng đã được phát hiện bởi cảm biến laser VL53L0X. Trước khi biên dịch và tải lên chương trình mẫu, hãy đảm bảo rằng bạn đã chọn "Arduino Mega 2560" làm nền tảng mục tiêu như hình trên (Arduino IDE -> Tools -> Board -> Arduino Mega hoặc Mega 2560). Chương trình Arduino kiểm tra trong vòng lặp chính - "void loop ()" xem liệu số đọc mới từ cảm biến laser đã đến chưa (hàm readRangeContinuousMillimeters ()). Nếu khoảng cách đọc từ cảm biến "distance_mm" lớn hơn giá trị "THRESHOLD_CLOSING_DISTANCE_FAR" hoặc nhỏ hơn "THRESHOLD_CLOSING_DISTANCE_NEAR" thì servo bắt đầu đóng. Trong các trường hợp khác, nó bắt đầu mở. Trong phần tiếp theo của chương trình, trong chức năng "digitalRead (gripperOpenButtonPin)", trạng thái của nút nhấn được điều khiển liên tục và nếu nó được nhấn, bộ kẹp sẽ mở ra mặc dù nó được đóng lại do vật thể ở gần. (khoảng cách_mm nhỏ hơn THRESHOLD_CLOSING_DISTANCE_NEAR).

Chương trình thứ hai "Voice_VL53L0X_gripper_control" cho phép bạn điều khiển bộ kẹp bằng cách sử dụng lệnh thoại. Các lệnh thoại được xử lý bởi ứng dụng Điều khiển bằng giọng nói BT cho Arduino từ Google Play và được gửi thêm qua bluetooth tới Arduino. Chương trình Arduino kiểm tra trong vòng lặp chính - "void loop ()" xem lệnh mới (ký tự) đã được gửi từ ứng dụng Android qua bluetooth hay chưa. Nếu có bất kỳ ký tự nào đến từ nối tiếp bluetooth, chương trình sẽ đọc dữ liệu nối tiếp cho đến khi gặp phần cuối của lệnh thoại "#". Sau đó, nó bắt đầu thực hiện hàm "void processInput ()" và tùy thuộc vào lệnh thoại mà một hàm điều khiển cụ thể được gọi.

Bước 4: Thử nghiệm kẹp tự động

Thử nghiệm kẹp tự động
Thử nghiệm kẹp tự động
Thử nghiệm kẹp tự động
Thử nghiệm kẹp tự động

Video từ "Bước 1" cho thấy các thử nghiệm của bộ gắp robot dựa trên chương trình từ phần trước "Arduino Mega Code". Video này cho thấy cách nó tự động mở ra khi đối tượng ở gần nó và sau đó nắm lấy đối tượng này nếu nó nằm trong tầm với của bộ kẹp. Phản hồi từ cảm biến khoảng cách laser được sử dụng ở đây có thể nhìn thấy rõ ràng trong phần tiếp theo của video khi tôi di chuyển chai về phía trước và phía sau, điều gây ra phản ứng nhanh và thay đổi điều khiển tay cầm.

Bước 5: Nắm bắt tự động được kích hoạt bằng giọng nói

Image
Image
Thử thách Epilog 9
Thử thách Epilog 9

Trong bước tiếp theo trong quá trình phát triển dự án này, tôi đã thêm điều khiển bằng giọng nói vào nó. Nhờ khẩu lệnh, tôi có thể điều khiển việc đóng, mở và tốc độ của bộ kẹp. Điều khiển bằng giọng nói trong trường hợp này rất hữu ích khi mở kẹp giữ đồ vật. Nó thay thế nút và cho phép dễ dàng điều khiển bộ kẹp được đặt trên robot di động.

Nếu bạn thích dự án này, đừng quên bỏ phiếu và viết trong bình luận những gì bạn muốn xem trong bài đăng tiếp theo như một cải tiến hơn nữa của dự án này:) Kiểm tra các dự án khác của tôi liên quan đến người máy, chỉ cần truy cập:

  • youtube
  • trang web của tôi

Đề xuất: