KURZ: Gyroskopický senzor

KAPITOLY

Gyroskopický senzor slouží k orientaci robota v prostoru. Měří rychlost otáčení v horizontální rovině senzoru připevněného k robotu a také jeho směr otáčení. Návratovou hodnotou senzoru je rychlost otáčení ve stupních za sekundu. Rozsah měření se pohybuje od +360° do -360° za sekundu. To nám umožňuje určit, kterým směrem se robot otáčí a díky tomu upravovat jeho polohu. Při použití, musíme pečlivě zvažovat umístění gyroskopu, protože snímá otáčení pouze v jediné ose.

PRÁCE S GYROSKOPICKÝM SENZOREM V PROGRAMOVACÍCH PROSTŘEDÍCH

NXT-G

Blok pro ovládání gyroskopického senzoru

Rozcestník


UMÍSTĚNÍ BLOKU

Gyroskopický senzor je v programovacím prostředí NXT-G řízen blokem GyroSensorDragged Gyro Sensor. Tento blok není součástí základní instalace. Pro jeho použití je nutné jej do prostředí importovat. Návod k importu rozšiřujících modulů naleznete v kapitole Instalace rozšiřujících modulů.


Gyro sensor block

POPIS BLOKU

Port Port - označuje, ke kterému ze vstupních portů je je senzor připojen.

TriggerPoint Trigger Point - značí vstupní nastavenou hodnotu senzoru, která je určena k porovnávání s hodnotami snímanými senzorem. Možný rozsah hodnoty je od -400 do +400 stupňů za sekundu.

GreaterLess Greater / 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í.

Number Offset - výstup vyjadřující vstupní posun nastavený v poli Offset.

RawValue Raw Value - výstup udávající čistou naměřenou hodnotu rychlosti otáčení v RAW.

 

PARAMETRY BLOKU

Gyro sensor

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

Offset: hodnota, jejímž zadáním určuje vstupní hodnotu posuvu.

Compare: pole, které slouží k zadání hodnoty od -400 do +400 stupňů za sekundu, která je poté porovnávána s hodnotami snímanými senzorem.

RobotC

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

Rozcestník


Nastavení senzoru

Na úvod práce s gyroskopickým senzorem v programovacím prostředí RobotC je nutné provést jeho deklaraci. Programový zápis deklarace se skládá z klíčového slova #pragma a příkazu config(), který obsahuje čtyři parametry. Jelikož je možné deklarovat také motory, tak první parametr konkretizuje, že se v našem případě jedná o sensor. Druhý parametr označuje, ke kterému ze vstupních portů (S1 - S4) je senzor připojen. Třetí parametr je volitelný a zadává jej uživatel. Jedná se o název senzoru, který je poté dále používán při odkazování na senzor. Naopak poslední parametr je předdefinovaný a jedná se o standardizované označení gyroskopického senzoru (sensorI2CHiTechnicGyro).

 
#pragma config(Sensor, S1, gyroskopicky, sensorI2CHiTechnicGyro) // Kod je automaticky generovan pruvodcem deklaraci RobotC.
 

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


Nastavení typu senzoru

Senzory je také možné deklarovat pomocí příkazu SensorType[], jehož parametrem je název senzoru. K tomuto příkazu je také nutné přiřadit oficiální název senzoru pro programovací prostředí RobotC (u gyroskopického senzoru sensorI2CHiTechnicGyro). Volitelný název uváděný jako parametr příkazu musí být nejprve definován pro třídu senzoru tSensors, která definuje rozšiřují moduly. Příklad deklarace senzoru je uveden níže.

Tento postup deklarace je doporučeno provádět zkušenějším uživatelům. Začátečníkům se doporučuje deklarovat moduly pomocí Deklarace motorů a senzorů v horní liště menu.

 
tSensors gyroSensor;
SensorType[gyroSensor] = sensorI2CHiTechnicGyro;
 

Práce s hodnotou snímanou senzorem

Pro práci s hodnotami snímanými senzorem nebo pro jejich vyhodnocování či porovnávání budeme potřebovat použít příkaz, který nám použití hodnoty umožní. V programovacím prostředí RobotC je jím příkaz SensorValue[]. Jeho parametrem uvedeným v hranaté závorce je název senzoru. Senzoru pomocí tohoto příkazu můžeme nastavit vstupní fixně zadanou hodnotu nebo hodnotu, která bude určena pro porovnání s hodnotou snímanou gyroskopickým senzorem.

 
SensorValue[gyroSensor] = 60; // Nastaveni vstupni hodnoty senzoru (u gyroskopickeho senzoru napriklad hodnota posunu - offset).
 

Využití předdefinovaných metod

Gyroskopický senzor patří mezi rozšiřující senzory. Pro jeho využívání nalezneme po nainstalování programovacího prostředí RobotC vývojovou knihovnu, která obsahuje další předdefinované funkce pro ovládání gyroskopu. Knihovnu ovšem musíme nejprve v programu zavolat. Provedeme to v jeho úvodu následovně:

 
#include "drivers/hitechnic-gyro.h"
 

Při zjišťování hodnoty rotace využijeme několik předdefinovaných funkcí, které si nyní představíme. První metoda se nazývá HTGYROstartCal(). Využijeme jí v úvodu programu. Slouží totiž pro kalibraci gyroskopického senzoru, díky které docílíme přesnějšího snímání. Pokud máme senzor správně zkalibrovaný, můžeme zjisit jeho posun oproti stavu po kalibraci. K tomuto účelu slouží příkaz HTGYROreadCal().

Hlavním účelem používání gyroskopického senzoru je ale detekce rotačního pohybu. Ke zjištění aktuální rychlosti otáčení slouží předdefinovaná funkce HTGYROreadRot().

U všech tří funkcí zadáváme pouze jediný parametr umístěný v závorce. Jedná se o volitelný název senzoru, který uživatel zadává při deklaraci.

1 1 1 1 1 1 1 1 1 1 Hodnocení 5.00 (1 hodnocení)

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