Skip to main content

Sử dụng cảm biến thị giác - C++

Biểu tượng Hộp công cụ của giáo viên Hộp công cụ giáo viên - Mục đích của hoạt động này

Để sử dụng Cảm biến thị giác hiệu quả, học sinh cần có khả năng cấu hình và điều chỉnh cảm biến tùy theo môi trường sử dụng. Trong hoạt động sau, học sinh sẽ học cách thực hiện cả hai.
Để biết thêm thông tin về lập trình Cảm biến thị giác bằng VEXcode V5, hãy truy cập thông tin trợ giúp choC++trongThư viện VEX.

Sau đây là phác thảo những gì học sinh của bạn sẽ làm trong hoạt động này:

  • Mở dự án ví dụ Phát hiện đối tượng (Tầm nhìn).

  • Cấu hình Cảm biến thị giác.

  • Chạy dự án ví dụ Phát hiện đối tượng (Tầm nhìn).

  • Thảo luận và suy ngẫm.

  • Điều chỉnh cảm biến thị giác.

Biểu tượng Mẹo của Giáo viên Mẹo dành cho giáo viên

Nếu đây là lần đầu tiên học sinh sử dụng VEXcode V5, các em có thể truy cập vàobài viết trợ giúptrong Thư viện VEX

Biểu tượng Mẹo của Giáo viên Mẹo dành cho giáo viên - Sử dụng tính năng Tự động hoàn thành

Tự động hoàn thành là một tính năng trong VEXcode V5 giúp dự đoán phần còn lại của lệnh bạn đang nhập. Khi học sinh làm việc trong VEXcode V5, hãy khuyến khích các em sử dụng tính năng Tự động hoàn thành để hỗ trợ cú pháp.

VEXcode V5 với phần Drivetrain của lệnh được nhập ở bên trái và bên phải, danh sách có thể cuộn được các tùy chọn tự động hoàn thành cho lệnh đó sẽ được hiển thị.

Các bài viết về Tự động hoàn thành dành choC++đề cập đến cách sử dụng tính năng Tự động hoàn thành.

Nhận phần cứng cần thiết, máy tính xách tay kỹ thuật của bạn và mở VEXcode V5.

Vật liệu cần thiết:
Số lượng Vật liệu cần thiết
1

Bộ CÔNG cụ VEX V5 Classroom Starter Kit

1

VEXcode V5 (phiên bản mới nhất, Windows, MacOS)

1

Sổ tay kỹ thuật

1

Định cấu hình cảm biến thị giác (Thư viện VEX)

1

Điều chỉnh cảm biến thị giác (Thư viện VEX)

1

Dự án ví dụ về Phát hiện đối tượng (Tầm nhìn)

Hoạt động này sẽ cung cấp cho bạn các công cụ để sử dụng Cảm biến Thị giác.

Bạn có thể sử dụng thông tin Trợ giúp (C++) bên trong VEXcode V5 để tìm hiểu về các hướng dẫn.

VEXcode V5 được hiển thị với Hộp công cụ mở ở ngoài cùng bên trái và Trợ giúp cho Drive cho lệnh mở ở ngoài cùng bên phải. Trợ giúp hiển thị định nghĩa của lệnh và thông tin về cách sử dụng lệnh.

 

Bước 1: Mở một dự án mẫu

VEXcode V5 chứa nhiều dự án mẫu khác nhau. Bạn sẽ sử dụng một trong số chúng trong chuyến khám phá này.

Mở dự án ví dụ về Phát hiện đối tượng (Tầm nhìn) bằng cách hoàn thành các bước sau:

  • Mở menu Tệp.
  • Chọn Mở Ví dụ.

Thanh công cụ VEXcode V5 với menu Tệp mở và Mở Ví dụ được đánh dấu trong hộp màu đỏ. Open Examples là mục menu thứ tư bên dưới New Blocks Project, New Text Project và Open.

  • Sử dụng thanh bộ lọc ở đầu ứng dụng và chọn "Cảm biến".

Cửa sổ VEXcode V5 Example Project selection window with the Sensing filter selected at the top, and highlighted in a red box. Dưới đây là sáu biểu tượng dự án mẫu hiển thị.

Chọn và mở dự án ví dụ về Phát Hiện Vật Thể (Tầm Nhìn).

Biểu tượng dự án ví dụ đọc Phát hiện tầm nhìn đối tượng ở phía dưới và hiển thị sơ đồ màu xanh lam của rô bốt với cảm biến cho biết phát hiện đối tượng ở trên.

Lưu dự án của bạn dưới dạng Phát hiện đối tượng.

  • Kiểm tra để đảm bảo tên dự án Phát hiện đối tượng hiện có trong cửa sổ ở giữa thanh công cụ.

Hộp thoại tên dự án trong Thanh công cụ VEXcode V5 đọc Phát hiện đối tượng và hiển thị vị trí 1 được chọn ở bên trái và đọc Lưu ở bên phải.

Biểu tượng Mẹo của Giáo viên Mẹo dành cho giáo viên

  • Đảm bảo rằng học sinh đã chọn Mở Ví dụ từ menu Tệp.

  • Đảm bảo rằng học sinh đã chọn dự án Ví dụ Phát hiện vật thể (Tầm nhìn). Bạn có thể chỉ cho học sinh biết rằng có một số lựa chọn để lựa chọn trên trang Ví dụ mở.

  • Bạn có thể yêu cầu học sinh thêm chữ cái đầu hoặc tên nhóm của mình vào tên dự án. Điều này sẽ giúp phân biệt các chương trình nếu bạn yêu cầu sinh viên nộp bài.

  • Vì VEXcode V5 có tính năng tự động lưu nên không cần phải lưu lại dự án sau khi đã lưu lần đầu tiên.

  • Nếu học sinh cần trợ giúp về việc tiết kiệm, hãy hướng dẫn họ đến một trong những bài viết sau: 

Bước 2: Định cấu hình và sử dụng cảm biến thị giác

Cửa sổ cấu hình Cảm biến Tầm nhìn hiển thị hình ảnh bàn tay đang cầm một khối lập phương màu đỏ ở bên trái, với một lớp phủ trên khối lập phương và các từ REDBOX và W142 H142 phía trên nó. Ở bên phải, 3 chữ ký Màu được đặt cho BlueBox, Redbox và Greenbox.

Mở dự án ví dụ về Phát Hiện Vật Thể (Tầm Nhìn) đã lưu trước đó.

Cảm biến Tầm nhìn được sử dụng như thế nào trong dự án này? Dự đoán những gì sẽ xảy ra khi dự án được chạy và viết ra các dự đoán trong sổ ghi chép kỹ thuật của bạn.

#include "vex.h"

sử dụng namespace vex;

event checkBlue = event();
event checkRed = event();
event checkGreen = event();

// Will check to see if there is a blue object in the view of the Vision
// Sensor and display the results on line 1 of the V5 Brain's screen.
khoảng trống có BlueCallback ()

  {Brain.Screen.clearLine (1)
  ; Brain.Screen.setCursor (1, 1);
  Vision5.takeSnapshot (Vision5 __ BLUEBOX);

  nếu (Vision5.objectCount > 0) {
    Brain.Screen.print ("Blue Object Found");

  } else {
    Brain.Screen.print ("No Blue Object");
  }
}

/// Will check to see if there is a red object in the view of the Vision
// Sensor and display the results on line 3 of the V5 Brain's screen.
khoảng trống có RedCallback ()

  {Brain.Screen.clearLine (3)
  ; Brain.Screen.setCursor (3, 1);
  Vision5.takeSnapshot (Vision5 __REDBOX);

  nếu (Vision5.objectCount > 0) {
    Brain.Screen.print ("Red Object Found");

  } else {Brain.Screen.print
    ("No Red Object");

}

// Sẽ kiểm tra xem có vật thể màu xanh lá cây nào trong chế độ xem của Vision
// Sensor và hiển thị kết quả trên dòng 5 của màn hình não V5 hay không.
void có GreenCallback() {

  Brain.Screen.clearLine(5); Brain.Screen.setCursor
  (5, 1); Vision5.takeSnapshot
  (Vision5 __ GREENBOX);

  if (Vision5.objectCount > 0) {Brain.Screen.print (
    "Green Object Found");

  } else {Brain.Screen.print (
    "No Green Object");
  }
}

// Bắt đầu mã dự án
int main() {
  // Khởi tạo cấu hình Robot. KHÔNG ĐƯỢC GỠ BỎ!
  vexcodeInit();

  // Register event handlers
  checkBlue (hasBlueCallback);
  checkRed (hasRedCallback); checkGreen
  (hasGreenCallback);

  // Small delay to ensure the event handlers are ready to be used
  wait(15, msec);

  // Set the print font for all future prints to the V5 screen Brain.Screen.setFont (
  mono40);

  // Liên tục chạy để kiểm tra dữ liệu cảm biến mới
  while (true)
    {checkBlue.broadcastAndWait ()
    ; checkRed.broadcastAndWait ();
    checkGreen.broadcastAndWait ();
    wait(0.1, seconds);
  }
}
  • Tải xuống và chạydự án. Đặt các vật thể có màu khác nhau trước Cảm biến Tầm nhìn và quan sát hành vi của robot. Ghi lại trong sổ ghi chép kỹ thuật của bạn dự đoán của bạn khác hoặc chính xác như thế nào so với những gì bạn thực sự quan sát được từ dự án.

Biểu tượng Mẹo của Giáo viên Mẹo dành cho giáo viên

Các vật thể ba màu không nhất thiết phải là hình khối, chúng có thể là bất kỳ vật thể nào có màu xanh lá cây, đỏ và xanh lam tương đối nhỏ.

Biểu tượng thảo luận thúc đẩy Thảo luận về động lực - Câu trả lời

Dẫn dắt một cuộc thảo luận trong lớp để học sinh chia sẻ những gì các em dự đoán dự án này sẽ làm trong sổ tay kỹ thuật của mình và cũng suy ngẫm về cách cấu hình Cảm biến thị giác.
Dẫn dắt cuộc thảo luận bằng cách đặt những câu hỏi sau:

  1. Các bước để cấu hình Cảm biến thị giác là gì?

  2. Cấu trúcif then else có tác dụng gì?

  3. Điều gì sẽ xảy ra với khả năng phát hiện vật thể của Cảm biến thị giác nếu chúng ta đổi phòng?

Câu trả lời sẽ khác nhau:

  1. Học sinh cần lưu ý rằng tên của đối tượng phải được quyết định. Vật thể phải được đặt vào khung của Cảm biến thị giác và giữ yên bằng nút "Đóng băng". Sau đó, màu sắc sẽ được chọn và cấu hình bằng nút "Đặt". Học sinh nên phác thảo các bước được liệt kê trongbài viết này.

  2. Cấu trúcif then elsechạy các lệnh bên trong phần đầu tiên hoặc phần thứ hai củaif then elsedựa trên giá trị Boolean được báo cáo. Bạn có thể tìm thêm thông tin về cách sử dụng hướng dẫn này trong phần Trợ giúp.

  3. Nếu Cảm biến thị giác được yêu cầu phát hiện các vật thể trong môi trường khác, ánh sáng có thể thay đổi và màu sắc của các vật thể có thể trông khác đi. Điều này có thể khiến Cảm biến thị giác khó phát hiện vật thể.

Biểu tượng Mở rộng việc học của bạn Mở rộng việc học của bạn - Cấu hình thêm các đối tượng

Chọn hai vật thể có màu khác để cấu hình, có thể là màu trắng, tím, vàng, v.v...

Cửa sổ cấu hình Cảm biến thị giác hiển thị ảnh chụp nhanh bên trái với bàn tay đang cầm bánh răng màu vàng. Có một lớp phủ hình vuông trên bánh răng màu vàng và dữ liệu ghi là Hộp màu vàng, X90 y 62, w102, h 98. Bên phải là các chữ ký màu cho Bluebox, Redbox, Greenbox và Yellowbox được thiết lập.

Nếu học sinh cần trợ giúp, hãy giới thiệu họ đến thông tinTrợ giúphoặc bài viết Cấu hình cảm biến thị giác V5.

Bước 3: Điều chỉnh cảm biến thị giác

Thông thường, một đối tượng được cấu hình để được Cảm biến Tầm nhìn nhận dạng trong một môi trường, ví dụ, trong lớp học. Khi Cảm biến Tầm nhìn sau đó được đưa vào một môi trường khác, chẳng hạn như môi trường thi đấu, cảm biến Tầm nhìn có thể không nhận ra đối tượng. Điều này thường xảy ra do sự thay đổi về ánh sáng sau khi Cảm biến thị giác đã được cấu hình. Để giải quyết vấn đề này, bạn có thể phải điều chỉnh Cảm biến Tầm nhìn của mình.

Cửa sổ cấu hình Cảm biến Tầm nhìn với một bàn tay giữ một khối lập phương màu đỏ với một lớp phủ trên khối lập phương và đọc văn bản redbox và x84 y 28 sau đó w 158 h 166. Ở bên phải, chữ ký màu Bluebox, Redbox và Greenbox được đặt bằng thanh trượt được đánh dấu trong hộp màu đỏ với mặt số được đặt thành 4.4.

Mở dự án ví dụ về Phát Hiện Vật Thể (Tầm Nhìn) đã lưu trước đó.

Việc điều chỉnh Cảm biến Tầm nhìn sẽ ảnh hưởng như thế nào đến khả năng phát hiện vật thể? Đưa Clawbot đến một phần khác của căn phòng với ít nhiều ánh sáng.

V5 Clawbot trên một cánh đồng với cánh tay xuống và móng vuốt mở và xung quanh một vật thể hình khối màu tím.

  • Tải xuống và chạydự án. Đặt các vật thể có màu khác nhau trước Cảm biến Tầm nhìn và quan sát hành vi của robot. Ghi lại trong sổ ghi chép kỹ thuật của bạn cảm biến tầm nhìn phát hiện các vật thể tốt như thế nào. Cảm biến thị giác có cần điều chỉnh sau khi thay đổi vị trí không?
  • Điều chỉnh Cảm biến Thị giác khi cần thiết. Kiểm tra Cảm biến Tầm nhìn sau khi đã được điều chỉnh để xác định xem nó có thể phát hiện vật thể tốt hơn và điều chỉnh khi cần thiết hay không.

Biểu tượng thảo luận thúc đẩy Thảo luận thúc đẩy - Suy ngẫm về hoạt động

H:Cảm biến thị giác có phát hiện vật thể như bạn mong đợi không?
Đ:Câu trả lời có thể khác nhau; tuy nhiên, mục tiêu của câu hỏi này là thúc đẩy tư duy nhận thức. Học sinh cần lưu ý rằng khả năng phát hiện vật thể của Cảm biến thị giác có thể thay đổi tùy thuộc vào môi trường và ánh sáng.

H:Tại sao việc có thể điều chỉnh Cảm biến thị giác khi cần lại quan trọng?
Đ:Mặc dù câu trả lời có thể khác nhau, nhưng câu trả lời chung là nếu một robot sử dụng Cảm biến thị giác và được đưa đi thi đấu hoặc thậm chí được sử dụng trong một trò chơi hoặc thử thách, thì hiệu suất hoạt động của robot sẽ phụ thuộc vào độ chính xác của Cảm biến thị giác. Việc điều chỉnh rất quan trọng để đảm bảo độ chính xác.

Biểu tượng Mở rộng việc học của bạn Mở rộng việc học của bạn - Nhiều đối tượng

Yêu cầu học sinh chạy dự án Phát hiện vật thể (Tầm nhìn) và đặt nhiều hơn một vật thể đã cấu hình trước Cảm biến tầm nhìn. Chuyện gì xảy ra? Yêu cầu họ ghi lại những phát hiện của mình vào sổ tay kỹ thuật.
Bây giờ, hãy yêu cầu học sinh đặt một vật thể đã được cấu hình và một vật thể chưa biết hoặc chưa được cấu hình trước Cảm biến thị giác. Chuyện gì xảy ra? Yêu cầu họ ghi lại những phát hiện của mình vào sổ tay kỹ thuật.

Hỏi học sinh trước khi thử nghiệm, điều gì sẽ xảy ra nếu họ đặt ba vật thể đã được cấu hình trước Cảm biến thị giác? Yêu cầu học sinh viết ra dự đoán của mình trước khi thử nghiệm. Yêu cầu họ ghi lại những quan sát của mình sau khi thử nghiệm.

Giao diện tiện ích cảm biến thị giác hiển thị hình ảnh hai bàn tay đang cầm Greenbox và Redbox trong cửa sổ bên trái. Mỗi khối lập phương màu đều có lớp phủ dữ liệu. Bên phải, chữ ký của Bluebox, Redbox, Greenbox và Yellowbox đều đã được thiết lập.

Thúc đẩy thảo luận về những gì học sinh dự đoán và quan sát được.

Thúc đẩy thảo luận bằng cách hỏi:

  • Sự khác biệt giữa một, hai và ba đối tượng là gì?
  • Bạn có thể điều chỉnh dự án theo bất kỳ cách nào để nhận dạng nhiều đối tượng không?