Senzor zrychlení
- Podrobnosti
- Mgr. Jan Hodinář, Mgr. Tomáš Jakeš
- Aktualizováno: 13.03.2012
- Zobrazení: 3843
Senzor zrychlení dokáže měřit zrychlení ve třech osách X, Y, Z a to v rozsahu -2G až +2G. Každé G je rozděleno přibližně na dalších 200 dílků (částí). Hodnoty zrychlení senzor obnovuje přibližně 100x za sekundu. Díky zaznamenání zrychlení u každé ze tří os můžeme senzor použít také jako měřič náklonu. Senzor má tedy ve skutečnosti dvě funkce.
Jako obvykle se senzor kabelem připojuje do jednoho ze senzorových vstupních portů na NXT řídící kostce. Jeho tvar i uchycení je stejné jako ostatních senzorů, díky čemuž nebude problém při případné výměně senzorů v zapojení.
Přesné vyobrazení os vzhledem k umístění v modulu si můžete prohlédnout na následujícím obrázku.
Otestování senzoru: K tomu, aby jste otestovali svůj nový senzor bez nutnosti tvorby vlastního programu ho zapojte do „Portu 2“ na NXT řídící kostce a zvolte „View > Ultrasonic cm > Port 2“. Senzor pevně uchopte a ve stejné výšce s ním rychle pohybujte dopředu a dozadu. Hodnota zobrazovaná na displeji pak bude představovat hodnotu zrychlení nebo náklonu na ose X a bude v rozmezí (0; 254>. Nula se zobrazí klasicky jako ??????. V tomto režimu však můžete otestovat jen osu X senzoru.
Praktické využití
Senzor zrychlení nemusí sloužit pouze pro prosté zjišťování zrychlení, ale může posloužit např. jako stabilizační prvek robota. Při zjištění jeho nechtěného pohybu do jedné ze stran můžeme aktivovat motory a pádu předejít. Obdobným použitím by bylo i "zabezpečení" modelu proti odcizení. V případě, že u statického modelu zjistíme pohyb, můžeme spustit alarm v podobě zvuku nebo poslání zprávy přes bluetooth.
Senzory měření zrychlení se prakticky používají i v herním průmyslu. Díky zabudování tohoto senzoru do herního ovladače lze určovat jeho pohyb a to jak směr v ose X, Y a Z tak i zrychlení (intenzitu) v jednotlivých osách. Můžeme tak vytvořit ovladač, který bude vyhodnocovat Vaše pohyby.
Programování
Pro programování senzoru zrychlení slouží blok Acceleration Senzor. Pokud však tento blok není dostupný, můžete ho doinstalovat nebo můžete stejně snadno avšak s omezenými funkcemi použít blok Ultrasonic. Ten, nastavený na jednotky centimetry, pak vrací hodnotu zrychlení na ose X v rozmezí 0-254.
Acceleration Sensor Blok
Blok Acceleration Sensor umí na rozdíl od předchozího bloku Ultrasonického senzoru vracet hodnoty zrychlení pro každou z os. Navíc je zde možné nastavit vyhodnocení splnění výrazu, které lze využít u podmínek. To lze však přímo v bloku aplikovat jen na osu X. Nastavení porovnání podmínky "osa x<0" můžete vidět na obrázku nastavení panelu.
Panel nastavení bloku
Port: Jako u většiny senzorů je nejprve nutno zvolit, ke kterému portu je senzor připojený.
Compare: Další možnou volbou je nastavení podmínky. Nastavujeme u ní hodnotu se kterou se porovnává zrychlení na ose X a také porovnávací mód (větší / menší). Nastavení hodnoty je možno provádět tažením posuvníku či vepsáním přesné hodnoty do bloku čísla.
Vstupy a výstupy programového bloku
Při přidání bloku do programu můžeme vidět pouze logický výstup podmínky a výstup hodnot z osy X. Pokud výstupy bloku rozklikneme, vypadají jeho vstupy a výstupy takto:
- Port, ke kterému je senzor připojen.
- Hodnota zrychlení ve směru osy X.
- Hodnota zrychlení ve směru osy Y.
- Hodnota zrychlení ve směru osy Z.
- Výsledek porovnání hodnoty se zrychlením na ose X (True/False).
- Hodnota se kterou se porovnává zrychlení na ose X.
- Mód podmínky (větší/menší).