Sử dụng Cảm biến khoảng cách VEX IQ (thế hệ 1)

Sự miêu tả

Cảm biến này báo cáo khoảng cách giữa nó và vật thể rắn gần nhất (phạm vi 50mm - 1m). Nó tính toán khoảng cách bằng cách sử dụng thời gian để sóng siêu âm bật ra khỏi vật thể và quay trở lại cảm biến.

Cảm biến khoảng cách VEX IQ (thế hệ thứ 1).


Cách thức hoạt động của cảm biến khoảng cách: Lắng nghe khoảng cách

Sơ đồ cảm biến khoảng cách phát sóng siêu âm tới khối lập phương xanh lá cây rồi thu lại âm thanh phản xạ.

Cảm biến khoảng cách sử dụng các nguyên tắc tương tự như thiết bị sonar để đo âm thanh. Nó phát ra một xung siêu âm nhỏ với bộ phát ở một bên của cảm biến và sau đó tính xem mất bao lâu để nghe âm thanh phản xạ lại bộ thu ở phía bên kia của cảm biến. Cảm biến tính toán khoảng cách dựa trên khoảng thời gian xung âm thanh thực hiện chuyến đi khứ hồi. Sau đó, Cảm biến khoảng cách sẽ thực hiện phép tính dựa trên tốc độ âm thanh để cho bộ não robot biết vật thể gần nhất cách bao xa. 

Nếu bề mặt không phẳng như một bức tường cong hay một quả bóng thì sóng siêu âm sẽ không phản xạ từ tất cả các bộ phận bằng nhau hoặc cùng một lúc. Bề mặt gần nhất đủ lớn để phản xạ lại một lượng sóng có thể phát hiện được sẽ xác định khoảng cách được phát hiện của vật thể.


Sử dụng phổ biến của cảm biến khoảng cách:

Khối tìm thấy đối tượng VEXcode IQ có nội dung Khoảng cách tìm thấy đối tượng?

Hai sơ đồ. Phía trên, Cảm biến khoảng cách đang hướng về một Khối lập phương màu xanh lá cây gần đó và được dán nhãn bằng dấu kiểm. Bên dưới, Cảm biến khoảng cách không hướng đến bất kỳ vật gì ở gần và được dán nhãn bằng ký hiệu X.

Cảm biến này có thể phát hiện nếu có vật thể ở phía trước nó.

VEXcode IQ Khoảng cách từ khối có giá trị là Khoảng cách tính bằng mm.

Cảm biến này có thể đo khoảng cách giữa nó và một vật thể.

  • Robot có thể sử dụng cảm biến này để lái xe ra xa vật thể một khoảng cách nhất định. Xem hình ảnh động bên dưới để thấy giá trị khoảng cách thay đổi khi robot di chuyển cho đến khi khoảng cách xuống dưới 160mm.

  • Robot có thể sử dụng cảm biến này để di chuyển tới một vật thể mà không cần chạm vào nó. Xem hình ảnh động này để thấy hai robot sử dụng Cảm biến khoảng cách để phối hợp điều khiển.

  • Các giá trị do cảm biến này cung cấp có thể được sử dụng để điều chỉnh vận tốc của robot tùy thuộc vào việc nó ở gần hay xa một vật thể hoặc bề mặt. Xem hình ảnh động này để thấy robot điều chỉnh dựa trên khoảng cách đến tường.


Công dụng của cảm biến khoảng cách trên Robot cạnh tranh

  • Robot có thể sử dụng Cảm biến khoảng cách để bắt đầu một chuỗi hành vi khi nó ở đúng vị trí để thực hiện. Ví dụ, robot có thể lái về phía trước cho đến khi phát hiện cách tường 150mm, sau đó quay 90 độ và thả một vật thể vào vùng ghi điểm.  
  • Cảm biến khoảng cách có thể được sử dụng để kích hoạt các hành động của robot, chẳng hạn như nhặt một mảnh trò chơi, khi phát hiện thấy một vật thể trong phạm vi.
  • Robot có thể sử dụng Cảm biến khoảng cách để di chuyển về phía một vật thể hoặc bề mặt cho đến khi nó ở trong một khoảng cách cụ thể mà không cần chạm vào nó. Điều này có thể được sử dụng để đảm bảo rằng robot không làm đổ các mảnh trò chơi.
  • Robot có thể sử dụng Cảm biến khoảng cách để lái xe ra khỏi vật thể hoặc bề mặt cho đến khi đạt đến một khoảng cách cụ thể. Điều này có thể được sử dụng để tránh va chạm với các robot khác trên hiện trường.

Sử dụng cảm biến khoảng cách trong VEXcode IQ

Thêm cảm biến khoảng cách làm thiết bị trong VEXcode IQ

Menu Thiết bị IQ VEXcode sau khi nút Thêm thiết bị được chọn. Tùy chọn Khoảng cách (thế hệ thứ 1) được tô sáng.

Để mã hóa Cảm biến khoảng cách trong VEXcode IQ, trước tiên bạn phải định cấu hình Cảm biến khoảng cách. Xem bài viết này để tìm hiểu thêm về cách định cấu hình cảm biến trong VEXcode IQ.

Khi cảm biến được định cấu hình, các lệnh sẽ xuất hiện trong Hộp công cụ mà bạn có thể sử dụng trong dự án của mình.

Mã hóa cảm biến khoảng cách theo khối

Khối đối tượng VEXcode IQ được tìm thấy có nội dung Distance7 đã tìm thấy đối tượng chưa?

Khối <Object found> là khối báo cáo Boolean báo cáo một điều kiện là đúng hoặc sai. Các khối Boolean, như khối <Object found> , nằm gọn bên trong các khối có đầu vào hình lục giác (sáu mặt) cho các khối khác.

Khối Boolean <Object found> báo cáo 'đúng' nếu cảm biến phát hiện được vật thể và 'sai' nếu cảm biến không phát hiện được. Để tìm hiểu thêm về các khối Boolean, hãy truy cập bài viết Trợ giúp hoặc Hình dạng khối và Ý nghĩa.

 

VEXcode IQ là khối dự án sử dụng Cảm biến khoảng cách để di chuyển về phía trước cho đến khi tìm thấy vật thể. Dự án có nội dung Khi bắt đầu, lái về phía trước, đợi cho đến khi Distance7 tìm thấy một vật thể, sau đó dừng lái.

Trong ví dụ này, khối <Object found> được sử dụng với khối [Đợi cho đến khi] để khiến rô-bốt di chuyển về phía trước cho đến khi Cảm biến khoảng cách phát hiện được vật thể. Khi cảm biến phát hiện vật thể, robot sẽ dừng lái xe, như thể hiện trong hình trên. 

VEXcode IQ Khoảng cách từ khối có giá trị Distance7 tính bằng mm.

Khối (Khoảng cách từ) báo cáo khoảng cách của vật thể gần nhất với Cảm biến khoảng cách. Nó báo cáo phạm vi từ24mm đến 1000mm hoặc 1 inch đến 40 inch. Khối (Khoảng cách từ) là khối thông báo được sử dụng bên trong các khối có không gian hình tròn.

 

VEXcode IQ chặn dự án sử dụng Cảm biến khoảng cách để di chuyển về phía trước cho đến khi khoảng cách nhỏ hơn 50mm. Dự án có nội dung Khi bắt đầu, lái về phía trước, in Khoảng cách 7 tính bằng mm trên Brain, đợi cho đến khi Khoảng cách 7 tính bằng mm nhỏ hơn 50, sau đó dừng lái.

Trong ví dụ này, khối (Khoảng cách từ) được sử dụng cùng với khối [In] để hiển thị trên màn hình Brain khoảng cách giữa Cảm biến khoảng cách và một vật thể. Khối (Khoảng cách từ) cũng được hiển thị bên trong khối <Less than> nằm bên trong khối {Wait until}. Điều này sẽ khiến robot lái xe cho đến khi Cảm biến khoảng cách phát hiện một vật thể ở cách xa chưa đến 50 mm và sau đó dừng lái xe. Điều này được thể hiện trong video đầu tiên ở trên.

Mã hóa cảm biến khoảng cách bằng Python

Lưu ý:Để mã hóa Cảm biến khoảng cách VEX IQ (thế hệ 1) bằng Python, nó phải được kết nối với Bộ não VEX IQ (thế hệ 2). Brain VEX IQ (thế hệ 1) không hỗ trợ Python.

distance_7.is_object_detected()

Lệnh distance.is_object_ detected báo cáo 'true' nếu một đối tượng được phát hiện và 'false' nếu một đối tượng không được phát hiện.

Lưu ý:Tên của Cảm biến khoảng cách xuất hiện trong lệnh tương ứng với tên được đặt trong cấu hình. 

drivetrain.drive(FORWARD)
trong khi không distance_7.is_object_detected()
wait(20, MSEC)
drivetrain.stop()
Trong ví dụ này, vòng lặpWhile với điều kiện không phải được sử dụng với lệnh distance.is_object_ detected để khiến robot di chuyển về phía trước cho đến khi Cảm biến khoảng cách phát hiện được một vật thể. Khi cảm biến phát hiện vật thể, robot sẽ dừng di chuyển, như được hiển thị trong mã Python ở trên.
khoảng cách_7.khoảng cách(MM)

Lệnh distance.distance báo cáo khoảng cách của vật thể gần nhất với Cảm biến khoảng cách. Nó báo cáo phạm vi từ24mm đến 1000mm, hoặc 1 inch đến 40 inch.

drivetrain.drive(FORWARD)
brain.screen.print(distance_7.distance(MM)
while not distance_7.distance(MM) < 50:
wait(20, MSEC)
drivetrain.stop()

Trong ví dụ này, vòng lặp While với điều kiện không phải được sử dụng với lệnh distance.is_object_ detected để khiến robot di chuyển về phía trước cho đến khi Cảm biến khoảng cách phát hiện được một vật thể. Khi cảm biến phát hiện vật thể, robot sẽ dừng lái.

Trong ví dụ này, lệnh distance.distance được sử dụng cùng với lệnh brain.screen.print để hiển thị trên màn hình Brain khoảng cách giữa Cảm biến khoảng cách và một vật thể. Lệnh distance.distance cũng được hiển thị bên trong vòng lặp While với điều kiện chứ không phải . Điều này sẽ khiến robot lái xe cho đến khi cảm biến Khoảng cách phát hiện một vật thể ở cách xa chưa đến 50 mm và sau đó dừng lái xe. Điều này được thể hiện trong video đầu tiên ở trên.

Để tìm hiểu thêm về cách viết mã Cảm biến khoảng cách bằng Python, hãy xem Bài 5 của khóa học Khoa học máy tính cấp 1 - Python. 

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: