Kuvaus
Tämä anturi ilmoittaa sen ja lähimmän kiinteän esineen välisen etäisyyden (etäisyys 50 mm - 1 m). Se laskee etäisyyden käyttämällä aikaa, joka kuluu ultraääniaaltojen pomppimiseen kohteesta ja palaamiseen anturiin.
Kuinka etäisyysanturi toimii: Etäisyyden kuunteleminen
Etäisyysanturi käyttää samoja periaatteita äänen mittaamiseen kuin kaikuluotainlaitteet. Se lähettää pienen ultraäänipulssin anturin toisella puolella olevalla lähettimellään ja sitten kertoo, kuinka kauan kestää, ennen kuin ääni heijastuu takaisin anturin toisella puolella olevasta vastaanottimesta. Anturi laskee etäisyyden sen perusteella, kuinka kauan äänipulssilta kesti edestakainen matka. Etäisyysanturi laskee sitten äänen nopeuden perusteella, kuinka kaukana lähin kohde on.
Jos pinta ei ole tasainen, kuten kaareva seinä tai pallo, ultraääniaalto ei kimpoa kaikista osista yhtä paljon tai samaan aikaan. Lähin pinta, joka on riittävän suuri heijastamaan takaisin havaittavan määrän aaltoa, määrittää kohteen havaitun etäisyyden.
Etäisyysanturin yleiset käyttötarkoitukset:
Tämä anturi voi havaita, onko sen edessä jokin esine.
Tämä anturi voi mitata sen ja kohteen välisen etäisyyden.
- Robotti voi käyttää tätä anturia ajaakseen tietyn etäisyyden kohteesta. Katso alla oleva animaatio nähdäksesi etäisyyden arvon muuttuvan robotin ajaessa, kunnes etäisyys on alle 160 mm.
- Robotti voi käyttää tätä anturia ajaakseen kohteen luokse koskematta siihen. Katso tämä animaatio nähdäksesi kaksi robottia, jotka käyttävät etäisyysantureita ajonsa koordinoimiseen.
- Tämän anturin antamia arvoja voidaan käyttää robotin nopeuden säätämiseen riippuen siitä, onko se lähellä vai kaukana esineestä tai pinnasta. Katso tämä animaatio nähdäksesi robotin mukautuvan seinään etäisyyden perusteella.
Etäisyysanturin käyttö kilpailurobotissa
- Robotti voi käyttää etäisyysanturia käynnistämään käyttäytymissarjan, kun se on oikeassa paikassa tehdäkseen niin. Robotti voi esimerkiksi ajaa eteenpäin, kunnes se havaitsee olevansa 150 mm:n päässä seinästä, sitten kääntyä 90 astetta ja vapauttaa esineen pisteytysalueelle.
- Etäisyysanturia voidaan käyttää robotin toimintojen käynnistämiseen, kuten pelinappulan poimimiseen, kun esine havaitaan kantaman sisällä.
- Robotti voi käyttää etäisyysanturia ajaakseen kohdetta tai pintaa, kunnes se on tietyn etäisyyden sisällä, koskematta siihen. Tätä voidaan käyttää varmistamaan, että robotti ei kaada pelinappuloita.
- Robotti voi käyttää etäisyysanturia ajaakseen pois kohteesta tai pinnasta, kunnes se on saavuttanut tietyn etäisyyden. Tätä voidaan käyttää välttämään törmäykset muiden kentällä olevien robottien kanssa.
Etäisyysanturin käyttö VEXcode IQ:ssa
Etäisyysanturin lisääminen laitteeksi VEXcode IQ:ssa
Koodataksesi etäisyysanturin VEXcode IQ:ssa, sinun on ensin määritettävä etäisyysanturi. Katso tämä artikkeli saadaksesi lisätietoja anturin määrittämisestä VEXcode IQ:ssa.
Kun anturi on konfiguroitu, Toolboxiin ilmestyvät komennot, joita voit käyttää projektissasi.
Etäisyysanturin koodaus lohkoissa
<Object found> lohko on Boolen raporttilohko, joka raportoi ehdon joko tosi tai epätosi. Boolen lohkot, kuten <Object found> lohko, sopivat lohkojen sisään, joissa on kuusikulmaiset (kuusipuoliset) tulot muille lohkoille.
<Object found> Boolen lohko ilmoittaa 'tosi', jos anturi havaitsee kohteen, ja 'false', jos anturi ei havaitse sitä. Lisätietoja Boolen lohkoista on artikkelissa Ohje tai Block Shapes and Meaning.
Tässä esimerkissä <Object found> lohkoa käytetään [Odota, kunnes] -lohkon kanssa, jotta robotti ajaa eteenpäin, kunnes etäisyysanturi havaitsee kohteen. Kun anturi havaitsee kohteen, robotti lopettaa ajamisen, kuten yllä olevassa kuvassa näkyy.
(Etäisyys) -lohko ilmoittaa lähimmän kohteen etäisyyden etäisyysanturista. Se raportoi alueen 24 mm - 1000 mm tai 1 tuumasta 40 tuumaan. (Etäisyys)-lohko on raportointilohko, jota käytetään ympyröiden välisten lohkojen sisällä.
Tässä esimerkissä (Etäisyys) -lohkoa käytetään [Tulosta]-lohkon kanssa näyttämään Brain-näytössä etäisyysanturin ja kohteen välinen etäisyys. (Etäisyys) -lohko näkyy myös <Less than> lohkon sisällä, joka on {Wait until} lohkon sisällä. Tämä saa robotin ajamaan, kunnes etäisyysanturi havaitsee kohteen alle 50 millimetrin päässä, ja lopettaa sitten ajamisen. Tämä näkyy ensimmäisessä videossa yllä.
Etäisyysanturin koodaus Pythonissa
Huomautus:VEX IQ (1. sukupolvi) -etäisyysanturin koodaamiseksi Pythonilla se on kytkettävä VEX IQ (2. sukupolvi) aivoihin. VEX IQ (1. sukupolvi) -aivot eivät tue Pythonia.
etäisyys_7.on_objekti_havaittu()distance.is_object_detected -komento ilmoittaa 'true', jos kohde havaitaan, ja 'false', jos kohdetta ei havaita.
Huomautus:Komennossa näkyvä etäisyysanturin nimi vastaa kokoonpanossa sille annettua nimeä.
|
| Tässä esimerkissä käytetäänWhile -silmukkaa, jossa on not -ehto, ja komennon distance.is_object_detected kanssa, jotta robotti ajaa eteenpäin, kunnes etäisyysanturi havaitsee kohteen. Kun anturi havaitsee kohteen, robotti pysähtyy, kuten yllä olevassa Python-koodissa on esitetty. |
etäisyys_7.etäisyys(MM)Komento distance.distance ilmoittaa lähimmän kohteen etäisyyden etäisyysanturista. Se raportoi alueen 24 mm - 1000 mm tai 1 tuumasta 40 tuumaan.
|
|
Tässä esimerkissä käytetään While -silmukkaa, jossa on not -ehto, ja komennon distance.is_object_detected kanssa, jotta robotti ajaa eteenpäin, kunnes etäisyysanturi havaitsee kohteen. Kun anturi havaitsee esineen, robotti pysähtyy. Tässä esimerkissä komentoa distance.distance käytetään komennon brain.screen.print kanssa etäisyysanturin ja kohteen välisen etäisyyden näyttämiseksi Brain-näytöllä. Komento distance.distance näytetään myös While -silmukan sisällä, jossa on not -ehto. Tämä saa robotin ajamaan, kunnes etäisyysanturi havaitsee alle 50 millimetrin päässä olevan kohteen, ja pysähtyy sitten. Tämä näkyy yllä olevassa ensimmäisessä videossa. |