Izmantojot VEX IQ (1. paaudzes) attāluma sensoru

Apraksts

Šis sensors ziņo par attālumu starp to un tuvāko cieto objektu (diapazons no 50 mm līdz 1 m). Tas aprēķina attālumu, izmantojot laiku, kas nepieciešams, lai ultraskaņas viļņi atsitos no objekta un atgrieztos sensorā.

VEX IQ (1. gen) Distance Sensor gabals.


Kā darbojas attāluma sensors: attāluma klausīšanās

Diagramma, kurā attēlots attāluma sensors, kas izsūta ultraskaņu, lai sasniegtu zaļo kubu un pēc tam uztver atstaroto skaņu.

Attāluma sensors skaņas mērīšanai izmanto tos pašus principus kā hidrolokācijas ierīces. Tas izsūta nelielu ultraskaņas impulsu ar savu emitētāju vienā sensora pusē un pēc tam reizina, cik ilgs laiks nepieciešams, lai dzirdētu, ka skaņa atstaro uztvērēju sensora otrā pusē. Sensors aprēķina attālumu, pamatojoties uz skaņas impulsa ilgumu, lai veiktu turp un atpakaļ. Pēc tam attāluma sensors veic aprēķinu, pamatojoties uz skaņas ātrumu, lai pateiktu robota smadzenēm, cik tālu atrodas tuvākais objekts. 

Ja virsma nav plakana kā izliekta siena vai bumba, ultraskaņas vilnis neatlec no visām daļām vienādi vai vienlaikus. Tuvākā virsma, kas ir pietiekami liela, lai atspoguļotu nosakāmu viļņa daudzumu, nosaka objekta noteikto attālumu.


Attāluma sensora biežākie lietojumi:

VEXcode IQ Objekts atrasts bloks, kas skan Attālums atrasts objekts?

Divas diagrammas. Augšpusē attāluma sensors ir vērsts uz tuvējo Zaļo kubu un ir atzīmēts ar atzīmi. Zemāk attāluma sensors nenorāda ne uz ko tuvumā, un tas ir apzīmēts ar X simbolu.

Šis sensors var noteikt, vai tā priekšā atrodas kāds objekts.

VEXcode IQ Attālums no bloka, kas nolasa Distance distance mm.

Šis sensors var izmērīt attālumu starp to un objektu.

  • Robots var izmantot šo sensoru, lai vadītu noteiktu attālumu no objekta. Skatiet tālāk redzamo animāciju, lai redzētu, kā mainās attāluma vērtība, robotam braucot, līdz attālums ir mazāks par 160 mm.

  • Robots var izmantot šo sensoru, lai piebrauktu līdz objektam, tam nepieskaroties. Skatiet šo animāciju, lai redzētu divus robotus, kuri izmanto attāluma sensorus, lai koordinētu savu braukšanu.

  • Šī sensora sniegtās vērtības var izmantot, lai pielāgotu robota ātrumu atkarībā no tā, vai tas atrodas tuvu vai tālu no objekta vai virsmas. Skatiet šo animāciju, lai redzētu, kā robots pielāgojas atkarībā no attāluma līdz sienai.


Attāluma sensora izmantošana sacensību robotā

  • Robots var izmantot attāluma sensoru, lai uzsāktu darbību secību, kad tas atrodas pareizajā vietā. Piemēram, robots var braukt uz priekšu, līdz konstatē, ka atrodas 150 mm attālumā no sienas, pēc tam pagriezties par 90 grādiem un izlaist objektu punktu zonā.  
  • Attāluma sensoru var izmantot, lai aktivizētu robota darbības, piemēram, spēles figūras paņemšanu, kad objekts tiek atklāts diapazonā.
  • Robots var izmantot attāluma sensoru, lai brauktu uz objektu vai virsmu, līdz tas atrodas noteiktā attālumā, nepieskaroties tam. To var izmantot, lai pārliecinātos, ka robots neapgāž spēles figūras.
  • Robots var izmantot attāluma sensoru, lai brauktu prom no objekta vai virsmas, līdz tas ir sasniedzis noteiktu attālumu. To var izmantot, lai izvairītos no sadursmēm ar citiem robotiem uz lauka.

Attāluma sensora izmantošana VEXcode IQ

Attāluma sensora kā ierīces pievienošana VEXcode IQ

VEXcode IQ Devices izvēlne pēc tam, kad ir atlasīta poga Pievienot ierīci. Opcija Distance (1. gen) ir iezīmēta.

Lai kodētu attāluma sensoru VEXcode IQ, vispirms ir jākonfigurē attāluma sensors. Skatiet šo rakstu, lai uzzinātu vairāk par sensora konfigurēšanu programmā VEXcode IQ.

Kad sensors ir konfigurēts, rīklodziņā tiks parādītas komandas, kuras varēsit izmantot savā projektā.

Attāluma sensora kodēšana blokos

VEXcode IQ Objekts atrasts bloks, kas skan Distance7 atrada objektu?

<Object found>  bloks ir Būla reportiera bloks, kas ziņo par nosacījumu kā patiesu vai nepatiesu. Būla bloki, piemēram, <Object found>  bloki, iederas blokos ar sešstūrainu (sešpusēju) ievadi citiem blokiem.

<Object found> Būla bloks ziņo par “patiesu”, ja sensors nosaka objektu, un “false”, ja sensors to nedara. Lai uzzinātu vairāk par Būla blokiem, apmeklējiet rakstu palīdzība vai bloku formas un nozīme.

 

VEXcode IQ bloķē projektu, kas izmanto attāluma sensoru, lai brauktu uz priekšu, līdz atrod objektu. Projekts skan Kad startēja, brauciet uz priekšu, pagaidiet, līdz Distance7 atrada objektu, un pēc tam pārtrauciet braukšanu.

Šajā piemērā bloks <Object found> tiek izmantots kopā ar bloku [Pagaidiet, līdz], lai liktu robotam braukt uz priekšu, līdz attāluma sensors nosaka objektu. Kad sensors uztver objektu, robots pārtrauks braukšanu, kā parādīts attēlā iepriekš. 

VEXcode IQ Attālums no bloka, kas nolasa Distance7 attālums mm.

Blokā (Attālums no) tiek rādīts tuvākā objekta attālums no attāluma sensora. Tas norāda diapazonu no 24 mm līdz 1000 mm vai no 1 collas līdz 40 collām. Bloks (Attālums no) ir ziņotāju bloks, kas tiek izmantots blokos ar apļveida atstarpēm.

 

VEXcode IQ bloķē projektu, kas izmanto attāluma sensoru, lai brauktu uz priekšu, līdz attālums ir mazāks par 50 mm. Projekts skan Kad sākts, brauciet uz priekšu, uz Brain izdrukājiet Distance7 distance milimetros, pagaidiet, līdz Distance7 distance milimetros ir mazāka par 50, un pēc tam pārtrauciet braukšanu.

Šajā piemērā bloks (Attālums no) tiek izmantots kopā ar bloku [Drukāt], lai smadzeņu ekrānā parādītu attālumu starp attāluma sensoru un objektu. Bloks (Attālums no) tiek parādīts arī <Less than> bloka iekšpusē, kas atrodas bloka {Wait until} iekšpusē. Tas liks robotam braukt, līdz attāluma sensors noteiks objektu, kas atrodas mazāk nekā 50 milimetru attālumā, un pēc tam pārtrauks braukšanu. Tas ir parādīts pirmajā videoklipā iepriekš.

Attāluma sensora kodēšana programmā Python

Piezīme:Lai Python kodētu VEX IQ (1. paaudzes) attāluma sensoru, tam jābūt savienotam ar VEX IQ (2. paaudzes) smadzenēm. VEX IQ (1. paaudzes) smadzenes neatbalsta Python.

distance_7.is_object_detected()

Komanda distance.is_object_detected ziņo par “true”, ja objekts tiek atklāts, un “false”, ja objekts netiek atklāts.

Piezīme:Attāluma sensora nosaukums, kas parādās komandā, atbilst nosaukumam, kas ir norādīts konfigurācijā. 

piedziņa.piedziņa(FORWARD)
, bet nav distance_7.is_object_detected()
gaida(20, MSEC)
drivetrain.stop()
Šajā piemērā cilpa, kamēr ar nosacījumu nevis tiek izmantota kopā ar komandu distance.is_object_detected , lai robots brauktu uz priekšu, līdz attāluma sensors nosaka objektu. Kad sensors konstatē objektu, robots pārtrauks braukšanu, kā parādīts iepriekš redzamajā Python kodā.
distance_7.distance(MM)

Komanda distance.distance ziņo par attāluma sensora tuvākā objekta attālumu. Tas norāda diapazonu no 24 mm līdz 1000 mm vai no 1 collas līdz 40 collām.

piedziņa.piedziņa(FORWARD)
brain.screen.print(attālums_7.attālums(MM)
, bet ne attālums_7.attālums(MM) < 50:
gaidiet(20, MSEC)
drivetrain.stop()

Šajā piemērā cilpa , kamēr ar nosacījumu nevis tiek izmantota kopā ar komandu distance.is_object_detected , lai liktu robotam braukt uz priekšu, līdz attāluma sensors nosaka objektu. Kad sensors uztver objektu, robots pārtrauks braukšanu.

Šajā piemērā komanda distance.distance tiek izmantota kopā ar komandu brain.screen.print , lai ekrānā Brain parādītu attālumu starp attāluma sensoru un objektu. Komanda distance.distance tiek parādīta arī cilpas While iekšpusē ar nosacījumu nevis . Tas liks robotam braukt, līdz attāluma sensors noteiks objektu, kas atrodas mazāk nekā 50 milimetru attālumā, un pēc tam pārtrauks braukšanu. Tas ir parādīts pirmajā videoklipā iepriekš.

Lai uzzinātu vairāk par attāluma sensora kodēšanu programmā Python, skatiet datorzinātņu 1. līmeņa kursa 5. nodaļu — Python. 

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

Last Updated: