Khắc phục sự cố cảm biến VEX V5

Khi rô-bốt của bạn không hoạt động như dự định khi sử dụng phản hồi của cảm biến, bạn có thể làm theo quy trình khắc phục sự cố từng bước để tìm và khắc phục sự cố của mình. Bài viết này sẽ giải thích các bước trong quy trình khắc phục sự cố và cung cấp các mẹo về cách sử dụng các bước này.

Các bước của quá trình này là:

  1. Xác định vấn đề
  2. Kiểm tra phần cứng
  3. Kiểm tra phần mềm
  4. Phân tích và áp dụng dữ liệu

Xác định vấn đề

Bước đầu tiên để khắc phục sự cố với cảm biến của bạn là xác định cảm biến nào đang gây ra sự cố. So sánh hành vi của robot được quan sát với hành vi dự kiến ​​của robot. Hành vi có vấn đề có phải do cảm biến gây ra không? Nếu vậy, cảm biến nào? Nếu bạn cần thêm thông tin để xác định cảm biến nào có thể đang gặp sự cố, hãy đọc (các) bài viết bên dưới liên quan đến cảm biến trên robot của bạn.

Cảm biến VEX V5:

Khi bạn đã xác định được cảm biến nào đang gây ra hành vi ngoài ý muốn, bạn có thể tiếp tục quá trình này.


Kiểm tra phần cứng

Bước thứ hai là kiểm tra phần cứng trên robot để đảm bảo cảm biến có thể hoạt động như dự định. Mỗi cân nhắc về phần cứng sau đây có thể ảnh hưởng đến chức năng của cảm biến.

Kiểm tra vị trí đặt cảm biến

Robot gắp thú V5 đang di chuyển trên một cánh đồng. Con robot này có gắn một cảm biến quang học được đánh dấu và đang hướng về phía một quả cầu Buckyball màu đỏ ở phía trước.

Bắt đầu bằng cách xem vị trí của cảm biến trên robot của bạn. Cảm biến có bị chặn bởi bất kỳ thứ gì, chẳng hạn như bộ phận khác của rô-bốt của bạn không? Đảm bảo rằng cảm biến có không gian cần thiết để hoạt động như dự kiến.

Như được hiển thị ở đây, Cảm biến quang học có tầm nhìn rõ ràng về đối tượng mà nó muốn phát hiện.

Kiểm tra kết nối cảm biến

Màn hình Brain được hiển thị trong menu Thông tin thiết bị, menu này liệt kê tất cả các Cổng thông minh và thiết bị được kết nối của Brain. Biểu tượng Cảm biến quang học trong menu Thông tin thiết bị được tô sáng để cho biết rằng bạn có thể chọn nó để mở menu thông tin của thiết bị.

Kiểm tra chức năng của cảm biến bằng cách xem dữ liệu được báo cáo trong Màn hình thiết bị trên VEX V5 Brain. Điều này có thể giúp bạn xác nhận rằng cảm biến đã được cắm và hoạt động. 

Để truy cập màn hình Thiết bị, làm theo các bước trong bài viết này. Sau khi Màn hình thiết bị mở, hãy xem liệu cảm biến có hiển thị ở đúng vị trí cổng và dữ liệu báo cáo hay không. Ở đây Cảm biến quang được phát hiện trong Cổng thông minh 11.

Hình ảnh cho thấy V5 Brain được kết nối với V5 Battery và thiết bị V5 Smart Motor. Dây cáp của động cơ thông minh được kết nối với một trong các cổng thông minh của bộ điều khiển trung tâm.Bộ xử lý V5 với thiết bị 3 dây được kết nối với một trong các cổng 3 dây của nó.

Nếu cảm biến không báo cáo dữ liệu, hãy đảm bảo cảm biến của bạn được cắm đúng cách. Khi cắm cảm biến vào Cổng thông minh, bạn sẽ nghe thấy tiếng tách khi tab khóa của cảm biến được gắn hoàn toàn vào cổng.

Khi cắm cảm biến vào Cổng 3 Dây, cáp phải được cắm hoàn toàn theo đúng hướng với dây màu trắng gần màn hình Brain nhất. 

Bạn cũng có thể thử đổi cảm biến bạn đang sử dụng với cảm biến khác để xem liệu điều đó có giải quyết được sự cố của bạn hay không.

Nếu bạn đã thay đổi điều gì đó ở vị trí cảm biến hoặc kết nối cảm biến, hãy kiểm tra lại dự án của bạn để xem liệu điều này có giải quyết được sự cố hay không. Nếu vị trí và kết nối cảm biến của bạn không thay đổi, hãy chuyển sang bước tiếp theo để tiếp tục quá trình khắc phục sự cố.


Kiểm tra phần mềm

Sau khi xác nhận rằng cảm biến đã được đặt và kết nối thành công với robot, bạn có thể chuyển sang dự án VEXcode V5 tiếp theo. Việc lặp lại một dự án có thể giúp bạn đảm bảo rằng dữ liệu từ cảm biến đang được sử dụng hiệu quả trong dự án của bạn. Các chiến lược sau đây có thể giúp bạn mã hóa cảm biến của mình.

Nếu bạn áp dụng bất kỳ chiến lược nào trong số này cho dự án VEXcode V5 của mình, hãy kiểm tra lại dự án của bạn để xem liệu điều này có giải quyết được vấn đề hay không.

Kiểm tra Firmware và cấu hình

VEXcode V5 với Brain được kết nối và menu thả xuống của Brain đang mở, cho thấy nó có thể được sử dụng để kiểm tra phần mềm của Brain. Phiên bản VEXos được liệt kê, và chỉ có nút "Buộc cập nhật" hiển thị.

Trước tiên, hãy đảm bảo rằng phần mềm của V5 Brain đã được cập nhật.

Xem bài viết này để tìm hiểu thêm về cách cập nhật firmware trên V5 Brain.

Menu Thiết bị của VEXcode V5 hiển thị danh sách dài các thiết bị đã kết nối. Menu này có thể được sử dụng để đảm bảo mỗi cảm biến được kết nối đúng cách và để kiểm tra cổng cụ thể của nó trên bộ điều khiển trung tâm (Brain).

Bây giờ bạn đã chắc chắn rằng tất cả các thiết bị đều được kết nối chính xác với Brain, hãy kiểm tra Cấu hình thiết bị trong VEXcode V5.

Kiểm tra để chắc chắn rằng tất cả các cảm biến đều có trong cấu hình. Sau đó, kiểm tra để chắc chắn rằng mỗi thiết bị đều được kết nối với đúng cổng.

Thay đổi bất kỳ cấu hình thiết bị không chính xác.

Chạy một dự án mẫu

Menu "Các dự án ví dụ của VEXcode Blocks" cung cấp nhiều dự án thuộc các danh mục khác nhau để bạn lựa chọn. Danh mục Cảm biến được làm nổi bật.

Mở một Dự án mẫu sử dụng cảm biến mà bạn đang khắc phục sự cố. Bạn có thể chọn danh mục 'Cảm biến' để lọc các dự án mẫu.

Để biết thêm thông tin về các Dự án và Mẫu Ví dụ của V5 Blocks, xem bài viết này.

Để biết thêm thông tin về các Dự án và Mẫu ví dụ Python V5, xem bài viết này.

Để biết thêm thông tin về các Dự án và Mẫu ví dụ V5 C++, xem bài viết này.

VEXcode V5 với một dự án ví dụ được mở từ danh mục Cảm biến, bao gồm một chồng các khối mã và một ghi chú mô tả dự án. Ghi chú này được tô sáng.

Sau khi mở, hãy đọc Ghi chú để xác định xem chức năng trong dự án mẫu có phù hợp với những gì bạn đang cố gắng thực hiện với cảm biến hay không.

Trong dự án ví dụ được hiển thị ở đây, ghi chú cho biết trạng thái của Công tắc đệm hoặc Công tắc giới hạn đang được nhấn sẽ được in trên màn hình Brain. Trong trường hợp này True biểu thị đã nhấn và Sai biểu thị không được nhấn. 

Chạy dự án mẫu và quan sát hành vi của robot. Sau đó, nhìn vào dự án để biết dữ liệu cảm biến đang được sử dụng như thế nào nhằm gây ra các hành vi được quan sát. Bạn có thể muốn chạy dự án mẫu nhiều lần để trợ giúp việc này.

Bạn có thể muốn thử tạo dự án đơn giản hóa của riêng mình để áp dụng những gì bạn đã học được từ dự án mẫu vào nhiệm vụ của mình.

Sử dụng các công cụ VEXcode V5 khác

Ngoài ra còn có các công cụ và chiến lược mà bạn có thể sử dụng để trợ giúp khi tìm hiểu thêm về cách mã hóa cảm biến trong VEXcode V5. Bạn có thể tìm hiểu về các khối hoặc lệnh trong Hộp công cụ riêng lẻ bằng cách sử dụng Trợ giúp. Bạn cũng có thể xem dữ liệu cảm biến khi một dự án đang chạy để tìm hiểu thêm về những gì cảm biến đang báo cáo.

VEXcode V5 với menu Trợ giúp được mở và khối "Nhấn Bumper" được chọn. Phần mô tả về khối lệnh và cách sử dụng được trình bày cùng với hình ảnh minh họa các ví dụ.

Sự giúp đỡ

Đọc Trợ giúp dành cho các khối hoặc lệnh trong dự án mẫu hoặc trong dự án của bạn để tìm hiểu về dữ liệu được sử dụng, giá trị nào lệnh sẽ báo cáo và ví dụ về cách sử dụng lệnh trong dự án.

Xem bài viết này để tìm hiểu thêm về cách truy cập Trợ giúp trong Khối VEXcode V5.

Xem bài viết này để tìm hiểu thêm về cách truy cập Trợ giúp trong VEXcode V5 Python.

Xem bài viết này để tìm hiểu thêm về cách truy cập Trợ giúp trong VEXcode V5 C++.

In dữ liệu

Bạn cũng có thể in dữ liệu từ cảm biến dưới dạng dự án mẫu hoặc dự án của bạn đang chạy để giúp bạn hiểu rõ hơn nội dung cảm biến đang báo cáo trong thời gian thực. Điều này có thể giúp bạn xác định giá trị nào được báo cáo từ cảm biến để sử dụng làm thông số trong dự án của bạn. 

Lưu ý rằng trong dự án Khối, một khối mũ {When started} riêng biệt có thể được sử dụng để giữ tất cả các lệnh in được sắp xếp trong ngăn xếp riêng của chúng.

Khối VEXcode V5
Dự án VEXcode V5 Blocks sử dụng vòng lặp vô hạn để in dữ liệu cảm biến ra bộ xử lý trung tâm (Brain) trong khi dự án đang chạy. Phần đầu tiên của dự án có nội dung: Khi khởi chạy, hãy đặt phông chữ thành Mono Extra Large trên Brain. Tiếp theo, có một khối vòng lặp vĩnh cửu với 5 khối bên trong. Các khối lệnh trong vòng lặp đọc "xóa tất cả các hàng trên Brain", "đặt con trỏ đến hàng 1 cột 1 trên Brain", và sau đó in "Khoảng cách (mm):" trên Brain. Tiếp theo, in khoảng cách đối tượng Distance19 tính bằng mm trên Brain và đặt con trỏ đến hàng tiếp theo, sau đó đợi 0,5 giây.
VEXcode V5 Python
# Bắt đầu mã dự án

# Tăng kích thước phông chữ để dễ đọc trên màn hình Brain
brain.screen.set_font(FontType.MONO40)

while True:
  # Mỗi lần lặp của vòng lặp sẽ xóa màn hình
  brain.screen.clear_screen()
    
  # Sau khi xóa màn hình, đặt con trỏ in trở lại góc trên bên trái
  brain.screen.set_cursor(1, 1)
  
  # In nhãn và giá trị khoảng cách từ đối tượng trên cùng một dòng
  brain.screen.print("Khoảng cách (mm): ")
  brain.screen.print(distance_19.object_distance(MM))
  brain.screen.next_row()
  wait(0.5, SECONDS)
VEXcode V5 C++
int main() {

  // Tăng kích thước phông chữ để dễ đọc trên màn hình Brain
  Brain.Screen.setFont(mono40);
  
  while (true) {
  
    // Mỗi lần lặp sẽ xóa màn hình
    Brain.Screen.clearScreen();
    
    // Sau khi xóa màn hình, đặt con trỏ in trở lại góc trên bên trái
    Brain.Screen.setCursor(1, 1);
    
    // In nhãn và giá trị khoảng cách từ đối tượng trên cùng một dòng
    Brain.Screen.print("Khoảng cách (mm): %.2f", Distance19.objectDistance(mm));
    Brain.Screen.newLine();
    wait(0.5, seconds);
    
  }
  
}

Việc in ra V5 Brain hữu ích khi bạn muốn xem các giá trị thay đổi trong quá trình chạy dự án VEXcode V5. Điều này có thể giúp bạn xác định giá trị nào được báo cáo từ cảm biến để sử dụng làm thông số trong dự án của bạn. Các lệnh in này có thể được tích hợp vào dự án VEXcode V5 mà bạn đã tạo để bạn có thể thấy các giá trị cảm biến thay đổi tại những thời điểm cụ thể khi rô-bốt đang di chuyển. 

Các dự án ví dụ ở trên cho thấy cách in các giá trị từ Cảm biến khoảng cách đến Bộ não V5. Các nhận xét trong mỗi dự án sẽ giải thích tiến trình của dự án và cách sử dụng từng lệnh.

Khối VEXcode V5
Dự án VEXcode V5 Blocks sử dụng vòng lặp vô hạn để in dữ liệu cảm biến ra Console trong khi dự án đang chạy. Phần đầu tiên của dự án có nội dung như sau: Khi bắt đầu, hãy đặt vị trí Rotation15 thành 0 độ. Tiếp theo, có một khối vòng lặp vĩnh cửu với 3 khối bên trong. Các khối lệnh trong vòng lặp đọc lệnh in "Vị trí (độ):" trên Console, in "Vị trí xoay 15 độ" trên Console và đặt con trỏ đến hàng tiếp theo, và cuối cùng chờ 0,5 giây.
VEXcode V5 Python
# Bắt đầu mã dự án

# Đặt lại cảm biến xoay về 0 khi bắt đầu dự án
rotation_15.set_position(0, DEGREES)

while True:
  # In nhãn và giá trị khoảng cách từ vật thể trên cùng một dòng
  print("Vị trí (độ): ", end="")
  print(rotation_15.position(DEGREES))
  
  # Chờ để in giá trị, sau đó lặp lại vòng lặp
  wait(0.5, SECONDS)
VEXcode V5 C++
int main() {

  // Đặt lại cảm biến xoay về 0 khi bắt đầu dự án
  Rotation15.setPosition(0.0, degrees);
  
  while(true) {
  
    // In nhãn và giá trị khoảng cách từ vật thể trên cùng một dòng
    printf("Vị trí (độ): %.2f\n", Rotation15.position(degrees));
    
    // Chờ để in giá trị, sau đó lặp lại vòng lặp
    wait(0.5, seconds);
    
  }
  
}

Việc in ra Print Console trong VEXcode V5 được khuyến nghị khi bạn đang chạy một dự án VEXcode V5 mà robot KHÔNG di chuyển. V5 Brain phải được cắm liên tục trong quá trình thực hiện dự án để in ra Bảng điều khiển In. Điều này có lợi vì bạn có thể đọc các giá trị từ cửa sổ VEXcode V5 thay vì cố đọc dữ liệu từ màn hình Brain.

Các ví dụ này hiển thị dữ liệu in dự án từ Cảm biến xoay đến Bảng điều khiển trong VEXcode V5. 

Để biết thêm thông tin về cách sử dụng Bảng điều khiển In trong Khối VEXcode V5, hãy xem bài viết này.


Phân tích và áp dụng dữ liệu

Tiếp theo, sử dụng những gì bạn đã học được ở các bước trước để điều chỉnh dự án ban đầu của mình. Bạn có thể tiếp tục sử dụng các công cụ như Trợ giúp và in dữ liệu để giúp bạn sử dụng cảm biến một cách hiệu quả nhằm hoàn thành mục tiêu của mình.

Bạn cũng có thể đặt câu hỏi về dự án của mình để giúp bạn tiến về phía trước. Hãy suy nghĩ về những điều như:

  • Bạn đang sử dụng lớn hơn < hay nhỏ hơn > trong dự án của mình? Biểu tượng có hướng đúng hướng không? Nếu bạn đang sử dụng bằng = hãy thử thay thế bằng giá trị lớn hơn hoặc nhỏ hơn để sử dụng một phạm vi giá trị.
  • Các thông số của bạn có đúng không? Bạn có đang sử dụng dữ liệu từ cảm biến để thiết lập các thông số của mình không? Bạn đã chọn tùy chọn thả xuống mà bạn cần chưa?
  • Bạn có đang kiểm tra các điều kiện nhiều lần không? Hãy thử thêm vòng lặp Mãi mãi vào dự án của bạn để điều kiện được kiểm tra nhiều lần khi dự án được chạy.
  • Dự án của bạn có đang gặp khó khăn? Điều kiện của bạn có được đặt chính xác không? Nếu bạn đang sử dụng các vòng lặp lồng nhau, hãy thử đơn giản hóa dự án của bạn để tách biệt các hành vi riêng lẻ.
  • Điều kiện môi trường của bạn có ảnh hưởng đến cảm biến không? Nó quá sáng hay quá tối? Có đồ vật hoặc người nào cản đường không? Hãy thử chạy dự án của bạn ở một vị trí khác để xem điều đó có hữu ích không.
  • Bạn có đang chạy phiên bản mới nhất của dự án không? Bạn đã tải dự án cập nhật của mình xuống Brain chưa? Đảm bảo bạn tải lại dự án mỗi khi bạn thực hiện thay đổi.
  • Bạn có phát hiện đúng màu không? Cảm biến có báo cáo màu khác với màu bạn có trong dự án không? Hãy thử thay đổi tham số màu hoặc sử dụng một loạt giá trị màu sắc để xem điều đó có hữu ích hay không.
  • Bạn có đang phát hiện vật thể trong tầm nhìn của cảm biến không? Hãy nhớ rằng trường nhìn di chuyển cùng với chuyển động của robot.
  • Bạn có đang sử dụng khối chờ trong khi kiểm tra điều kiện không? Hãy đảm bảo sử dụng các khối không chờ trong dự án khi kiểm tra điều kiện. Xem bài viết này để tìm hiểu thêm về các khối chờ và không chờ trong VEXcode V5.
  • Nếu bạn đang mã hóa theo khối, toàn bộ ngăn xếp của bạn có được gắn vào khối {When started} mũ không? Khối sẽ chỉ chạy khi chúng được kết nối. Bạn có thể nghe âm thanh nhấp chuột khi kéo các khối và kết nối chúng lại với nhau.

Khi bạn trả lời những câu hỏi này, hãy đảm bảo thay đổi từng điều một trong dự án của bạn, kiểm tra nó và sau đó đánh giá xem thay đổi đó có hiệu quả hay không. Việc kiểm tra dự án của bạn thường xuyên có thể giúp bạn dễ dàng xem mã của bạn được kết nối như thế nào với hành vi của rô-bốt.  Bạn có thể cần phải lặp lại các bước trong quy trình khắc phục sự cố nhiều lần để giải quyết vấn đề của mình và điều đó không sao cả. Mỗi lần lặp lại sẽ giúp bạn tìm hiểu thêm về cảm biến bạn đang sử dụng và cách mã hóa nó trong VEXcode V5.

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

Last Updated: