Mã hóa bằng động cơ thông minh VEX IQ

Động cơ thông minh VEX IQ có nhiều chức năng để sử dụng khi mã hóa trong VEXcode IQ. Điều này có thể hữu ích khi mã hóa cánh tay, càng và cửa hút cũng như hệ thống truyền động và các cơ chế khác được tạo bằng VEX IQ. Hiểu cách mã hóa động cơ sẽ giúp giảm bớt các vấn đề như dự án bị đình trệ hoặc động cơ không hoạt động như dự kiến.

Bộ mã hóa động cơ

Động cơ thông minh VEX IQ không chỉ biến năng lượng điện thành năng lượng cơ học như hầu hết các động cơ, mà còn có những tính năng mà hầu hết các động cơ không có, khiến nó trở nên “thông minh”. Một trong những tính năng chính của nó là bộ mã hóa cầu phương. Bộ mã hóa này được gắn bên trong động cơ để theo dõi tốc độ và/hoặc vị trí của trục động cơ.

Báo cáo từ bộ mã hóa của VEX IQ Smart Motor cho phép biết:

  • Hướng quay của động cơ (tiến/ngược hoặc mở/đóng)
  • Vị trí của động cơ và số vòng quay cũng như vị trí của động cơ (theo vòng hoặc độ)
  • Tốc độ quay của động cơ (dựa trên vị trí của bộ mã hóa theo thời gian)

Vì bộ mã hóa báo cáo trạng thái của động cơ nên chúng có thể được sử dụng trong các phép tính hậu trường để làm cho nhiều lệnh Chuyển động và Cảm biến hoạt động trong VEXcode IQ.

Mã hóa từng động cơ riêng lẻ

Trước khi bắt đầu mã hóa các động cơ thông minh riêng lẻ trong VEXcode IQ, bạn cần định cấu hình động cơ. Các động cơ riêng lẻ thường được sử dụng cho các cơ chế bổ sung như cửa hút, cánh tay và càng. Tuy nhiên, tất cả thông tin vẫn áp dụng cho các cơ chế khác sử dụng động cơ riêng lẻ.

Menu Thiết bị IQ của VEXcode hiển thị danh sách các thiết bị được kết nối. Động cơ thông minh được tô sáng, cho biết có thể cấu hình động cơ này sau khi chọn.

Thực hiện theo các bước trong bài viết này để cấu hình động cơ riêng của bạn trong VEXcode IQ.

Với một động cơ được cấu hình, các lệnh điều khiển động cơ đó sẽ xuất hiện trong Hộp công cụ. Bạn sẽ nhận thấy có nhiều loại lệnh khác nhau: chờ và không chờ.

Lệnh chờ và không chờ

Lưu ý rằng tất cả hình ảnh ở đây đều hiển thị các khối. Tất cả các dự án này có thể được xây dựng lại bằng Python hoặc C++ và có chức năng tương tự như các khối.

VEXcode IQ là khối dự án sử dụng các lệnh chờ để di chuyển động cơ càng, sau đó là rô-bốt và động cơ cánh tay lần lượt. Dự án có nội dung Khi bắt đầu, hãy quay ClawMotor gần 90 độ. Tiếp theo, lái ngược lại 200 mm rồi quay ArmMotor đến vị trí 180 độ.

Lệnh chờ chặn dự án tiếp tục cho đến khi hành vi được hoàn thành. Chúng bao gồm các lệnh như [Quay cho] và [Quay đến vị trí].

Dự án hiển thị ở đây sử dụng mẫu Clawbot (2 động cơ) và tất cả các lệnh đang chờ. Vì vậy, nối tiếp, động cơ càng sẽ đóng 90 độ, robot sẽ lái lùi, sau đó cánh tay sẽ quay lên để đạt vị trí 180 độ.

VEXcode IQ chặn dự án sử dụng các lệnh không chờ để quay động cơ nạp trong đúng 2 giây. Dự án có nội dung Khi bắt đầu, quay IntakeMotor, đợi 2 giây, sau đó dừng IntakeMotor.

Ngược lại có những lệnh không chờ đợi. Lệnh không chờ sẽ thực thi hành vi này vô thời hạn hoặc cho đến khi được yêu cầu thay đổi sang hành vi khác. Chúng bao gồm các lệnh như [Quay].

Dự án hiển thị ở đây sử dụng BaseBot có bổ sung thêm một đầu vào. Ở đây động cơ nạp sẽ bắt đầu quay. Lệnh [Chờ] là lệnh chờ, do đó cửa hút sẽ tiếp tục quay cho đến khi hết 2 giây, sau đó chuyển sang lệnh tiếp theo trong dự án là lệnh [Dừng]. Khi đó động cơ sẽ ngừng quay.

Hết giờ động cơ

Khi mã hóa động cơ như một phần của cánh tay hoặc móng vuốt, điều quan trọng là phải nhớ sự khác biệt giữa khối chờ và khối không chờ cũng như cách chúng sẽ tác động đến chuyển động của rô-bốt của bạn. Thời gian chờ của động cơ cho phép bạn đặt giới hạn thời gian để động cơ đạt đến vị trí mục tiêu đã định. Nếu nó không đáp ứng được vị trí đó khi hết thời gian, động cơ sẽ ngừng quay và dự án sẽ chuyển sang lệnh tiếp theo.

Khối VEXcode IQ là khối dự án sử dụng khối thời gian chờ động cơ để quay động cơ càng xe đóng lại 90 độ hoặc cho đến khi hết 2 giây trước khi di chuyển robot. Dự án có nội dung như sau: Khi bắt đầu, đặt thời gian chờ của ClawMotor là 2 giây và xoay ClawMotor góc 90 độ. Cuối cùng, lái ngược lại 200 mm.

Trong ví dụ này, thời gian chờ của động cơ được đặt thành 2 giây. Nếu vấu không đóng tới 90 độ trong vòng 2 giây, động cơ sẽ ngừng quay ở mốc 2 giây sau đó chuyển sang lệnh tiếp theo và lái về phía trước.

Màn hình não được hiển thị với Bảng điều khiển cảm biến vận động được mở từ menu Thiết bị. Thông tin được hiển thị về động cơ như lệnh, vận tốc, vị trí, dòng điện và Cổng thông minh của động cơ.

Nếu bạn không chắc chắn về việc di chuyển động cơ bao xa, hãy sử dụng bảng điều khiển cảm biến. Bảng điều khiển báo cáo vị trí của động cơ theo độ và số vòng quay, vì vậy khi bạn di chuyển động cơ (như mở và đóng móng vuốt), các con số sẽ thay đổi. Sử dụng thử nghiệm này để xác định cần bao nhiêu độ hoặc số vòng quay để đóng càng, nâng tay, quay cửa hút, v.v.

Hãy xem các bài viết này để tìm hiểu cách sử dụng bảng thông tin cảm biến.

Mã hóa động cơ thông minh như một phần của hệ thống truyền động

Trước khi bắt đầu mã hóa hệ thống truyền động trong VEXcode IQ, bạn cần định cấu hình hệ thống truyền động bao gồm các động cơ được sử dụng. Các động cơ được cấu hình trong hệ thống truyền động để đảm bảo chúng được điều khiển bằng các lệnh tương tự như [Drive] và [Drive for].

Lệnh chờ và không chờ

Khi mã hóa hệ thống truyền động, các lệnh chờ và không chờ sẽ có sẵn để điều khiển chuyển động của robot.

VEXcode IQ là dự án khối sử dụng các lệnh chờ để điều khiển robot tiến về phía trước rồi lần lượt rẽ phải. Dự án có nội dung như sau: Khi bắt đầu, lái xe về phía trước 200 mm rồi rẽ phải 90 độ.

Lệnh chờ chặn dự án tiếp tục cho đến khi hành vi được hoàn thành. Chúng bao gồm các lệnh như [Lái xe tới] [Rẽ vào] và [Quay sang tiêu đề].

Dự án hiển thị ở đây sử dụng mẫu Clawbot (2 động cơ) và tất cả các lệnh đang chờ. Vì vậy, trong chuỗi, robot sẽ lái về phía trước 200 mm sau đó rẽ phải hoàn toàn bằng cách sử dụng hệ thống truyền động.

VEXcode IQ chặn dự án sử dụng lệnh không chờ để điều khiển robot tiến về phía trước cho đến khi nhấn vào cản, sau đó rẽ sang phải. Dự án có nội dung Khi bắt đầu, lái xe về phía trước, đợi cho đến khi nhấn Bumper3, sau đó rẽ phải 90 độ.

Ngược lại có những lệnh không chờ đợi. Lệnh không chờ sẽ thực thi hành vi này vô thời hạn hoặc cho đến khi được yêu cầu thay đổi sang hành vi khác. Chúng bao gồm các lệnh như [Drive].

Dự án hiển thị ở đây sử dụng BaseBot. Tại đây, robot sẽ lái về phía trước vô thời hạn cho đến khi nhấn Công tắc cản. Sau đó, dự án sẽ chuyển sang lệnh tiếp theo và robot sẽ dừng lái xe và rẽ phải 90 độ.

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

Last Updated: