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 apparaat zendt een minuscule ultrasone puls uit met de zender aan de ene kant van de sensor, en meet vervolgens hoe lang het duurt voordat het geluid terugkaatst naar de ontvanger aan de andere kant van de sensor. De sensor berekent de afstand op basis van de tijd die de geluidspuls nodig had om heen en terug te reizen. De afstandssensor maakt vervolgens een berekening op basis van de geluidssnelheid om de robot te laten weten hoe ver het dichtstbijzijnde object zich bevindt.
Als het oppervlak niet vlak is, zoals een gebogen muur of een bal, weerkaatst de ultrasone golf niet gelijkmatig of gelijktijdig op alle delen. Het dichtstbijzijnde oppervlak dat groot genoeg is om een waarneembare hoeveelheid van de golf terug te kaatsen, bepaalt de gedetecteerde afstand tot 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. Bekijk de onderstaande animatie om te zien hoe de afstand verandert terwijl de robot rijdt, totdat de afstand kleiner is dan 160 mm.
- Met deze sensor kan een robot naar een object toe rijden zonder het aan te raken. Bekijk deze animatie om te zien hoe twee robots afstandssensoren gebruiken om hun rijgedrag te coördineren.
- 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. Bekijk deze animatie om te zien hoe de robot zich aanpast op basis van de afstand tot een muur.
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
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
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.
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.
Het blok (Afstand vanaf) rapporteert de afstand van het dichtstbijzijnde object tot de afstandssensor. Het rapporteert een bereik van 24 mm tot 1000 mm, oftewel 1 inch tot 40 inch. Het (Afstand van) blok is een rapportageblok dat wordt gebruikt binnen blokken met cirkelvormige ruimtes.
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 programmeren, moet deze verbonden zijn met een VEX IQ (2e generatie) Brain. De VEX IQ (1e generatie) Brain ondersteunt geen Python.
distance_7.is_object_detected()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.
|
| In dit voorbeeld wordt eenWhile lus met een niet voorwaarde gebruikt met de distance.is_object_detected opdracht 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 bovenstaande Python-code. |
afstand_7.afstand(MM)Het commando distance.distance rapporteert de afstand van het dichtstbijzijnde object tot de afstandssensor. Het rapporteert een bereik van 24 mm tot 1000 mm, oftewel 1 inch tot 40 inch.
|
|
In dit voorbeeld wordt een met met opdracht om de robot vooruitlaten rijdende afstandssensor een object detecteert. Als de sensor een object detecteert, stopt de robot met rijden. In dit voorbeeld wordt de opdracht distance.distance gebruikt in combinatie met de opdracht brain.screen.print om de afstand tussen de afstandssensor en een object op het Brain-scherm weer te geven. De opdracht distance.distance wordt ook weergegeven binnen een While lus met een not voorwaarde. Hierdoor zal de robot doorrijden totdat de afstandssensor een object detecteert dat zich op minder dan 50 millimeter afstand bevindt, waarna hij stopt met rijden. Dit wordt getoond in de eerste video hierboven. |