De Vision Sensor gebruiken - C++
Toolbox voor leerkrachten
-
Het doel van deze activiteit
Om de Vision Sensor effectief te kunnen gebruiken, moeten leerlingen deze kunnen configureren en afstemmen op de omgeving waarin deze zich bevindt. In de volgende activiteit leren de studenten hoe ze beide kunnen doen.
Voor meer informatie over het programmeren van de Vision Sensor met VEXcode V5, ga naar de helpinformatie voorC++in deVEX-bibliotheek.
Hieronder volgt een overzicht van wat uw leerlingen tijdens deze activiteit zullen doen:
-
Open het voorbeeldproject Objecten detecteren (Vision).
-
Configureer de Vision Sensor.
-
Voer het voorbeeldproject Detecting Objects (Vision) uit.
-
Bespreken en reflecteren.
-
Stel de Vision Sensor af.
Tips voor leraren
Als dit de eerste keer is dat de student VEXcode V5 gebruikt, heeft hij/zij toegangin deVEX-bibliotheek.
Tips voor docenten
-
Automatisch aanvullen gebruiken
Autocomplete is een functie in VEXcode V5 die de rest van de opdracht die u typt voorspelt. Terwijl studenten met VEXcode V5 werken, moedig je ze aan om de functie Automatisch aanvullen te gebruiken als hulp bij desyntaxis.

De artikelen over Automatisch aanvullen voorC++beschrijven hoe u de functie Automatisch aanvullen kunt gebruiken.
Koop de benodigde hardware, uw technische notebook en open VEXcode V5.
| Aantal | Benodigde materialen |
|---|---|
| 1 |
VEX V5 Klaslokaal Starter Kit |
| 1 |
VEXcode V5 (nieuwste versie, Windows, MacOS) |
| 1 |
Technisch notitieboekje |
| 1 |
Een Vision-sensor configureren (Vex-bibliotheek) |
| 1 |
Afstemmen van de Vision Sensor (VEX Library) |
| 1 |
Voorbeeldproject Objecten (Visie) detecteren |
Deze activiteit geeft u de tools om de Vision Sensor te gebruiken.
U kunt de Help (C++) informatie in VEXcode V5 gebruiken om meer te weten te komen over de instructies.
Stap 1: Open een voorbeeldproject
VEXcode V5 bevat veel verschillende voorbeeldprojecten. Je gebruikt er een in deze verkenningstocht.
Open het voorbeeldproject Objecten detecteren (Vision) door de volgende stappen te doorlopen:
- Open het menu Bestand.
- Selecteer Open Voorbeelden.
- Gebruik de filterbalk bovenaan de applicatie en selecteer "Sensing".

Selecteer en open het voorbeeldproject Objects (Vision) detecteren.
![]()
Sla uw project op als Objectdetectie.
- Controleer of de projectnaam Objecten detecteren nu in het venster in het midden van de werkbalk staat.

Tips voor leraren
-
Zorg ervoor dat de studenten Open Voorbeelden hebben geselecteerd in het menu Bestand.
-
Zorg ervoor dat de studenten het voorbeeldproject Objecten detecteren (Vision) hebben geselecteerd. U kunt de studenten erop wijzen dat er op de pagina Open Voorbeelden verschillende keuzes zijn.
-
U kunt leerlingen vragen hun initialen of de naam van hun groep aan de projectnaam toe te voegen. Hiermee kunt u de programma's differentiëren als u de studenten vraagt om deze in te dienen.
-
Omdat VEXcode V5 automatisch opslaan ondersteunt, hoeft u het project niet opnieuw op te slaan nadat u het voor de eerste keer hebt opgeslagen.
-
Als studenten hulp nodig hebben bij het sparen, verwijs ze dan naar een van de volgende artikelen:
Stap 2: Configureren en gebruiken van de Vision-sensor
- Begin met het lezen vanVision Sensor - Robot Config - VEXcode
- Lees vervolgensVision Sensor Aanpassingen-Robot Configuratie-VEXcode V5
- Configureer vervolgens de Vision Sensor voor drie gekleurde objecten: rood, groen en blauw.
Open het eerder opgeslagen voorbeeldproject Detecting Objects (Vision).
Hoe wordt de Vision-sensor in dit project gebruikt? Voorspel wat er gebeurt wanneer het project wordt uitgevoerd en noteer de voorspellingen in uw technische notitieblok.
#include "vex.h"
met behulp van namespace vex;
event checkBlue = event();
event checkRed = event();
event checkGreen = event();
// Zal controleren of er een blauw object is in het zicht van de Vision
// Sensor en de resultaten weergeven op regel 1 van het scherm van de V5 Brain.
void heeft 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");
} }
// Zal controleren of er een rood object in het zicht van de Vision
// Sensor is en de resultaten weergeven op regel 3 van het scherm van de V5 Brain.
void heeft 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");
} }
// Zal controleren of er een groen object in het zicht van de Vision
// Sensor is en de resultaten weergeven op regel 5 van het scherm van de V5 Brain.
void heeft 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 projectcode
int main() {
// Initializing Robot Configuration. NIET VERWIJDEREN!
vexcodeInit ();
// Registreer event handlers
checkBlue (hasBlueCallback); checkRed
(hasRedCallback); checkGreen
(hasGreenCallback);
// Kleine vertraging om ervoor te zorgen dat de event handlers klaar zijn om te worden gebruikt,
wacht(15, msec);
// Stel het afdruklettertype voor alle toekomstige afdrukken in op het
V5-scherm Brain.Screen.setFont (mono40);
//Voer voortdurend uit om te controleren op nieuwe sensorgegevens
terwijl (true)
{checkBlue.broadcastAndWait ()
; checkRed.broadcastAndWait ()
; checkGreen.broadcastAndWait ();
wait(0.1, seconds);
}
}- Download en voerhet project uit. Plaats verschillende gekleurde objecten voor de Vision Sensor en observeer het gedrag van de robot. Noteer in uw technische notitieboekje hoe uw voorspelling anders of correct was in vergelijking met wat u daadwerkelijk hebt waargenomen in het project.
Tips voor leraren
De drie gekleurde objecten hoeven geen kubussen te zijn. Het kunnen ook relatief kleine groene, rode en blauwe objecten zijn.
Motiveer Discussie
-
Antwoorden
Leid een discussie in de klas, waarbij de leerlingen in hun technische notitieboekje vertellen wat ze van dit project verwachten en hoe ze de Vision Sensor moeten configureren.
Leid de discussie door de volgende vragen te stellen:
-
Wat zijn de stappen voor het configureren van de Vision Sensor?
-
Wat doet deif then else structuur?
-
Wat zou er gebeuren met de manier waarop de Vision Sensor objecten detecteert als we van kamer veranderen?
De antwoorden zullen variëren:
-
De studenten moeten er rekening mee houden dat ze zelf een naam voor het object moeten bedenken. Plaats het object in het frame van de Vision Sensor en zet het vast met de knop "Freeze". Vervolgens wordt de kleur geselecteerd en geconfigureerd via de knop "Instellen". De studenten moeten de stappen diedit artikel staantoelichten.
-
De structuurif then elsevoert de instructies uit in het eerste of tweede deel van deif then elseop basis van de gerapporteerde Booleaanse waarde. Meer informatie over het gebruik van deze instructie vindt u in de Help-informatie.
-
Als de Vision Sensor objecten in een andere omgeving moet detecteren, kan de verlichting veranderen en kunnen de kleuren van de objecten er anders uitzien. Hierdoor kan het voor de Vision Sensor lastig zijn om objecten te detecteren.
Breid uw leerproces uit
-
Configureer meer objecten
Kies twee andere gekleurde objecten om te configureren, bijvoorbeeld wit, paars, geel, etc.

Als de studenten hulp nodig hebben, verwijs ze dan naar de informatieHelpof het artikel Een V5 Vision Sensor configureren.
Stap 3: De zichtsensor afstemmen
Vaak wordt een object geconfigureerd om door de Vision Sensor in één omgeving te worden herkend, bijvoorbeeld in een klaslokaal. Wanneer de Vision Sensor vervolgens in een andere omgeving wordt gebracht, zoals een wedstrijdomgeving, wordt het object mogelijk niet herkend door de Vision Sensor. Dit komt vaak doordat de verlichting verandert nadat de Vision Sensor al geconfigureerd is. Om dit probleem op te lossen, moet u mogelijk uw Vision-sensor afstemmen.
- Begin met het lezen vanDe V5 Vision Sensor in VEXcode V5aanpassen.
- Pas vervolgens de Vision Sensor aan voor de drie gekleurde objecten: rood, groen en blauw.
Open het eerder opgeslagen voorbeeldproject Detecting Objects (Vision).
Hoe zal het afstemmen van de Vision Sensor invloed hebben op hoe goed het objecten kan detecteren? Breng de Clawbot naar een ander deel van de kamer met meer of minder licht.
- Download en voerhet project uit. Plaats verschillende gekleurde objecten voor de Vision Sensor en observeer het gedrag van de robot. Documenteer in uw technische notebook hoe goed de Vision Sensor objecten detecteert. Moet de Vision-sensor worden afgestemd nadat deze van locatie is veranderd?
- Stel de Vision Sensor zo nodig af. Test de Vision Sensor nadat deze is afgesteld om te bepalen of deze objecten beter kan detecteren en indien nodig kan aanpassen.
Motiveren Discussie
-
Reflecteren op de activiteit
V:Heeft de Vision Sensor objecten gedetecteerd zoals u verwachtte?
A:De antwoorden zullen variëren, maar het doel van deze vraag is om het cognitieve denken te bevorderen. Studenten moeten er rekening mee houden dat het vermogen van de Vision Sensor om objecten te detecteren kan veranderen, afhankelijk van de omgeving en het licht.
V:Waarom is het belangrijk om de Vision Sensor naar behoefte te kunnen afstemmen?
A:Hoewel de antwoorden kunnen variëren, zou een veelvoorkomend antwoord moeten zijn dat als een robot een Vision Sensor gebruikt en meedoet aan een wedstrijd of zelfs wordt gebruikt in een spel of uitdaging, de prestaties van de robot afhangen van de nauwkeurigheid van de Vision Sensor. Het afstemmen ervan is belangrijk voor de nauwkeurigheid.
Breid uw leerproces uit
-
Meerdere objecten
Vraag de studenten om het project Objecten detecteren (Vision) uit te voeren en meer dan één van de geconfigureerde objecten voor de Vision Sensor te plaatsen. Wat gebeurt er? Vraag ze om hun bevindingen te documenteren in hun technisch notitieboekje. Vraag de studenten
om één geconfigureerd object en één onbekend of niet-geconfigureerd object voor de Vision Sensor te plaatsen. Wat gebeurt er? Vraag ze om hun bevindingen te documenteren in hun technisch notitieboekje.
Vraag de studenten, voordat ze het gaan testen, wat er zou gebeuren als ze drie geconfigureerde objecten voor de Vision Sensor zouden plaatsen? Vraag de leerlingen om hun voorspellingen op te schrijven voordat ze de test uitvoeren. Vraag hen om hun observaties vast te leggen nadat ze het getest hebben.

Leid een discussie over wat de studenten voorspelden en observeerden.
Leid de discussie door de volgende vragen te stellen:
- Wat waren de verschillen tussen één, twee en drie objecten?
- Zou u het project op enigerlei wijze aanpassen om meerdere objecten te kunnen herkennen?