Använda ögonsensorn i VEXcode VR med Python

VEX VR-roboten har en mängd sensorer, inklusive två ögonsensorer.


Ögonsensorer på VR-roboten

Skärmdump av VEXcode VR-gränssnittet som visar en blockbaserad kodningsmiljö för programmering av en virtuell robot, utformad för att stödja STEM-utbildning genom kodningshandledningar och problemlösningsaktiviteter.

VR-roboten har två ögonsensorer, en som är vänd framåt och en annan som är vänd nedåt. Sensorerna kan detektera om det finns ett föremål i närheten samt detektera färg (rött, grönt, blått, ingen).

Skärmdump av VEXcode VR-gränssnittet som visar den blockbaserade kodningsmiljön, utformad för att lära ut kodningskoncept genom virtuell robotik, som en del av avsnittet Handledningar.

Ögonsensorns värden kan visas på instrumentpanelen i VEXcode VR. För att lära dig mer om instrumentpanelen, läs den här artikeln.

Skärmdump av VEXcode VR-gränssnittet som visar en blockbaserad kodningsmiljö för programmering av en virtuell robot, utformad för utbildningsändamål inom STEM-inlärning.

Ögonsensorns värden kan visas på monitorkonsolen i VEXcode VR. För att lära dig mer om monitorkonsolen, läs den här artikeln.


Kommandon som används med ögonsensorerna

Ögonsensor nära objekt kommando

Skärmdump av VEXcode VR-handledningsgränssnittet, som visar blockbaserade kodningsalternativ för programmering av en virtuell robot, som syftar till att lära ut kodningskoncept och robotikprinciper till elever och lärare i ett STEM-utbildningssammanhang.

 

Kommandot Ögonsensornära objekt rapporterar om ögonsensorn är tillräckligt nära ett objekt för att detektera en färg (röd, grön, blå, ingen). Sensorn för framögat och sensorn för nedögat har respektive kommandon för närobjekt.

Skärmdump av VEXcode VR-gränssnittet som visar en blockbaserad kodningsmiljö, utformad för att lära ut kodningskoncept genom en virtuell robot, som finns i avsnittet Handledningar.

Kommandot Eye sensornear object returnerar ett booleskt värde som rapporterar True när ögonsensorn är nära ett objekt som har detekterbara färger, och rapporterar False när den inte är tillräckligt nära ett objekt med detekterbara färger.

Ögonsensorfärg kommando

Skärmdump av VEXcode VR-gränssnittet som visar den blockbaserade kodningsmiljön, utformad för att lära ut kodningskoncept genom virtuell robotik, med verktyg för att skapa, testa och felsöka kod i en simulerad miljö.

KommandotÖgonsensorfärg rapporterar om ögonsensorn detekterar en specifik färg.

Skärmdump av VEXcode VR-gränssnittet som visar den blockbaserade kodningsmiljön, utformad för att lära ut kodningskoncept genom virtuell robotik, som en del av avsnittet Handledningar.

Färgen som ögonsensorn letar efter anges som kommandots parameter. Båda ögonsensorerna kan detektera rött, grönt, blått eller inget alls.

Skärmdump av VEXcode VR-gränssnittet som visar en blockbaserad kodningsmiljö, utformad för att lära ut kodningskoncept genom virtuell robotprogrammering, med alternativ för både nybörjare och avancerade användare.

Kommandot Eye sensor color returnerar ett booleskt värde som rapporterar True när ögonsensorn detekterar den valda färgen, och rapporterar False när den inte detekterar färgen som är inställd som parameter.


Vanliga användningsområden för ögonsensorn

Skärmdump av VEXcode VR-handledningsgränssnittet, som visar den blockbaserade kodningsmiljön som är utformad för att lära ut kodningskoncept genom en virtuell robot, med syfte att förbättra problemlösnings- och beräkningsmässigt tänkande inom STEM-utbildning.

Ögonsensorerna på VR-roboten kan användas på många sätt. En sak att notera med Down Eye-sensorn är att den är inställd för att inte upptäcka golvet på en lekplats som ett objekt. Andra objekt, såsom diskar, kommer att registreras som ett objekt.

Ögonsensorerna kan upptäcka färgen på ett objekt nära sensorn, till exempel de färgade skivorna i Diskflyttarens lekplats eller den röda kanten runt Slottskrossarens lekplats. Detta är användbart om du vill att VR-roboten ska sortera objekt i olika färger, köra fram till ett objekt med en specifik färg eller upptäcka färgen på objekt när de passerar förbi sensorn.

def main():
medan inte down_eye.detect(BLUE):
drivetrain.drive(FRAMÅT)
wait(5, MSEC)
drivetrain.stop()
magnet.energize(BOOST)

För att använda exemplet ovan, kopiera den här koden till VEXcode VR och kör projektet på Disk Mover Playground.

Skärmdump av VEXcode VR-handledningsgränssnittet, som visar blockbaserade kodningsalternativ och en virtuell robot, utformad för att hjälpa användare att lära sig kodningskoncept och robotikprinciper i en utbildningsmiljö.

VR-roboten kan använda ögonsensorerna för att initiera en sekvens av beteenden när den är på rätt plats att göra det. Till exempel kan VR-roboten köra framåt tills den upptäcker att den är nära ett föremål, till exempel en vägg, sedan svänga 90 grader, eller köra bakåt för att inte krocka med ett föremål, till exempel ett slott, en disk eller en vägg.

def main():
medan inte front_eye.near_object():
drivetrain.drive(FRAMÅT)
wait(5, MSEC)
drivetrain.stop()

För att använda exemplet ovan, kopiera den här koden till VEXcode VR och kör projektet på Wall Maze Playground.

Skärmdump av VEXcode VR-gränssnittet som visar en blockbaserad kodningsmiljö för programmering av en virtuell robot, utformad för utbildningsändamål inom STEM, med handledningar för kodningskoncept och robotikprinciper.

VR-roboten kan använda ögonsensorerna för att köra mot ett objekt eller en yta tills den är inom ett visst avstånd, utan att vidröra den. Detta kan användas för att se till att VR-roboten inte faller av en lekplats eller kraschar in i väggar.

def main():
drivetrain.drive_for(FRAMÅT, 300, MM)
drivetrain.turn_for(VÄNSTER, 90, GRADER)
while not down_eye.detect(RED):
drivetrain.drive(FRAMÅT)
wait(5, MSEC)
drivetrain.stop()

För att använda exemplet ovan, kopiera den här koden till VEXcode VR och kör projektet på Castle Crasher Playground.


Exempelprojekt för ögonsensorer

Skärmdump av VEXcode VR-gränssnittet som visar blockbaserade kodningsalternativ och en virtuell robot, vilket illustrerar plattformens utbildningsverktyg för kodning, problemlösning och robotikprinciper i ett handledningssammanhang.

I följande exempel kommer VR-roboten att köra framåt tills den främre ögonsensorn detekterar ett grönt föremål, sedan stannar den och väntar innan den backar. Observera att i instrumentpanelen rapporterar värdena för den främre ögonsensorn True att ett objekt detekterades, och färgen på det objektet (disken) är grön.

def main():
drivetrain.drive(FRAMÅT)
while True:
if front_eye.detect(GRÖN):
drivetrain.stop()
wait(2, SEKUNDER)
drivetrain.drive_for(BAKÅT, 200, MM)
wait(5, MSEC)

För att använda exemplet ovan, kopiera den här koden till VEXcode VR och kör projektet på Disk Maze Playground.

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

Last Updated: