Använda avståndssensor med VEX EXP

Avståndssensorn är en av de kraftfulla sensorerna som är utformad för fullständig integration med EXP-robotplattformen. Den här sensorn använder en puls av klassrumssäkert laserljus för att mäta avståndet från sensorns framsida till ett objekt.

VEX avståndssensordel.


Beskrivning av sensorn

Avståndssensorn har följande funktioner:

  • Mätning av avstånd: Sensorn använder en puls av klassrumssäkert laserljus för att mäta avståndet från sensorns framsida till ett objekt. Avståndet rapporteras i tum eller centimeter på hjärnans sensorpanel och i tum eller millimeter i VEXcode EXP.
  • Detektera objekt: Sensorn kan också användas för att detektera när den är nära ett objekt.
  • Bestäm objektets relativa storlek: Sensorn kan också användas för att bestämma den relativa storleken på ett objekt som har detekterats. Den ungefärliga storleken på ett objekt rapporteras som liten, medelstor eller stor.
  • Rapportera objekthastighet: Sensorn kan användas för att beräkna och rapportera hastigheten i meter per sekund för ett objekt som närmar sig sensorn, eller för att sensorn närmar sig ett objekt.

Diagram över en avståndssensor som fästs på ett stödstycke med två skruvar.

Baksidan av sensorns hölje har fem hål för att ge flexibilitet vid montering av sensorn på en robot.

Avståndssensordel med dess avkänningsfönster markerat. Fönstret är placerat något på framsidan av sensorn. En etikett lyder Fönster för laser.

På sensorns framsida finns ett litet fönster där laserstrålen skickas ut och sedan tas emot för att mäta avstånd.

Diagram över en EXP Brain ansluten till en VEX-avståndssensor.

För att avståndssensorn ska fungera med EXP Brain måste sensorns Smart Port och en EXP Brains Smart Port vara anslutna med en Smart Cable.

Sensorn fungerar med vilken som helst av de 10 Smart Ports på EXP Brain.

När du ansluter en EXP Smart Cable till portarna, se till att kabelns kontakt är helt isatt i porten och att kontaktens låsflik är helt låst.


Hur avståndssensorn fungerar

Avståndssensorn skickar ut en puls av klassrumssäkert laserljus och mäter hur lång tid det tar för pulsen att reflekteras. Detta möjliggör en beräkning av avstånd.

Sensorns klass 1-laser liknar de lasrar som används på moderna mobiltelefoner för huvuddetektering. Lasern gör att sensorn har ett mycket smalt synfält, så detekteringen sker alltid direkt framför sensorn.

Sensorns mätområde är 20 millimeter (mm) till 2 000 millimeter (mm) (0,79 tum till 78,74 tum). Under 200 millimeter (mm) är noggrannheten cirka +/-15 millimeter (mm); över 200 millimeter (mm) är noggrannheten cirka 5 %.

Avståndssensorn måste paras ihop med VEXcode EXP för att skapa ett användarprogram för EXP Brain för att använda sensorns avläsningar för att styra robotens beteende.

EXP Brain i samverkan med ett användarprojekt kan användas för att konvertera avståndssensorns avläsningar till:

  • Avstånd till ett objekt mätt i centimeter, millimeter eller tum.
  • Objektets hastighet i meter per sekund.
  • Objektstorleken är liten, medelstor eller stor.
  • Föremål hittat.

Installation av avståndssensorn

Placering

BaseBot-bygge som har en ansluten avståndssensor som är markerad och pekar framför roboten.

Placeringen av avståndssensorn är mycket viktig för att få noggranna avläsningar.

Se till att ingen struktur på roboten befinner sig framför den lilla sensorns fönster på sensorns framsida.

Det måste finnas en tydlig väg framför sensorn mellan objektet som mäts och sensorn.

Avläsningsavståndssensorvärden

Hjärnskärmen visas i Enheter-menyn med en avståndssensor vald.

Det är bra att använda skärmen Enheter på EXP Brain för att se informationen som avståndssensorn rapporterar.

Från sensoröversikten rapporterar avståndssensorn avståndet till närmaste objekt i antingen tum eller centimeter.

Enheterna kan ändras genom att välja knappen Kontrollera på Brain för att växla mellan tum och centimeter.

För att använda sensoröversikten, följ stegen i den här artikeln. 


Lägga till avståndssensorn som en enhet i VEXcode EXP

När en sensor används med ett programmeringsspråk måste den konfigureras inom det språket. 

VEXcode EXP Enheter-menyn efter att knappen Lägg till en enhet har valts. Alternativet Avstånd är markerat.

Med VEXcode EXP görs detta genom att använda funktionen "Lägg till en enhet" i fönstret Enheter.

För att lägga till avståndssensorn i konfigurationen, följ stegen i den här artikeln. 

Skärmdump av VEXcode EXP med Enheter-menyn öppen. En ansluten avståndssensor listas och markeras i menyn Enheter. Blockverktygslådan är öppen och kategorin Avståndsavkänning för block är markerad.

När avståndssensorn har lagts till i ditt projekt blir en ny uppsättning sensorblock tillgängliga.

För mer information om blocken från kategorin 'Avkänning' som gäller avståndssensorn, se hjälpinformationen (Blockprojekt).


Vanliga användningsområden för avståndssensorn

Avståndssensorn kan producera flera mätningar som kan användas för att ändra robotens beteende. Dessa funktioner inkluderar:

Identifiera ett objekt

VEXcode EXP blockerar ett projekt som använder en avståndssensor för att hitta ett objekt och sedan köra mot det. Projektet lyder När du startat, sväng höger, vänta tills Distance7 hittat ett objekt och kör sedan framåt i 400 mm.

Den här funktionen gör att din robot kan upptäcka ett objekt när det kommer inom avståndssensorns räckvidd. Avståndssensorn rapporterar ett hittat föremål när det är ungefär mindre än 1000 mm bort.

Exempelprojektet som visas till vänster används för att programmera en robot med en avståndssensor monterad på framsidan att svänga tills den detekterar ett föremål, till exempel en kub, och sedan köra framåt när föremålet detekterats av sensorn.

Avstånd till ett objekt

VEXcode EXP blockerar ett projekt som använder en avståndssensor för att köra roboten mot ett objekt och sedan använder klon för att gripa tag i det. Projektet visar När du startat, kör framåt och vänta sedan tills objektavståndet Distance7 i mm är mindre än 75. Slutligen, sluta köra och vrid ClawMotor tills den är stängd i 25 grader.

Detta ger en mätning mellan sensorns framsida och ett objekt eller en barriär/vägg.

Exempelprojektet som visas till vänster används för att koda en robot med en avståndssensor monterad på framsidan och en klo fäst. Roboten kör tills den upptäcker att ett föremål är mindre än 75 mm från sensorn, och stänger sedan klon runt föremålet. Det här exemplet skulle vara användbart om man vet att det finns ett föremål framför roboten och man vill att roboten ska köra framåt för att hämta föremålet. 

För att avgöra hur långt ett objekt är från sensorn och använda den parametern i projektet, använd Sensor Dashboard på EXP Brain. Se den här artikeln för mer information om hur du använder sensorpanelen.

Rapportera objektets hastighet

VEXcode EXP-blockprojekt som använder en avståndssensor och utskriftsblock för att rapportera ett objekts hastighet live. Projektet visar När det startas, sätt utskriftsprecisionen till 0,1 på Brain. Nästa är en Forever-slinga med 5 block i. De 5 blocken läser Rensa alla rader på hjärnan, sätt markören till rad 1 kolumn 1 på hjärnan, skriv ut Distance7 hittade ett objekt på hjärnan och sätt markören till nästa rad, skriv ut Distance7 objekthastighet i m/s på hjärnan och vänta slutligen 0,25 sekunder.

Den här funktionen mäter hastigheten i meter per sekund för ett objekt som närmar sig sensorn, eller för att sensorn närmar sig ett objekt.

För att observera hastighetsförändringen med ett närmande objekt kan exemplet till vänster användas. I det här projektet kommer information att skrivas ut på hjärnans skärm. Hjärnan skriver ut när ett objekt detekteras av avståndssensorn och objektets hastighet i meter/sekund. För att se de förändrade siffrorna mer exakt är utskriftsprecisionen inställd på 0,1. 

Testa det här projektet genom att flytta en kub närmare och längre bort från sensorn. När objektet och/eller sensorn rör sig bort från varandra kommer hastighetsvärdena att vara negativa.

Bestäm objektets relativa storlek

VEXcode EXP-blockprojekt som använder en avståndssensor och utskriftsblock för att rapportera ett objekts storlek live. Projektet består av ett When started-block följt av en Forever-loop som innehåller 13 kommandon. De tre första kommandona i Forever-slingan läser Rensa alla rader i hjärnan, sätt markören till rad 1 kolumn 1 i hjärnan och skriv ut Objektstorlek i hjärnan och sätt markören till nästa rad. Nästa är ett Om-block som läser Om Distance7 hittade ett objekt? Inuti detta första If-block finns ett andra som är kopplat till en Else if-sats och en Else-sats. Dessa inre If-satser tillsammans lyder: Om Distance7-objektstorleken är liten, skriv då Liten på hjärnan, annars om Distance7-objektstorleken är medelstor, skriv då Medium på hjärnan, och annars skriv Stor på hjärnan. Det första If-blocket följs av en Else-sats som läser *else print*. Slutligen, utanför båda If-satserna finns det ett Wait-block som visar Wait 0,25 sekunder.

Den här funktionen gör att din robot kan identifiera ett objekt som litet, medelstort eller stort beroende på sensorns avläsning.

Det här exemplet till vänster använder blocken [If then else] och [Print] för att skriva ut den relativa storleken på ett objekt i hjärnan. Placera olika föremål framför sensorn och titta på avläsningarna på hjärnans skärm för att se storleksidentifieringen i realtid.

För att bestämma ett objekts relativa storlek använder sensorn information om mängden ljus som reflekteras tillbaka vid sensorn. Föremål bör placeras mellan 100 mm och 300 mm (cirka 4–12 tum) från sensorn för att få en så exakt representation av storleken som möjligt.

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

Last Updated: