การใช้เซนเซอร์วิชั่น - C++
กล่องเครื่องมือสำหรับครู
-
วัตถุประสงค์ของกิจกรรมนี้
การใช้เซนเซอร์วิชั่นอย่างมีประสิทธิผลต้องอาศัยการที่นักเรียนสามารถกำหนดค่าและปรับแต่งได้ตามสภาพแวดล้อมในขณะนั้น ในกิจกรรมต่อไปนี้ นักเรียนจะได้เรียนรู้วิธีการทำทั้งสองอย่าง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเขียนVision Sensor ด้วย VEXcode V5 โปรดไปที่ข้อมูลวิธีใช้สำหรับ C++ ภายในไลบรารี VEX
ต่อไปนี้เป็นโครงร่างของสิ่งที่นักเรียนของคุณจะทำในกิจกรรมนี้:
-
เปิดโครงการตัวอย่างการตรวจจับวัตถุ (วิสัยทัศน์)
-
กำหนดค่าเซนเซอร์วิชั่น
-
รันโครงการตัวอย่างการตรวจจับวัตถุ (วิสัยทัศน์)
-
อภิปรายและสะท้อนความคิด
-
ปรับแต่งเซนเซอร์วิชั่น
เคล็ดลับสำหรับครู
หากนี่เป็นครั้งแรกที่นักเรียนใช้ VEXcode V5 นักเรียนสามารถเข้าถึงบทความ ช่วยเหลือ ในห้องสมุด VEX ได้
เคล็ดลับสำหรับครู
-
การใช้การกรอกอัตโนมัติ
การกรอกข้อความอัตโนมัติเป็นคุณลักษณะใน VEXcode V5 ที่ทำนายส่วนที่เหลือของคำสั่งที่คุณกำลังพิมพ์ เนื่องจากนักเรียนกำลังทำงานใน VEXcode V5 โปรดสนับสนุนให้พวกเขาใช้คุณลักษณะการกรอกอัตโนมัติเพื่อช่วยในเรื่องรูปแบบ

บทความการเติมข้อความอัตโนมัติ บทความสำหรับ C++ ครอบคลุมถึงวิธีใช้คุณลักษณะการเติมข้อความอัตโนมัติ
รับฮาร์ดแวร์ที่จำเป็น สมุดบันทึกวิศวกรรมของคุณ และเปิด VEXcode V5
| ปริมาณ | วัสดุที่ต้องใช้ |
|---|---|
| 1 |
ชุดเริ่มต้นห้องเรียน VEX V5 |
| 1 |
VEXcode V5 (เวอร์ชันล่าสุด, Windows, MacOS) |
| 1 |
สมุดบันทึกวิศวกรรม |
| 1 |
การกำหนดค่าเซ็นเซอร์วิชั่น (ไลบรารี VEX) |
| 1 |
การปรับแต่งเซนเซอร์วิชั่น (ไลบรารี VEX) |
| 1 |
โครงการตัวอย่างการตรวจจับวัตถุ (วิสัยทัศน์) |
กิจกรรมนี้จะมอบเครื่องมือให้คุณใช้เซ็นเซอร์วิชั่น
คุณสามารถใช้ข้อมูล Help (C++) ใน VEXcode V5 เพื่อเรียนรู้เกี่ยวกับคำแนะนำได้
ขั้นตอนที่ 1: เปิดโครงการตัวอย่าง
VEXcode V5 มีโครงการตัวอย่างที่แตกต่างกันมากมาย คุณจะใช้หนึ่งในนั้นในการสำรวจนี้
เปิดโครงการตัวอย่างการตรวจจับวัตถุ (วิสัยทัศน์) โดยทำตามขั้นตอนต่อไปนี้:
- เปิดเมนูไฟล์
- เลือก เปิดตัวอย่าง.

- ใช้แถบตัวกรองที่ด้านบนของแอปพลิเคชันและเลือก "การตรวจจับ"

เลือกและเปิดโครงการตัวอย่าง Detecting Objects (Vision)
![]()
บันทึกโครงการของคุณเป็นการตรวจจับวัตถุ
- ตรวจสอบให้แน่ใจว่าชื่อโครงการ ตรวจจับวัตถุ อยู่ในหน้าต่างตรงกลางแถบเครื่องมือแล้ว

เคล็ดลับสำหรับครู
-
ตรวจสอบให้แน่ใจว่านักเรียนได้เลือก เปิดตัวอย่าง จากเมนูไฟล์
-
ตรวจสอบให้แน่ใจว่านักเรียนได้เลือกโครงการตัวอย่าง การตรวจจับวัตถุ (วิสัยทัศน์) คุณสามารถชี้ให้ผู้เรียนทราบว่ามีตัวเลือกหลายตัวให้เลือกในหน้า ตัวอย่างเปิด
-
คุณสามารถขอให้เด็กนักเรียนเพิ่มอักษรย่อของตนเองหรือชื่อกลุ่มลงในชื่อโครงการได้ สิ่งนี้จะช่วยแยกแยะโปรแกรมต่างๆ ออกจากกัน หากคุณขอให้นักเรียนส่งโปรแกรมเหล่านั้น
-
เนื่องจาก VEXcode V5 มีระบบบันทึกอัตโนมัติ จึงไม่จำเป็นต้องบันทึกโครงการอีกครั้งหลังจากบันทึกครั้งแรก
-
หากนักเรียนต้องการความช่วยเหลือในการบันทึก กรุณาไปที่บทความต่อไปนี้:
ขั้นตอนที่ 2: การกำหนดค่าและการใช้เซนเซอร์วิชั่น
- เริ่มต้นโดยการอ่าน Vision Sensor - Robot Config - VEXcode
- จากนั้นอ่าน การปรับเซนเซอร์วิชั่น-การกำหนดค่าหุ่นยนต์-VEXcode V5
- ขั้นตอนต่อไป คือ กำหนดค่าเซ็นเซอร์วิชั่นสำหรับวัตถุ 3 สี ได้แก่ สีแดง สีเขียว และสีน้ำเงิน
เปิดโครงการตัวอย่างการตรวจจับวัตถุ (วิสัยทัศน์) ที่บันทึกไว้ก่อนหน้านี้
เซ็นเซอร์วิชั่นถูกนำมาใช้ในโครงการนี้อย่างไร? คาดการณ์สิ่งที่จะเกิดขึ้นเมื่อดำเนินโครงการและจดบันทึกการคาดการณ์ลงในสมุดบันทึกวิศวกรรมของคุณ
#include "vex.h"
using 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.
void has BlueCallback() {
Brain.Screen.clearLine(1);
Brain.Screen.setCursor(1, 1);
Vision5.takeSnapshot(Vision5__BLUEBOX);
if (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.
void has RedCallback() {
Brain.Screen.clearLine(3);
Brain.Screen.setCursor(3, 1);
Vision5.takeSnapshot(Vision5__REDBOX);
if (Vision5.objectCount > 0) {
Brain.Screen.print("Red Object Found");
} else {
Brain.Screen.print("No Red Object");
}
}
// Will check to see if there is a green object in the view of the Vision
// Sensor and display the results on line 5 of the V5 Brain's screen.
void has 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");
}
}
// Begin project code
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
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);
// Constantly run to check for new sensor data
while (true) {
checkBlue.broadcastAndWait();
checkRed.broadcastAndWait();
checkGreen.broadcastAndWait();
wait(0.1, seconds);
}
}- ดาวน์โหลดและรันโครงการ วางวัตถุที่มีสีต่างๆ ไว้ข้างหน้าเซนเซอร์วิชั่นและสังเกตพฤติกรรมของหุ่นยนต์ บันทึกไว้ในสมุดบันทึกวิศวกรรมของคุณว่าคำทำนายของคุณแตกต่างหรือถูกต้องอย่างไรเมื่อเปรียบเทียบกับสิ่งที่คุณสังเกตได้จริงจากโครงการ
เคล็ดลับสำหรับครู
วัตถุสามสีไม่จำเป็นต้องเป็นลูกบาศก์ แต่สามารถเป็นวัตถุที่มีขนาดเล็ก สีเขียว สีแดง และสีน้ำเงินได้
สนทนาสร้างแรงจูงใจ
-
คำตอบ
อำนวยความสะดวกในการอภิปรายในชั้นเรียนเพื่อให้เด็กนักเรียนได้แบ่งปันสิ่งที่พวกเขาคาดการณ์ว่าโครงการนี้จะเกิดขึ้นได้ในสมุดบันทึกวิศวกรรมของพวกเขา และยังสะท้อนถึงวิธีการกำหนดค่าเซนเซอร์วิชั่นด้วย
อำนวยความสะดวกในการอภิปรายโดยถามคำถามต่อไปนี้:
-
ขั้นตอนการกำหนดค่าเซ็นเซอร์วิชั่นมีอะไรบ้าง?
-
โครงสร้าง if then else ทำอะไร?
-
ถ้าเราเปลี่ยนห้อง เซ็นเซอร์วิชั่นจะตรวจจับวัตถุได้อย่างไร?
คำตอบจะแตกต่างกัน:
-
นักเรียนควรทราบว่าจะต้องตัดสินใจเลือกชื่อวัตถุ วัตถุควรวางไว้ในกรอบของเซนเซอร์วิชั่นและหยุดนิ่งโดยใช้ปุ่ม "หยุดนิ่ง" จากนั้นจะเลือกสีและกำหนดค่าโดยใช้ปุ่ม "ตั้งค่า" นักเรียนควรสรุปขั้นตอนที่ระบุในบทความนี้
-
โครงสร้าง if then else จะรันคำสั่งภายในส่วนแรกหรือส่วนที่สองของ if then else ตามค่าบูลีนที่รายงาน ข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้คำแนะนำนี้สามารถพบได้ในข้อมูลวิธีใช้
-
หากมีการขอให้ Vision Sensor ตรวจจับวัตถุในสภาพแวดล้อมที่แตกต่างกัน แสงอาจเปลี่ยนไป และสีของวัตถุอาจดูแตกต่างออกไป ซึ่งอาจทำให้เซนเซอร์วิชั่นตรวจจับวัตถุได้ยาก
ขยายการเรียนรู้ของคุณ
-
กำหนดค่าวัตถุเพิ่มเติม
เลือกสองวัตถุที่มีสีอื่นเพื่อกำหนดค่า อาจเป็นสีขาว สีม่วง สีเหลือง เป็นต้น...

หากนักเรียนต้องการความช่วยเหลือ โปรดดูข้อมูล ความช่วยเหลือ หรือบทความ การกำหนดค่าเซ็นเซอร์วิชั่น V5
ขั้นตอนที่ 3: ปรับแต่งเซนเซอร์วิชั่น
บ่อยครั้งที่วัตถุได้รับการกำหนดค่าเพื่อให้ได้รับการจดจำโดยวิชั่นเซนเซอร์ในสภาพแวดล้อมหนึ่ง เช่น ในห้องเรียน เมื่อนำวิชั่นเซนเซอร์ไปใช้ในสภาพแวดล้อมอื่น เช่น สถานที่แข่งขัน วัตถุนั้นอาจไม่ถูกจดจำโดยวิชั่นเซนเซอร์ โดยทั่วไปนี้เกิดจากการเปลี่ยนแปลงแสงหลังจากได้กำหนดค่า Vision Sensor เป็น แล้ว เพื่อแก้ไขปัญหานี้ คุณอาจต้องปรับแต่งเซ็นเซอร์วิชั่นของคุณ
- เริ่มต้นโดยการอ่าน การปรับเซ็นเซอร์วิชั่น V5 ใน VEXcode V5
- จาก ปรับเซนเซอร์วิชั่น สำหรับวัตถุ 3 สี ได้แก่ สีแดง สีเขียว และสีน้ำเงิน
เปิดโครงการตัวอย่าง Detecting Objects (Vision) ที่บันทึกไว้ก่อนหน้านี้
การปรับแต่งเซนเซอร์วิชั่นจะส่งผลต่อความสามารถในการตรวจจับวัตถุอย่างไร นำ Clawbot ไปยังส่วนอื่นๆ ของห้องที่มีแสงมากหรือน้อย
- ดาวน์โหลดและรันโครงการ วางวัตถุที่มีสีต่างๆ ไว้ข้างหน้าเซนเซอร์วิชั่นและสังเกตพฤติกรรมของหุ่นยนต์ จัดทำเอกสารในสมุดบันทึกวิศวกรรมของคุณว่าเซ็นเซอร์วิชั่นตรวจจับวัตถุได้ดีเพียงใด จำเป็นต้องปรับแต่งเซนเซอร์วิชั่นหลังจากเปลี่ยนตำแหน่งหรือไม่
- ปรับแต่งเซนเซอร์วิชั่นตามความจำเป็น ทดสอบเซนเซอร์วิชั่นหลังจากที่ปรับแต่งแล้วเพื่อดูว่าสามารถตรวจจับวัตถุได้ดีขึ้นหรือไม่ และปรับแต่งตามความจำเป็น
กระตุ้นให้เกิดการสนทนา
-
การสะท้อนถึงกิจกรรม
ถาม: เซ็นเซอร์วิชั่นสามารถตรวจจับวัตถุได้ตามที่คุณคาดหวังหรือไม่
ตอบ: คำตอบอาจแตกต่างกันไป อย่างไรก็ตาม เป้าหมายของคำถามนี้คือเพื่อส่งเสริมการคิดเชิงองค์ความรู้ นักเรียนควรทราบว่าความสามารถในการตรวจจับวัตถุของเซ็นเซอร์วิชั่นอาจเปลี่ยนแปลงได้ขึ้นอยู่กับสภาพแวดล้อมและแสง
ถาม: เหตุใดการปรับแต่งเซ็นเซอร์วิชั่นตามต้องการจึงมีความสำคัญ
ตอบ: แม้ว่าคำตอบอาจแตกต่างกันไป แต่คำตอบทั่วไปควรเป็นว่าหากหุ่นยนต์ใช้เซ็นเซอร์วิชั่นและถูกนำไปแข่งขันหรือแม้แต่ใช้ในเกมหรือการท้าทาย ประสิทธิภาพของหุ่นยนต์จะขึ้นอยู่กับความแม่นยำของเซ็นเซอร์วิชั่น การปรับแต่งเป็นสิ่งสำคัญเพื่อความแม่นยำ
ขยายการเรียนรู้ของคุณ
-
วัตถุหลายรายการ
ขอให้ผู้เรียนรันโครงการ การตรวจจับวัตถุ (วิสัยทัศน์) และวางวัตถุที่กำหนดค่าไว้มากกว่าหนึ่งรายการไว้หน้าเซ็นเซอร์วิสัยทัศน์ เกิดอะไรขึ้น? ขอให้พวกเขาบันทึกผลการค้นพบของตนในสมุดบันทึกวิศวกรรมของพวกเขา
นี้ ขอให้ผู้เรียนวางวัตถุที่กำหนดค่าไว้หนึ่งชิ้นและวัตถุที่ไม่รู้จักหรือไม่ได้กำหนดค่าไว้ข้างหน้าเซนเซอร์วิชั่น เกิดอะไรขึ้น? ขอให้พวกเขาบันทึกผลการค้นพบของตนในสมุดบันทึกวิศวกรรมของตน
ถามนักเรียนก่อนที่จะทำการทดสอบว่าจะเกิดอะไรขึ้นหากพวกเขาวางวัตถุที่กำหนดค่าไว้สามชิ้นไว้ข้างหน้าเซ็นเซอร์วิชั่น ขอให้นักเรียนเขียนคำทำนายของตนลงไปก่อนที่จะทำการทดสอบ ขอให้พวกเขาบันทึกการสังเกตของพวกเขาหลังจากการทดสอบแล้ว

อำนวยความสะดวกในการอภิปรายเกี่ยวกับสิ่งที่นักเรียนทำนายและสังเกต
อำนวยความสะดวกในการอภิปรายโดยถามว่า:
- ความแตกต่างระหว่างวัตถุหนึ่งชิ้น สองชิ้น และสามชิ้นคืออะไร?
- คุณจะปรับโครงการในทางใดทางหนึ่งเพื่อการจดจำวัตถุหลายๆ ชิ้นหรือไม่