D12. Achizitionarea datelor de la senzori



Yüklə 9,88 Kb.
tarix03.11.2017
ölçüsü9,88 Kb.
#29828

D12. Achizitionarea datelor de la senzori.

Pentru achizitionarea datelor de la senzorii Lego Mindstorms vom folosi leJOS (disponibil la http://lejos.sourceforge.com ) care este un API ce face posibila conectarea prin intermediul limbajului Java la interfata NXT a Mindstorms.

Pentru a putea scrie programe in Java care sa poata fi compilate si uploadate pe placa NXT trebuiesc urmati mai multi pasi (varianta in care dezvolta software in mediul Eclipse):

Pentru ca programele scrise in Java si compilate cu ajutorul leJOS pot fi incarcate pe placa NXT direct din mediul Eclipse insa pentru ca acestea sa ruleze trebuie updatat firmware-ul acesteia la versiunea NXJ.


Tutorialul pentru instalarea plugin-ului Eclipse se gaseste la adresa:

http://lejos.sourceforge.net/nxt/nxj/tutorial/Preliminaries/UsingEclipse.htm
leJOS ofera suport pentru comunicarea cu senzorii instalati existand abstractizari dezvoltate pentru fiecare dintre acestia.

Butoane

Clasa Button are 4 instante: Button.ENTER, Button.ESCAPE, Button.LEFT, Button.RIGHT;

Pentru a verifica daca un buton aste apasat exista functia isPressed() care intoarce o valoare boolean.

Functia waitForPress() returneaza codul butonului ce a fost apasat pe placa (

1-ENTER, 2-LEFT, 4-RIGHT, 8-ESCAPE)

De asemenea se pot adauga si listener pentru fiecare buton cu ajutorul functiei: addButtonListener(ButtonListerner ListenerB)

Pentru a verifica starea butoanelor apasate se foloseste int readButtons();
TouchSensor

Displayul de pe palca NXT are touchscreen iar leJOS ofera suport si pentru aceasta optiune.

Pentru a verifica daca acesta e ste atins: boolean isPressed();

Light Sensor

Sensorul de lumina poate citi cantitatea de lumina din incapere. Acest lucru se poate face cu functia readValue();

Initializarea unui senzor se face:

LightSensor light = new LightSensor(SensorPort.S1);


Sound Sensor

Acest sensor suporta 2 moduri de functionare DB si DBA. Diferenta dintre acestea 2 este frecventa sunetului la care senzorul raspunde;

Constructorii clasei SoundSensor: SoundSensor(SensorPort port); - DB si SoundSensor(SensorPort port, dba) unde dba este o varibila booleana ce trebuie sa fie true pentru a folosi modul DBA;

Pentru a citi valorile sunetului se foloseste functia readValue();


UltraSonic Sensor

Cu ajutorul acestui sensor se pot citi distantele pana la diverse obiecte;

Sensorul poate functia in 2 moduri: continuu, ping. Modul continuu ofera informatii in timp real de la sensor in timp ce in modul ping se poate calcula distanta la un anumit moment trimitand un semnal si calculand 8 valori.

Aceste valori se pot afla cu ajutorul functiei int readDistances(int [] distante) care va retine in array-ul distante cele 8 valori.



Pentru modul continuu se foloseste functia intgetDistance() care returneaza valoarea in centimetri de distanta. Distanta maxima este ~170 cm. Daca nu se detecteaza niciun obstacol se va intoarce valoarea 255.
Yüklə 9,88 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin