A VEX IQ (1. generációs) távolságérzékelő használata

Leírás

Ez az érzékelő jelzi a távolságot közte és a legközelebbi szilárd tárgy között (50 mm - 1 m tartomány). A távolságot úgy számítja ki, hogy felhasználja azt az időt, amely alatt az ultrahanghullámok visszapattannak egy tárgyról, és visszatérnek az érzékelőhöz.

VEX IQ (1. generációs) távolságérzékelő darab.

Hogyan működik a távolságérzékelő: Távolság figyelése

A távolságérzékelő ábrája ultrahangot küld ki egy zöld kockába, majd veszi a visszavert hangot.

A távolságérzékelő ugyanazokat az elveket használja a hang mérésére, mint a szonár eszközök. Egy apró ultrahangimpulzust küld ki az érzékelő egyik oldalán lévő adójával, majd megszorozza, mennyi időbe telik, amíg a hang visszaverődik az érzékelő másik oldalán lévő vevőről. Az érzékelő a távolságot a hangimpulzus oda-vissza útjának időtartama alapján számítja ki. A távolságérzékelő ezután a hangsebesség alapján számítást végez, hogy megmondja a robot agyának, milyen messze van a legközelebbi tárgy. 

Ha a felület nem sík, mint egy ívelt fal vagy egy labda, az ultrahangos hullám nem verődik vissza minden részről egyformán vagy egyszerre. A tárgy detektált távolságát az a legközelebbi felület határozza meg, amely elég nagy ahhoz, hogy a hullám kimutatható mennyiségét visszaverje.


A távolságérzékelő általános felhasználási területei:

VEXcode IQ Objektum található blokk, amely a következőt írja: Távolság talált egy objektumot?
Két ábra. Fent a távolságérzékelő egy közeli zöld kocka felé mutat, és egy pipa jelöli. Lent a távolságérzékelő nem mutat semmi közeli tárgyra, és egy X szimbólummal van jelölve.

Ez az érzékelő képes érzékelni, hogy van-e tárgy előtte.

VEXcode IQ Távolság a blokktól, amely a Távolság távolságot mm-ben olvassa ki.

Ez az érzékelő képes mérni a távolságot közte és egy tárgy között.

  • A robot ezt az érzékelőt arra használhatja, hogy egy bizonyos távolságot távol tartson egy tárgytól. Tekintse meg az alábbi animációt, hogy megtekinthesse a távolság értékének változását, ahogy a robot addig hajt, amíg a távolság 160 mm alá nem esik.

  • A robot ezzel az érzékelővel felhajthat egy tárgyhoz anélkül, hogy megérintené. Tekintse meg ezt az animációt, hogy megtekintsen két robotot, amelyek távolságérzékelőket használnak a vezetés koordinálására.

  • Az érzékelő által szolgáltatott értékek felhasználhatók a robot sebességének beállítására attól függően, hogy közel vagy távol van egy tárgytól vagy felülettől. Tekintse meg ezt az animációt, ha látni szeretné, hogy a robot a faltól való távolság alapján igazodjon.


A távolságérzékelő használata versenyrobotokon

  • A robot a távolságérzékelőt használhatja egy viselkedéssorozat elindítására, amikor a megfelelő helyen van. Például a robot addig hajthat előre, amíg nem érzékeli, hogy 150 mm-re van a faltól, majd 90 fokkal elfordul, és kienged egy tárgyat a pontozási zónába.  
  • A távolságérzékelővel robotműveleteket indíthat el, például felvesz egy játékdarabot, ha egy tárgyat észlel a hatótávolságon belül.
  • A robot a távolságérzékelőt használhatja arra, hogy egy tárgy vagy felület felé haladjon, amíg az egy adott távolságon belülre nem kerül, anélkül, hogy megérintené. Ezzel meg lehet győződni arról, hogy a robot nem dönti el a játékdarabokat.
  • A robot a távolságérzékelő segítségével elhajthat egy tárgytól vagy felülettől, amíg az el nem ér egy meghatározott távolságot. Ezzel elkerülhető a többi robottal való ütközés a terepen.

A távolságérzékelő használata a VEXcode IQ-ban

A távolságérzékelő hozzáadása eszközként a VEXcode IQ-ban

A VEXcode IQ Devices menü az Eszköz hozzáadása gomb kiválasztása után. A Távolság (1. gen) opció ki van emelve.

A távolságérzékelő kódolásához a VEXcode IQ-ban először konfigurálnia kell a távolságérzékelőt. Tekintse meg ezt a cikket, ha többet szeretne megtudni az érzékelő konfigurálásáról a VEXcode IQ-ban.

Az érzékelő konfigurálása után a projektben használható parancsok jelennek meg az Eszköztárban.

A távolságérzékelő kódolása blokkokban

VEXcode IQ Talált objektumot a Distance7 objektumot talált?

A <Object found> blokk egy logikai riporterblokk, amely egy feltételt igaz vagy hamisként jelent. A logikai blokkok, mint a <Object found> blokk, olyan blokkok belsejébe illeszkednek, amelyek hatszögletű (hatoldalas) bemenetei vannak más blokkokhoz.

A <Object found> logikai blokk „igaz”-t jelez, ha az érzékelő tárgyat észlel, és „hamis”, ha az érzékelő nem. Ha többet szeretne megtudni a logikai blokkokról, keresse fel a Súgó vagy a blokk alakzatok és jelentése cikket.

 

A VEXcode IQ blokkolja azokat a projekteket, amelyek távolságérzékelőt használnak az előrehajtáshoz, amíg nem talál egy tárgyat. A projektben ez olvasható: Indításkor hajtson előre, várja meg, amíg a Distance7 talál egy tárgyat, majd hagyja abba a vezetést.

Ebben a példában a <Object found> s blokkot a [Várakozásig] mondattal együtt használjuk, hogy a robot előre haladjon, amíg a távolságérzékelő tárgyat észlel. Amikor az érzékelő tárgyat észlel, a robot leállítja a vezetést, ahogy az a fenti képen is látható. 

VEXcode IQ Távolság a blokktól, amely a Distance7 távolságot olvassa mm-ben.

A (Távolság tőle) blokk jelenti a legközelebbi tárgy távolságát a távolságérzékelőtől. 24 mm és 1000 mm, illetve 1 hüvelyk és 40 hüvelyk közötti tartományt jelez. A (Távolság ettől) blokk egy riporterblokk, amelyet kör alakú terekkel rendelkező blokkokban használnak.

 

A VEXcode IQ blokkolja azokat a projekteket, amelyek távolságérzékelőt használnak az előrehajtáshoz, amíg a távolság nem éri el az 50 mm-t. A projekt a következőt olvassa: Indításkor hajtson előre, nyomtassa ki a Távolság7 távolságot mm-ben az Agyon, várja meg, amíg a Distance7 távolság mm-ben kisebb mint 50, majd hagyja abba a vezetést.

Ebben a példában a (Távolság tőle) blokkot a [Nyomtatás] blokkal együtt használjuk, hogy az Agy képernyőn megjelenítse a távolságérzékelő és egy tárgy közötti távolságot. A (Távolság tőle) blokk egy <Less than> blokkon belül is látható, amely egy {Wait until} blokkon belül van. Ez arra készteti a robotot, hogy addig hajtson, amíg a távolságérzékelő egy 50 milliméternél kisebb távolságban lévő tárgyat észlel, majd leállítja a vezetést. Ez látható a fenti első videóban.

A távolságérzékelő kódolása Pythonban

Megjegyzés:Egy VEX IQ (1. generációs) távolságérzékelő Pythonban történő kódolásához azt egy VEX IQ (2. generációs) agyhoz kell csatlakoztatni. A VEX IQ (1. generációs) agy nem támogatja a Pythont.

távolság_7.objektum_észlelés()

A distance.is_object_detected parancs „true”-t jelez, ha a rendszer egy objektumot észlel, és „false”-t, ha a rendszer nem észlel egy objektumot.

Megjegyzés:A parancsban megjelenő távolságérzékelő neve megegyezik a konfigurációban megadott névvel. 

drivetrain.drive(ELŐRE)
míg nem distance_7.is_object_detected()
    wait(20, MSEC)
drivetrain.stop()
Ebben a példában egyWhile ciklust használunk egy not feltétellel a distance.is_object_detected paranccsal, hogy a robot előre haladjon, amíg a távolságérzékelő egy tárgyat nem érzékel. Amikor az érzékelő egy tárgyat érzékel, a robot leáll, ahogy a fenti Python kód is mutatja.
távolság_7.távolság(MM)

A távolság.távolság parancs jelzi a legközelebbi tárgy távolságát a távolságérzékelőtől. 24 mm és 1000 mm, illetve 1 hüvelyk és 40 hüvelyk közötti tartományt jelez.

drivetrain.drive(ELŐRE)
brain.screen.print(distance_7.distance(MM)
while not distance_7.distance(MM) < 50:
    wait(20, MSEC)
drivetrain.stop()

Ebben a példában egy While ciklust használunk egy not feltétellel a distance.is_object_detected paranccsal, hogy a robot előre haladjon, amíg a távolságérzékelő egy tárgyat nem érzékel. Amikor az érzékelő egy tárgyat észlel, a robot leállítja a vezetést.

Ebben a példában a distance.distance parancsot egy brain.screen.print paranccsal együtt használjuk a Brain képernyőn a távolságérzékelő és egy tárgy közötti távolság megjelenítéséhez. A distance.distance parancs egy While cikluson belül is látható, not feltétellel. Ez azt eredményezi, hogy a robot addig halad, amíg a távolságérzékelő 50 milliméternél kisebb távolságra lévő tárgyat nem érzékel, majd leáll. Ez látható a fenti első videóban.

Ha többet szeretnél megtudni a távolságérzékelők Pythonban történő kódolásáról, nézd meg a Számítástechnika 1. szint - Python kurzus 5. leckéjét. 

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

Last Updated: