Gebruik van de VEX IQ (1e generatie) afstandssensor

Beschrijving

Deze sensor rapporteert de afstand tussen hem en het dichtstbijzijnde vaste object (bereik 50 mm - 1 m). Het berekent de afstand door gebruik te maken van de tijd die ultrasone golven nodig hebben om van een object te weerkaatsen en terug te keren naar de sensor.


Hoe de afstandssensor werkt: luisteren naar afstand

De afstandssensor gebruikt dezelfde principes als sonarapparaten om geluid te meten. Het zendt een kleine ultrageluidpuls uit met de zender aan de ene kant van de sensor, en vermenigvuldigt vervolgens hoe lang het duurt voordat het geluid wordt teruggekaatst naar de ontvanger aan de andere kant van de sensor. De sensor berekent de afstand op basis van hoe lang de geluidspuls duurde om de heen- en terugreis te maken. De afstandssensor maakt vervolgens een berekening op basis van de geluidssnelheid om het robotbrein te vertellen hoe ver het dichtstbijzijnde object is. 

Als het oppervlak niet vlak is, zoals een gebogen muur of een bal, stuitert de ultrasone golf niet op alle delen gelijkmatig of tegelijkertijd terug. Het dichtstbijzijnde oppervlak dat groot genoeg is om een ​​detecteerbare hoeveelheid van de golf terug te reflecteren, bepaalt de gedetecteerde afstand van het object.


Algemeen gebruik van de afstandssensor:

Deze sensor kan detecteren of er een object voor zich staat.

Deze sensor kan de afstand tussen hem en een object meten.

  • Met deze sensor kan een robot een bepaalde afstand van een object afrijden.

  • Met deze sensor kan een robot naar een object toe rijden zonder het aan te raken.

  • De waarden van deze sensor kunnen worden gebruikt om de snelheid van de robot aan te passen, afhankelijk van of deze zich dichtbij of ver weg van een object of oppervlak bevindt.

Gebruik van de afstandssensor op een wedstrijdrobot

  • De robot kan de afstandssensor gebruiken om een ​​reeks gedragingen te initiëren wanneer hij zich op de juiste plaats bevindt om dat te doen. De robot kan bijvoorbeeld vooruit rijden totdat hij detecteert dat hij 150 mm van een muur verwijderd is, vervolgens 90 graden draaien en een object in een scorezone loslaten.  
  • De afstandssensor kan worden gebruikt om robotacties te activeren, zoals het oppakken van een spelstuk, wanneer een object binnen bereik wordt gedetecteerd.
  • De robot kan de afstandssensor gebruiken om naar een object of oppervlak te rijden totdat dit zich binnen een bepaalde afstand bevindt, zonder het aan te raken. Dit kan worden gebruikt om ervoor te zorgen dat de robot de spelstukken niet omver gooit.
  • Een robot kan de Afstandssensor gebruiken om weg te rijden van een object of oppervlak totdat deze een bepaalde afstand heeft bereikt. Dit kan worden gebruikt om botsingen met andere robots op het veld te voorkomen.

Gebruik van de afstandssensor in VEXcode IQ

De afstandssensor toevoegen als apparaat in VEXcode IQ

Screen_Shot_2023-03-01_at_10.40.38_AM.png

Om de afstandssensor in VEXcode IQ te coderen, moet u eerst de afstandssensor configureren. Bekijk dit artikel voor meer informatie over het configureren van een sensor in VEXcode IQ.

Zodra de sensor is geconfigureerd, verschijnen er opdrachten in de Toolbox die u in uw project kunt gebruiken.

Codering van de afstandssensor in blokken

Screen_Shot_2023-03-01_at_10.43.09_AM.png

Het <Object found> blok is een Booleaans reporterblok dat een voorwaarde rapporteert als waar of onwaar. Booleaanse blokken, zoals het <Object found> blok, passen in blokken met zeshoekige (zeszijdige) ingangen voor andere blokken.

Het <Object found> Booleaanse blok rapporteert 'true' als de sensor een object detecteert, en 'false' als de sensor dat niet doet. Voor meer informatie over Booleaanse blokken gaat u naar het artikel Help of het artikel Blokvormen en betekenis.

 

Screenshot_2023-02-28_at_1.07.13_PM.png

In dit voorbeeld wordt het <Object found> blok gebruikt met een [Wacht tot]-blok om de robot vooruit te laten rijden totdat de afstandssensor een object detecteert. Wanneer de sensor een object detecteert, stopt de robot met rijden, zoals weergegeven in de afbeelding hierboven. 

Screen_Shot_2023-03-01_at_11.03.40_AM.png

Het blok (Afstand vanaf) rapporteert de afstand van het dichtstbijzijnde object tot de afstandssensor. Het rapporteert een bereik vanmm tot 1000 mm, of 1 inch tot 40 inch. Het (Afstand van) blok is een reporterblok dat wordt gebruikt binnen blokken met cirkelvormige ruimtes.

 

Screen_Shot_2023-03-01_at_11.13.38_AM.png

In dit voorbeeld wordt het blok (Afstand vanaf) gebruikt met een blok [Afdrukken] om op het hersenscherm de afstand tussen de afstandssensor en een object weer te geven. Het blok (Afstand vanaf) wordt ook weergegeven binnen een <Less than> blok dat zich binnen een {Wait until} blok bevindt. Hierdoor zal de robot rijden totdat de afstandssensor een object op minder dan 50 millimeter afstand detecteert, en dan stoppen met rijden. Dit is te zien in de eerste video hierboven.

Codering van de afstandssensor in Python

Opmerking:Om een ​​VEX IQ (1e generatie) afstandssensor in Python te coderen, moet deze worden aangesloten op een VEX IQ (2e generatie) Brain. De VEX IQ (1e generatie) Brain ondersteunt geen Python.

Screen_Shot_2023-03-01_at_11.31.30_AM.png

De opdracht rapporteert een Booleaanse waarde van waar of onwaar over de bumperschakelaar. 

Het commando distance.is_object_detected rapporteert 'true' als een object wordt gedetecteerd, en 'false' als een object niet wordt gedetecteerd.

Opmerking:De naam van de afstandssensor die in het commando verschijnt, komt overeen met de naam die deze in de configuratie krijgt. 

 

Screen_Shot_2023-03-01_at_11.52.29_AM.png

In dit voorbeeld wordt eenWhile lus met een en niet voorwaarde gebruikt met de opdracht distance.is_object_detected om de robot vooruit te laten rijden totdat de afstandssensor een object detecteert. Wanneer de sensor een object detecteert, stopt de robot met rijden, zoals weergegeven in de afbeelding hierboven.

Screen_Shot_2023-03-01_at_11.56.14_AM.png

Het commando distance.distance rapporteert de afstand van het dichtstbijzijnde object tot de afstandssensor. Het rapporteert een bereik vanmm tot 1000 mm, of 1 inch tot 40 inch.

Screen_Shot_2023-03-01_at_12.03.41_PM.png

In dit voorbeeld wordt een While -lus met een voorwaarde en niet gebruikt met de opdracht distance.is_object_detected om de robot vooruit te laten rijden totdat de afstandssensor een object detecteert. Wanneer de sensor een object detecteert, stopt de robot met rijden.

In dit voorbeeld wordt het commando distance.distance gebruikt met het commando brain.screen.print om op het Brain-scherm de afstand tussen de afstandssensor en een object weer te geven. Het commando distance.distance wordt ook weergegeven in een While lus met een en niet voorwaarde. Hierdoor zal de robot rijden totdat de afstandssensor een object op minder dan 50 millimeter afstand detecteert, en dan stoppen met rijden. Dit is te zien in de eerste video hierboven.

Voor meer informatie over het coderen van een afstandssensor in Python, bekijk Unit 5 van de cursus Computerwetenschappen Niveau 1 - Python. 

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

Last Updated: