KURZ: Ultrazvukový senzor

KAPITOLY

Ultrazvukový senzor umožňuje robotům orientovat se v prostoru. Senzor vysílá vysokofrekvenční akustickou vlnu, která se odrazí od předmětu umístěného před senzorem. Podle doby, za kterou se signál vrátí zpět do senzoru se vypočítá, v jaké vzdálenosti se předmět nachází. Díky tomuto zařízení je robot schopný detekovat překážky, měřit vzdálenosti k překážce či zaznamenávat pohyb. Rozsah ultrazvukového senzoru je od 0 do 255 centimetrů.

Použití v programovacích prostředích

NXT-G

Blok pro ovládání motoru

Rozcestník


Umístění bloku

Programový blok DistanceSensorDraggedUltrasonic Sensor je v programovacím prostředí NXT-G umístěn v paletě icon completeCompleteSensorHilight Sensor.

NXTG UltrasonicBlock rozbaleny

 

Popis bloku

Blok DistanceSensorDraggedUltrasonic Sensor umožňuje k propojení s dalšími programovými bloky využít pět konektorů:

Port Port - určuje, ke kterému ze čtyř vstupních portů je senzor připojen (1-4).

TriggerPoint TriggerPoint - značí nastavenou vstupní vzdálenost, kterou lze porovnávat s hodnotou snímanou senzorem. 

GreaterLessGreater / Less - hodnota logického datového typu sloužící pro srovnání dvou hodnot (větší nebo menší).

Boolean Yes / No - hodnota logického datového typu vyjadřující výsledek porovnání fixní zadané vzdálenosti a hodnoty naměřené senzorem.

Distance050 Distance - číselná hodnota vyjadřující vzdálenost zaznamenaného předmětu od senzoru. Vzdálenost je vyjádřena buďto v centimetrech na stupnici od 0 do 255 cm nebo v palcích od 0 do 100 in.

Aktuální nastavení senzoru vyjadřuje pouze číslo v pravém horním rohu, které udává, ke kterému ze vstupních portů je senzor připojen a poté ikonka Distance050, která značí hodnotu fixně nastavené vzdálenosti.

 

Parametry bloku 

NXTG UltrasonicSensor

Port: zvolením jedné ze čtyř možností udáváme, ke kterému vstupnímu portu je senzor připojen.

Compare: sekce sloužící k zadání fixní hodnoty určené pro porovnávání s hodnotou snímanou senzorem. Tažítkem nebo ručním zadáním je možné nastavit vzdálenost kratší či delší než je vzdálenost naměřená ultrazvukovým senzorem.

Show: umožňuje nastavit jednotky, ve kterých bude vzdálenost vyjádřena. Na výběr jsou buďto centimetry nebo palce.

RobotC

Příkazy pro ovládání ultrazvukového senzoru

Ultrazvukový senzor vyhodnocuje vzdálenost od překážky, a tak hlavní práce s ním se skládá ze zpracování těchto informací. Pro jeho bezproblémový chod je důležité správné nastavení.

Rozcestník


Nastavení senzoru

Ještě než začneme v programovacím prostředí RobotC pracovat s ultrazvukovým senzorem, je nutné ho nakonfigurovat. Zápis konfigurace je uveden na příkladu. Skládá se z klíčového slova #pragma a příkazu config(), který obsahuje čtyři parametry. První parametr značí, o jaký druh zařízení se jedná. V našem případě je to Sensor. Další parametr označuje, do jakého portu řídící jednotky je senzor připojen (S3 = port 3). Následuje volitelný název senzoru (ultrazvukovy). Posledním parametrem je druh senzoru (sensorSONAR = ultrazvukový senzor). Tato deklarace je v úvodu každého programu, kde budeme pracovat se senzory nezbytná.

 
#pragma config(Sensor, S3, ultrazvukovy, sensorSONAR) // Kod je automaticky generovan pruvodcem konfiguraci RobotC. 
 

Poznámka: Konfiguraci lze provést ručním zapsáním deklarace v příkladu nebo v menu programovacího prostředí RobotC. Postup konfigurace je uveden v kapitole Konfigurace motorů a senzorů.


Nastavení vzdálenosti od senzoru

Ultrazvukový senzor dokáže vracet údaj o vzdálenosti k nejbližšímu předmětu, který se před ním nachází. Tyto údaje je poté možné programově porovnávat a ovlivňovat tak pohyb a chování robota. Příkaz, který pracuje s hodnotou vyjadřující vzdálenost překážky od ultrazvukového senzoru je SensorValue[]. V závorce udáváme zvolený název senzoru, který je zadán v úvodu programu. Rozsah hodnot je určen pomocí porovnávacích znamének. Ultrazvukový senzor dokáže určit vzdálenost v rozmezí 0-255 centimetrů. Narozdíl od programového prostředí NXT-G, se v RobotC využívá pouze vyjádření v centimetrech, nikoliv v palcích.

 
SensorValue[sensorSONAR] < 20; // Senzorem prectena vzdalenost je kratsi nez 20 cm.
SensorValue[sensorSONAR] > 20; // Senzorem prectena vzdalenost je delsi nez 20 cm.
SensorValue[sensorSONAR] = 20; // Senzorem prectena vzdalenost je 20 cm. 
 

Pro doplnění přikládáme jednoduchý příklad nastavení vzdálenosti pomocí nadeklarované proměnné.

 
int vzdalenost_v_cm = 20; // Vytvori promennou "vzdalenost_v_cm" a nastavi jeji hodnotu na 20.
SensorValue[sensorSONAR] > vzdalenost_v_cm; // Senzorem prectena vzdalenost je delsi nez 20 cm. 
 

EV3

Blok pro práci s ultrazvukovým senzorem

Rozcestník


Umístění bloku pro práci s ultrazvukovým senzorem

Programový blok Ultrasonic Sensor je umístěn v paletě Sensor Sensor.

UMISTENI ULTRAZVUKOVY


Změna režimu

Programový blok Ultrasonic Sensor můžeme využívat ve dvou základních režimech. Přepínání mezi nimi se provádí pomocí tlačítka v levé spodní části bloku (červeně zvýrazněno).

REZIMY


Přidání vstupního portu 

Kliknutím do pole pro výběr vstupního portu v pravém horním rohu programového bloku a vybráním možnosti Wired přidáme do programového bloku nový vstupní port Identification 515 Port Port (červeně zvýrazněno).

WIRED


Režimy programového bloku

Measure - Advanced - Centimetres

Režim, ve kterém senzor měří vzdálenost vyjádřenou v centimetrech. Snímání je možné realizovat ve dvou režimech. Programový blok obsahuje jeden vstupní a jeden výstupní port.

 MEASURE ADVANCED

 Measuring Mode (režim měření vzdálenosti):

Identification 368 MeasuringMode Ping Ping - režim, ve kterém jsou zasílány jednotlivé ultrazvukové signály.

Identification 369 MeasuringMode Continuous Continuous - režim, ve kterém je zasílán konstantní, nepřerušovaný ultrazvukový signál.

Identification 052 DistanceCM Distance in Centimetres - výstupní port jehož návratovou hodnotou je naměřená vzdálenost v centimetrech.

 

 

Measure - Advanced - Inches

Režim, ve kterém senzor měří vzdálenost vyjádřenou v palcích. Snímání je možné realizovat ve dvou režimech. Programový blok obsahuje jeden vstupní a jeden výstupní port.

MEASURE ADVANCED INCH

 Measuring Mode (režim měření vzdálenosti):

Identification 368 MeasuringMode Ping Ping - režim, ve kterém jsou zasílány jednotlivé ultrazvukové signály.

Identification 369 MeasuringMode Continuous Continuous - režim, ve kterém je zasílán konstantní, nepřerušovaný ultrazvukový signál.

Identification 052 DistanceCM Distance in Centimetres - výstupní port jehož návratovou hodnotou je naměřená vzdálenost v centimetrech. 

Poznámka: Režimy Measure - Distance - Centimetres (měření vzdálenosti v centimetrech) a Measure - Distance - Inches (měření vzdálenosti v palcích) fungují naprosto stejným způsobem, jen neobsahují možnost změny režimu vysílání ultrazvukového signálu.

 

 

Measure - Presence

Režim, ve kterém ultrazvukový senzor pouze zjišťuje, zda detekoval ultrazvukový signál či nikoliv. V tomto režimu máme k dispozici jediný výstupní port.

MEASURE PRESENCE

Identification 535 UltrasoundDetected Ultrasound Detected - výstupní port, jehož návratová hodnota je logického datového typu. Pokud je signál detekován, je výsledkem hodnota True (pravda) v opačném případě False (nepravda).

 

 

Compare - Distance Centimetres

Režim sloužící k porovnání naměřené hodnoty s prahovou hodnotou v centimetrech. Programový blok obsahuje dva vstupní a dva výstupní porty.

COMPARE CM

Identification 034 ComparisonType LessThan Compare Type - výběr způsobu porovnání zjištěné hodnoty s prahovou. Vybíráme, zda chceme zjistit, jestli je naměřená vzdálenost menší, větší nebo rovna prahové. 

Identification 412 Threshold Less 0Threshold Value - prahová hodnota, s kterou porovnáváme naměřenou vzdálenost.

Identification 030 ComparisonType EqualCompare Result - výstupní port vracející logickou návratovou hodnotu v závislosti na tom, zda zjištěná hodnota byla v námi ověřované vzdálenosti (True) či nikoliv (False).

Identification 052 DistanceCM Distance in Centimetres - návratovou hodnotou výstupního portu je naměřená vzdálenost v centimetrech.

 

 

Compare - Distance Inches

Režim sloužící k porovnání naměřené hodnoty s prahovou hodnotou v palcích. Programový blok obsahuje dva vstupní a dva výstupní porty.

COMPARE INCH

 Identification 034 ComparisonType LessThan Compare Type - výběr způsobu porovnání zjištěné hodnoty s prahovou. Vybíráme, zda chceme zjistit, jestli je naměřená vzdálenost menší, větší nebo rovna prahové.

Identification 412 Threshold Less 0Threshold Value - prahová hodnota, s kterou porovnáváme naměřenou vzdálenost.

Identification 030 ComparisonType EqualCompare Result - výstupní port vracející logickou návratovou hodnotu v závislosti na tom, zda zjištěná hodnota byla v námi ověřované vzdálenosti (True) či nikoliv (False).

Identification 053 DistanceInches Distance in Inches- návratovou hodnotou výstupního portu je naměřená vzdálenost v palcích.

 

 

Compare - Presence/Listen

Funkce režimu je totožná s režimem Measure - Presence.

COMPARE LISTEN

 

1 1 1 1 1 1 1 1 1 1 Hodnocení 4.33 (3 hodnocení)

Nemáte oprávnění přidat komentář.
Komentáře mohou přidávat pouze registrovaní uživatelé, kteří neporušují pravidla diskuze.