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 kuin luotainlaitteet äänen mittaamiseen. Se lähettää pienen ultraäänipulssin, jonka lähettäjä on anturin toisella puolella, ja kertoo sitten kuinka kauan kestää, että ääni heijastuu takaisin anturin toisella puolella olevaan vastaanottimeen. Anturi laskee etäisyyden sen perusteella, kuinka kauan äänipulssilla meni edestakainen matka. Etäisyysanturi tekee sitten äänen nopeuteen perustuvan laskelman kertoakseen robotin aivoille, kuinka kaukana lähin esine on.
Jos pinta ei ole tasainen kuin kaareva seinä tai pallo, ultraääniaalto ei ponnahda kaikista osista tasaisesti tai samanaikaisesti. Lähin pinta, joka on riittävän suuri heijastamaan takaisin havaittavan määrän aaltoa, määrittää havaitun etäisyyden kohteesta.
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.
- Robotti voi käyttää tätä anturia ajaakseen kohteen luokse koskematta siihen.
- 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.
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 ilmoittaa alueen24 mm - 1 000 mm tai 1 tuuma - 40 tuumaa. (Etäisyys) -lohko on reportterilohko, jota käytetään ympyränmuotoisten välilyöntien 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. sukupolven) etäisyysanturin koodaamiseksi Pythonissa se on liitettävä VEX IQ (2. sukupolvi) Brainiin. VEX IQ (1. sukupolvi) Brain ei tue Pythonia.
-komento raportoi puskurikytkimen Boolen arvon joko tosi tai epätosi.
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äWhile -silmukkaa ehdolla not käytetään distance.is_object_detected -komennon kanssa, jotta robotti ajaa eteenpäin, kunnes etäisyysanturi havaitsee kohteen. Kun anturi havaitsee kohteen, robotti lopettaa ajamisen, kuten yllä olevassa kuvassa näkyy.
Komento distance.distance ilmoittaa lähimmän kohteen etäisyyden etäisyysanturista. Se ilmoittaa alueen24 mm - 1 000 mm tai 1 tuuma - 40 tuumaa.
Tässä esimerkissä While -silmukkaa ehdolla not käytetään distance.is_object_detected -komennon kanssa, jotta robotti ajaa eteenpäin, kunnes etäisyysanturi havaitsee kohteen. Kun anturi havaitsee kohteen, robotti lopettaa ajamisen.
Tässä esimerkissä distance.distance -komentoa käytetään brain.screen.print -komennon kanssa näyttämään Brain-näytössä etäisyysanturin ja kohteen välinen etäisyys. Komento distance.distance näkyy myös While -silmukan sisällä ehdolla ei . 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ä.