KURZ: Teplotní senzor

KAPITOLY

Teplotní senzor je jedním ze senzorů, které dokáží snímat hodnoty okolního prostředí. Chování robota tak může být ovlivněno teplotou okolního prostředí. Ovládání a chování na základě snímané teploty patří mezi rozšiřující možnosti stavebnice LEGO Mindstorms NXT. Teplotní senzor dokáže pracovat s teplotou udávanou jak ve stupních Celsia tak Fahrenheita. Jeho využití je možné nejen pro konstrukci robota, ale hlavně při různých laboratorních měřeních.

PRÁCE S teplotním SENZOREM V PROGRAMOVACÍCH PROSTŘEDÍCH

NXT-G

Blok pro ovládání teplotního senzoru

Rozcestník


UMÍSTĚNÍ BLOKU

Blok NXTTempSensorDragged Temperature Sensor je součástí základní instalace programovacího prostředí NXT-G a nalezneme ho v paletě icon completeComplete > SensorHilight Sensor.

Temperature sensor block

 

POPIS BLOKU

Blok NXTTempSensorDragged Temperature Sensor obsahuje šest konektorů pro propojení s dalšími bloky:

Port Port - značí, ke kterému z portů (1-4) je senzor připojen.

TriggerPoint Trigger Point - značí zadanou vstupní hodnotu, kterou je možné porovnat s hodnotou snímanou teplotním senzorem.

GreaterLess Greater / Less - logická hodnota sloužící k porovnání dvou hodnot (větší nebo menší).

Boolean Yes / No - hodnota logického datového typu vyjadřující výsledek porování.

Temperature Temperature - škálovaná hodnota zjištěná senzorem (ve stupních Celsia nebo Fahrenheita).

Raw(Ambient) Raw Value - udává čistou hodnotu v RAW zjištěnou senzorem na stupnici od 0 do 1024.

 

PARAMETRY BLOKU

Temperature sensor 

Port: udává, ke kterému vstupnímu portu je teplotní senzor připojen (1-4).

Compare: slouží k zadání hodnoty, která má být porovnávána s hodnotou snímanou senzorem (větší či menší než zvolená hodnota).

Show: volba, která slouží ke zvolení jednotek, ve kterých se bude s teplotou pracovat (stupně Celsia nebo Fahrenheita).

Průběžně snímaná teplota se během chodu programu zobrazuje v levé části bloku.

RobotC

Příkazy pro ovládání teplotního senzoru

Rozcestník


Deklarace senzoru  

Teplotní senzor patří mezi sezory vyráběné firmou LEGO, ovšem nepatří mezi základní senzory. Při jeho použití tak musíme v programovacím prostředí RobotC použít vývojovou knihovnu, která obsahuje ovladače a funkce sloužící k jeho ovládání. Knihovna je obsažena v zdrojových souborech instalace programovacího prostředí nebo si ji můžete stáhnout ZDE. V balíku knihoven pro rozšiřující senzory ji najdete pod názvem lego-temp.h. Její zavolání v programu poté provedeme následovně:

 
#include "lego-temp.h"
 

Poznámka: Příklad demonstruje volání knihovny umístěné ve stejném adresáři jako program. Pokud je knihovna umístěna v jiném adresáři, je nutné uvést celou cestu k souboru.

Po zavolání příslušné vývojové knihovny je nutné deklarovat používaný senzor. Deklarace se skládá z klíčového slova #pragma a příkazu config(), který obsahuje čtyři parametry. První parametrem je určení, o jaké zařízení se jedná. V našem případě používáme senzor, tudíž zapíšeme Sensor. Druhý parametr udává, ke kterému portu je senzor připojen (S1-S4). Třetí parametr je volitelný a uživatel si zde volí název senzoru, který je následně v programu používán jako parametr funkcí a podobně. Posledním parametrem je zařazení senzoru. Teplotní senzor patří mezi rozšiřující senzory a ty jsou v programovacím prostředí RobotC zařazeny do skupiny sensorI2CCustom.

 
#pragma config(Sensor, S1, LEGOTMP, sensorI2CCustom)
 

Využití předdefinovaných metod

Vývojová knihovna teplotního senzoru obsahuje předdefinované metody pro jeho ovládání. Snímání teplotním senzorem může být prováděno ve dvou režimech. První režim je nazýván Single Shot mode. Jedná se o běžné snímání, kdy je teplotním senzorem vracena každá okamžitá hodnota. Jeho aktivování je možné provést příkazem LEGOTMPsetSingleShot(). Druhý režim snímání se nazývá Continuous mode. Pokud senzor pracuje v tomto režimu, provede ve velice krátkém časovém úseku v řádu milisekund několik měření. Následně jako výsledek senzor vrací poslední naměřenou hodnotu. Díky tomu dokáže ověřit, zda je naměřená hodnota přesná a nemělo by tak dojít ke zkreslení. Režim aktivujeme pomocí příkazu LEGOTMPsetContinuous(). Parametrem uvedeným v závorce je u obou metod volitelný název senzoru. 

Jestliže budeme používat teplotní senzor, hlavní věcí která nás bude zajímat, bude jím zjištěná teplota. Její hodnotu zjistíme v programovacím prostředí RobotC použitím příkazu LEGOTMPreadTemp(). Příkaz vyžaduje zadání dvou parametrů uvedených v závorce. První je volitelný název senzoru zadávaný při deklaraci senzoru a druhý název proměnné datového typu float, do které se zjištěná hodnota následně uloží.

1 1 1 1 1 1 1 1 1 1 Hodnocení 0.00 (0 hodnocení)

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