4. Senzori aferenti platformei LEGO Mindstorms.pdf
4. Senzori aferenti platformei LEGO Mindstorms.pdf
4. Senzori aferenti platformei LEGO Mindstorms.pdf
Transform your PDFs into Flipbooks and boost your revenue!
Leverage SEO-optimized Flipbooks, powerful backlinks, and multimedia content to professionally showcase your products and significantly increase your reach.
<strong>Senzori</strong> aferenți <strong>platformei</strong><br />
Platforma are în dotare 4 senzori, și anume: senzorul<br />
tactil, senzorul de sunet, senzorul de lumină și senzorul de<br />
ultrasunete. Cu ajutorul acestor senzori, robotul poate<br />
executa diferite comenzi, cum ar fi să reacționeze la<br />
impactul cu un anumit obstacol, să răspundă la comenzi<br />
vocale, să urmărească un anumit traseu sau să evite<br />
diverse obstacole.<br />
C1 - 22
<strong>Senzori</strong><br />
Controllerul NXT are în componență 4 porturi care<br />
permit conectarea la acesta a diverselor tipuri de senzori.<br />
<strong>Senzori</strong>i sunt folosiți pentru a capta informații despre<br />
mediul înconjurător. Pe lângă senzorii „tipici” ai setului<br />
<strong>Mindstorms</strong> NXT (senzor de culoare, senzor de atingere și<br />
senzor ultrasonic) există o varietate mare de senzori<br />
compatibili dintre care amintim:<br />
<br />
<br />
Optici: senzor de lumină, senzor de culoare<br />
Ambientali: senzor de temperatură, senzor de<br />
sunet<br />
Mecanici: senzor de accelerație, senzor<br />
giroscopic<br />
<br />
Orientare: senzor tip busolă, senzor de distanță<br />
C2 - 38
Senzor atingere<br />
Senzorul tactil este unul dintre cei mai simpli și cel mai<br />
intuitiv dintre toți senzorii NXT. Funcţionează aproximativ ca<br />
un buton de comandă. În momentul în care este acţionat,<br />
circuitul este închis şi curentul electric trece prin el.<br />
Comanda cea mai utilizată a senzorului este de<br />
amortizare. Amortizoarele sunt cele mai simple modalităţi de<br />
a interacţiona cu mediul înconjurător; ele permit robotului să<br />
detecteze obstacolele în momentul în care le ating, aceştia<br />
schimbându-şi orientarea corespunzător.<br />
Senzorul tactil poate avea trei aplicaţii: apăsat, lăsat<br />
sau de amortizare. Aceseta sunt importante deoarece obligă<br />
robotul să reacţioneze diferit, în funcţie de situaţie.<br />
Una din variantele de programare a senzoului este din<br />
softul NXT-G si este următoarea: în tabloul de comandă<br />
există două subdiviziuni şi anume: selectarea portului pe<br />
care este conectat senzorul şi modul de acţionare al<br />
acestuia. În cea de-a doua subdiviziune se pot selecta<br />
funcţiile: apăsat, lăsat şi amortizare. Amortizarea înseamnă<br />
apăsarea rapidă a butonului şi eliberarea acestuia în mai<br />
puţin de 5 secunde.<br />
A doua modalitate de programare este din meniul<br />
controllerului NXT. Această metodă este foarte utilă mai ales<br />
în momentul în care se dorește verificarea funcționării<br />
senzorului. De exemplu, dacă în program există o problemă<br />
în funcționarea senzorului, din meniul controllerului se poate<br />
verifica dacă senzorul are vreo defecțiune sau este o<br />
problemă de programare.<br />
C2 - 39
Senzor tactil<br />
Aplicație:<br />
Să se scrie un program care va afișa o imagine la<br />
apăsarea senzorului de atingere și alta în rest.<br />
În prima fază se alege imaginea care apare inițial pe<br />
ecranul controllerului, dintr-un bloc de tip display (indicația 2).<br />
Se alege din paleta “flow” blocul “wait” (indicația 1)<br />
căruia i se selectează senzorul de atingere (indicația 5) din<br />
panoul de comandă. Tot din panoul de comandă, din tipul<br />
acțiunii la care trebuie sa reacționeze senzorul (indicația 6),<br />
se alege ca acesta să reacționeze în momentul în care este<br />
apăsat.<br />
Următorul bloc din program este tot unul de tip display<br />
(indicația 3) pe care este selectată o altă imagine, cea dorită<br />
în momentul apăsării butonului.<br />
Ultimul bloc este unul de tip wait pe care este selectat<br />
un sensor tactil (indicația 4), astfel încât ultima imagine să fie<br />
reținută pe ecran până în momentul altei comenzi primită de<br />
senzor. Tot programul este pus într-un bloc de tip loop.<br />
Cu ajutorul acestui program se pot testa cele trei faze<br />
ale senzorului.<br />
C2 - 40
Senzor tactil<br />
Aplicație:<br />
Să se scrie un program care va afișa o imagine la<br />
apăsarea senzorului de atingere și alta în rest.<br />
Pentru acest program este nevoie de un bloc de tip<br />
swith care are ca intrare un sensor tactil (indicația 1). Tipul<br />
senzorului se alege din panoul de comandă (indicația 2).<br />
Se selectează acțiunea dorită, în acest caz se doreste<br />
ca butonul senzorului să fie apasat. În momentul în care<br />
senzorul este apăsat, se afișează o anumită imagine.<br />
Imaginea este selectată dintr-un bloc de tip display.<br />
Blocul este amplasat pe ramura “true” a blocului, după<br />
cum se vede în indicația 3. În caz contrar, se afișează o<br />
imagine diferită tot cu ajutorul unui bloc display care este<br />
amplasat pe ramura de „false” a blocului, după cum se poate<br />
observa în indicația <strong>4.</strong><br />
C2 - 41
Senzor ultrasonic<br />
Senzorul ultrasonic permite robotului să detecteze<br />
obiecte. El mai poate fi folosit pentru a evita obstacole, să<br />
măsoare distanţe şi să detecteze mişcarea.<br />
Senzorul ultrasonic măsoară distanţa în centimetri sau<br />
inchi. Este capabil să măsoare distanţe de la 0 la 255<br />
centimetrii cu o precizie de +/- 3 cm.<br />
Principiul detectării ultrasonice este faptul că senzorul<br />
eminte ultrasunete de înaltă frecvență (peste limita auzului<br />
uman), care ricoșează de pe obiecte și este citită de senzor.<br />
Timpul necesar întoarcerii undei sonore determină<br />
distanța la care se află obiectul. Cu cât intervalul de timp<br />
este mai mare, cu atât distanța față de obiect este mai mare.<br />
Liliecii folosesc același principiu pentru a se deplasa și a<br />
localiza prada.<br />
Un mod comun de a programa senzorul este de a-l<br />
seta să verifice constant mediul înconjurător iar apoi să<br />
folosească valorile citite pentru a comanda robotul să<br />
reacționeze. (ex. Să ocoleasacă sau să dea înapoi) Citirile<br />
sunt normalizate, primind valori de la 0 la 100.<br />
C2 - 42
Senzor ultrasonic<br />
Aplicație:<br />
Să se scrie un program care va genera un sunet în<br />
momentul în care un obiect se apropie la mai puțin de 20 cm<br />
de senzorul ultrasonic.<br />
Pentru rezolvarea aplicației, se va folosi un bloc wait.<br />
Acesta se alege din paleta „flow”, după cum se vede în<br />
indicația 1 din figura alăturată.<br />
Din panoul de comandă se alege funcția dorită pentru<br />
blocul wait, adică senzorul ultrasonic căruia i se setează<br />
parametri doriți, adică pentru ce distanță să funcționeze<br />
(indicația 5) și portul pe care este pus senzorul (indicația 6).<br />
Următoul bloc din program este blocul de sunet<br />
(indicația 2), deoarece robotul, în momentul în care ajunge la<br />
o distanță mai mică sau egală cu cea selectată la blocul<br />
anterior, să genereze un sunet selectat din meniul blocului.<br />
Ultimul bloc este tot unul de tip wait căruia i se<br />
selectează tot un senzor ultrasonic (indicația 6). Toate trei<br />
blocurile sunt puse într-un bloc loop.<br />
C2 - 43
Senzor ultrasonic<br />
Aplicație<br />
Să se scrie un program care va afișa o imagine în<br />
momentul în care un obiect se găsește la mai puțin de 20 cm<br />
de senzorul ultrasonic.<br />
Pentru această aplicație se va folosi un bloc de tip<br />
switch (indicația 1), căruia i se alege un senzor ultrasonic din<br />
panoul de comandă (indicația 6).<br />
Cu cursorul din indicația 7 se alege distanța pe care să<br />
o „vadă” senzorul, adică dacă este selectat 20 de centimetri,<br />
în momentul în care distanța e mai mică se execută blocurile<br />
din partea de „true” a blocului (ndicația 2), iar dacă valoarea<br />
e mai mare, programul din partea de „false” a blocului switch<br />
(indicația 3).<br />
Când senzorul detectează un obiect la mai puțin de 20<br />
de centimetri, va afișa o imagine (indicația 4), iar dacă<br />
obiectul este la o distanță mai mare, pe ecranul controllerului<br />
va fi afișată o altățț imagine (indicația 5). Senzorul este<br />
conectat la portul 4 al controlerului (indicația 8).<br />
C2 - 44
Senzor ultrasonic<br />
Senzorul ultrasonic are o rază mare de acțiune și nu<br />
depinde de intensitatea luminoasă din cameră (pentru că<br />
folosește sunetul). Pe de altă parte, emite și receptionează<br />
unde la unghi aproximativ 30° , chiar și un obiect punctiform<br />
apare detaliat după o scanare.<br />
Senzorul are probleme cu detectarea anumitor<br />
materiale, de exemplu nu poate percepe materiale moi<br />
deoarece acestea absorb ultrasunetele, în timp ce o oglindă<br />
poate să reflecte ultrasunetele.<br />
C2 - 45