Studii universitare de Masterat [301897]
Universitatea POLITEHNICA din București
Facultatea de Ingineria și Managementul Sistemelor Tehnologice
Departamentul de Teoria Mecanismelor și a Roboților
Studii universitare de Masterat
Programul de studii
Consultanță în proiectarea sistemelor mecanice
CPSM
LUCRARE DE DISERTAȚIE
SISTEME CU SENZORI PENTRU ORIENTAREA PERSOANELOR CU DIZABILITĂȚI. STUDII DE CAZ.
2018 – 2019
Cuprins
CAPITOLUL I. Senzori. Descriere generală …………………………………………………………………
I.1. Studiu privind principiile de funcționare ale senzorilor de proximitate ……..
Capitolul II . Descrierea generală a elementelor hardware ale sistemelelor aflate în studiul
II.1 ………………………………………………………………………………..
Capitolul III Sisteme pentru măsurarea distanței. Studii de caz ………………………………………
III.1. [anonimizat]04 ……………………………………………………………………………………………………………………………………….
III.2. [anonimizat]04 și un ecran LCD ..………………………………………………………………………………………………
III.3. [anonimizat]04 …..…………….12
Capitolul IV. Concluzii …………………………………………………………………………………………………………………..
Bibliografie …………………………………………………………………………………………………………………………………..
CAPITOLUL I. Senzori. [anonimizat]: temperatura, distanța, [anonimizat].
Sistemul senzorial mai este numit și sistem de măsurare. El asigură măsurarea unor mărimi fizice și eventual perceperea unor modificări semnificative ale acestor mărimi. Datorită sistemului senzorial se pot pune în evidențã caracteristicile geometrice și chimice ale obiectelor din mediul de lucru. [anonimizat], [anonimizat], [anonimizat].
Senzorii care oferă informații despre mediul ambiant se mai pot împărți la rândul lor în două categorii: [anonimizat] (senzor tactil), [anonimizat] ([anonimizat], senzor infraroșu).
Un senzor poate fi activ sau pasiv.
Senzorii activi sunt acei senzori care emit energie în mediu pentru a [anonimizat] a putea prelua informația.
[anonimizat]-o [anonimizat]:
Sensibilitatea: reprezintă raportul dintre semnalul de ieșire și semnalul de intrare;
Liniaritatea: exprimă dacă raportul dintre intrare și ieșire este constant;
Intervalul de măsurare: diferența între distanța minimă și cea maximă măsurabilă;
Timpul de răspuns: timpul necesar pentru ca informația de la intrare să fie observabilă la ieșire;
Acuratețea: diferența între semnalul măsurat si semnalul real;
Repetabilitatea: diferențele între măsurători succesive ale aceleiași entități;
Rezoluția: exprimă cea mai mică unitate de incrementare a semnalului măsurat;
Prețul senzorului;
Puterea de calcul necesară pentru a interpreta rezultatele;
Tipul de semnal la ieșire;
Greutatea, mărimea și cantitatea de energie consumată pentru a face o măsurătoare.
Clasificarea senzorilor
În momentul de față, pe piață se găsește o mare varietate de tipuri de senzori. O clasificare de bază a acestora ar putea fi:
Senzori de distanță – senzori care oferă informații despre distanța între senzor și obiectul de măsurat din mediu;
Senzori de poziție – senzori care oferă informații despre poziția obiectului, pe care au fost fixați, în termeni absoluți;
Senzori de mediu – senzori care oferă informații despre diverse proprietăți și caracteristici ale mediului (exemplu: temperatură, culoare, fum, umiditate);
Senzori inerțiali – senzori care măsoară proprietăți de mișcare a obiectului pe care au fost fixați.
Din punct de vedere a implementării în practică putem găsi:
Senzori de contact
Cel mai des întâlnit tip de senzori de contact este reprezentat de senzorii tactili. Termenul de senzor tactil se referă la un traductor care este sensibil la atingere, forță sau presiune. Acești senzori pot fi piezorezistivi, piezoelectrici, capacitivi sau electrorezistivi.
Senzori în infraroșu (IR)
Senzorii în infraroșu (IR) fac parte din categoria de senzori de distanță. Metoda lor de funcționare constă în faptul că fiecare senzor este echipat cu un emițător și un detector. Emițătorul transmite un fascicol de lumină în spectrul infraroșu (de regulă sunt folosite lungimi de undă în intervalul 880-990nm), fascicol care se propagă în mediu, iar apoi se reflectă de obiectele aflate la distanță. Fascicolul reflectat este captat de componenta detector, urmând apoi ca printr-un calcul matematic, să se estimeze o distanță între senzorul în infraroșu și obiectul detectat din mediu.
Senzori ultrasonici
Acești senzori sunt întâlniți în literatura de specialitate și sub denumirea de sonar, senzorii ultrasonici folosesc un principiu oarecum asemănător cu senzorii IR., dar în loc de a transmite fascicole luminoase, ei folosesc semnale acustice. Un emițător transmite un semnal acustic în mediu, urmând apoi ca reflecția acestuia să fie recepționată de componenta detector a senzorului. Timpul în care semnalul este receptat înapoi de senzor precum și atenuarea semnalului reprezintă aspecte specifice tipuri de senzori sonar.
Sunetele transmise de senzori sunt de regulă în spectrul de sunete ultrasonice, având o frecvență foarte înaltă pentru a nu putea fi detectate de urechea umană.
Sensibilitatea unui senzor ultrasonic nu este uniformă, ci consistă dintr-un lob principal și câteva loburi laterale mai mici. De asemenea, această sensibilitate diferă de la un senzor la altul.
Considerații teoretice privind transmiterea ultrasunetelor
Ultrasunetele reprezintă un caz particular al undelor acustice și sunt vibrații mecanice cu frecvențe mai mari de 20 000 Hz. Aspectele dimensionale legate de propagarea ultrasunetelor sunt:
lungimea de undă
viteza de propagare
atenuarea atmosferică
reflectivitatea obiectelor țintă
atenuarea geometrică
frecvența
efectul Doppler
influența zgomotelor
Lungimea de undă
În fizică, lungimea de undă este un parametru de bază al oricărui fenomen ondulatoriu care se propagă în spațiu și anume reprezintă distanța parcursă de undă pe durata unei oscilații, ori distanța dintre două puncte din spațiu între care defazajul relativ al oscilațiilor este de 2π radiani.
Astfel de fenomene pot fi de exemplu undele electromagnetice (lumina, undele radio etc.) și undele mecanice (sunetele, undele seismice etc.). Prin extensie, pentru orice fenomen care se repetă în spațiu, perioada de repetare se poate numi lungime de undă. De exemplu în matematică dacă o funcție sinusoidală are ca argument poziția în spațiu, atunci distanța la care funcția își repetă valorile se numește lungime de undă.
Lungimea de undă este legată de viteza de propagare a undei respective și de frecvența ei.
Viteza de propagare a sunetului
Viteza sunetului este unul dintre parametrii care descriu propagarea sunetului printr-un mediu. Această viteză depinde de proprietățile mediului de propagare, în particular de elasticitatea și densitatea acestuia.
În aer și alte gaze viteza sunetului depinde în primul rând de temperatură. De exemplu, la 0 °C viteza sunetului este de 331,5 m/s, iar la 20 °C aproximativ 343,4 m/s. Presiunea are un efect mic, iar umiditatea nu are aproape nici un efect asupra vitezei.
Atenuarea atmosferică
Pe parcursul propagării ultrasunetelor, o parte din energia acestora este absorbită de mediu.
Reflectivitatea obiectelor țintă
Directivitatea suprafeței obiectului țintă determină cât din energia reflectată e direcționată înapoi spre receptor. Din moment ce majoritatea obiectelor împrăștie semnalul într-un mod izotropic, ecoul se disipă din nou.
Cu cât e mai mare dezacordul între impedanțele dintre cele două medii, cu atât mai multă energie va fi reflectată înapoi la sursă.
Atenuarea geometrică
Creșterea suprafeței frontului de undă pe parcursul propagării ultrasunetelor duce la amortizarea intensității acestora.
Sensibilitatea unui senzor ultrasonic nu este uniformă, ci consistă dintr-un lob principal și câțiva lobi secundari mai mici. De asemenea, această sensibilitate diferă de la un senzor la altul.
Efectul Doppler
Efectul Doppler constă în variația frecvenței unei unde emise de o sursă de oscilații, dacă aceasta se află în mișcare față de receptor. Efectul Doppler poate fi constatat atât în cazul undelor electromagnetice (inclusiv lumina), cât și în cazul undelor elastice (inclusiv sunetul).
Frecvența măsurată crește atunci când sursa se apropie de receptor și scade când sursa se depărtează de receptor.
Influența zgomotului
În general, două tipuri de zgomote pot afecta performanțele senzorilor ultrasonici: zgomotul mediului înconjurător și zgomotul auto-generat.
În general cele două mărimi sunt de natură diferită, mărimea de la intrare fiind o mărime fizică neelectrică iar mărimea de la ieșire o mărime electricǎ sau o mărime care poate fi evaluată electric. În cazul sistemelor ideale, mărimea y reprezintă întotdeauna valoarea generată de senzor pentru stimulul x de la intrare. Dacă se consideră că funcționarea senzorului nu este afectată de nici un alt parametru caracteristica de transfer este de forma: y = f(x). În realitate, pe lângă mărimea fizică de influență x, funcționarea senzorului este afectată de o serie de parametri perturbatori, care pot proveni din surse externe sau interne.
Senzori GPS
Sistemul de poziționare globală prin satelit (Global Positioning System) a fost inițial dezvoltat de către Departamentul de Apărare al SUA începând cu anul 1973. Sistemul este alcătuit din aproximativ 21 de sateliți și permite oricărui receptor autorizat să-și calculeze poziția și viteza cu care se deplasează. Sistemul GPS nu poate fi folosit în interiorul clădirilor, deoarece el necesită ca între receptor și satelit să existe vizibilitate directă. Momentan există mat multe implementări ale serviciului, printre care SPS (Standard Positioning System) disponibil pentru civili, respectiv PPS (Precise Positioning System), disponibil pentru armată.
SPS are o acuratețe de aproximativ 100m pe orizontală, fapt pentru care nu este folosit prea mult.
Senzori video
Senzorii vizuali sunt reprezentați de regulă camere video. În momentul de față senzorii de imagine folosesc două tehnologii: CCD și CMOS.
Camerele video obțin o cantitate mare de informații din câmpul lor vizual. Procesarea acestor date poate necesita o putere de calcul ridicată, mai ales dacă se dorește obținerea unor performanțe optime din informațiile culese.
Aplicațiile senzorilor vizuali sunt extrem de variate:
control și inspecție: starea suprafețelor, culori, aspect, forme, contur și dimensiuni;
verificare: prezența sau absența unui obiect;
identificări și localizări de obiecte: în plan (2D) sau în spațiu (3D);
urmărirea unui contur.
Erori întâlnite în cadrul măsurării cu ajutorul senzorilor
Orice model al unui senzor ar trebui să includă și un model intern al zgomotului care poate afecta senzorul în momentul citirii informației. Problema recuperării informației din mediu utilizând datele primite de la senzor poate fi destul de complexă.
Orice tip de senzor poate fi afectat de mai multe tipuri de erori. Dintre acestea, cele mai importante sunt erorile incidentale, erorile sistematice.
Erorile incidentale apar ocazional și pot avea un efect neprevăzut asupra informației, ele provenind în cea mai mare parte de la măsurători efectuate greșit.
Erorile sistematice au o influență predictibilă asupra acurateții informației, acestea provenind de la o interpretare greșită a parametrilor în algoritmii de estimare, sau din cauza unor neconcordanțe în modelare.
I.1 Studiu privind principiile de funcționare ale senzorilor de proximitate
Senzori de proximitate capacitivi
Principiul de funcționare:
1. Principiul de funcționare al senzorilor de proximitate capacitivi diferă numai într-o mică măsură de funcționarea celor inductivi. Deosebirea principală este că în locul bobinei se folosește un electrod de forma unei plăci cilindrice. În timpul funcționării ia naștere un câmp capacitiv între electrod și pământ, deci și între senzor și pământ. (Practic, una din liniile de alimentare este pământul).
Fig. nr. I.1.1. Senzor de proximitate capacitiv – camp capacitiv- /1/
2. Când în apropierea senzorului nu se găsește nici un obiect de detectat, câmpul format este stabil.
Fig. nr. I.1.2. Senzor de proximitate capacitiv – camp capacitive stabil /1/
3. Când obiectul de detectat este în apropierea senzorului capacitiv, sarcina negativă și cea pozitivă a obiectului se separă. Sarcinile pozitive ale electrodului atrag cele negative ale obiectului de detectat, iar sarcinile pozitive ale obiectului sunt atrase de către pământ. Cum sarcinile negative sunt mai aproape de electrod crește capacitatea electrostatică a electrodului. Aceasta este detectată de senzor și astfel obiectul este detectat.
Fig. nr. I.1.3. Separarea sarcinilor negative de cele positive la detectarea obiectului /1/
Principiul de funcționare
1. Senzorul de proximitate inductiv constă dintr-o bobină înfășurată în jurul unui miez de ferită situat în capul de sesizare. Aplicând o frecvență înaltă, se generează un câmp magnetic oscilant în jurul capului de sesizare. Câmpul magnetic este monitorizat de un circuit intern. Când un obiect metalic intră în câmpul magnetic, câmpul induce curent electric în obiectul de detectat. Valoarea curentului indus crește odată cu apropierea obiectului de suprafața frontală a senzorului. Acest curent cauzează un efect de transformator. Ca urmare, atât energia cât și oscilația scad în bobină. Până la urmă, oscilația încetează complet pe măsura apropierii obiectului. Circuitul intern observă încetarea oscilației și comută ieșirea. Având în vedere că funcționarea se bazează pe un câmp electromagnetic, efectele de mediu influențează mai puțin funcționarea senzorilor de proximitate în comparație cu senzorii fotoelectrici. Funcționarea senzorului de proximitate nu este afectată de apa, ulei sau de alte impurități.
Senzori ecranați:
2. Acești senzori au un cilindru de ecranare dispus în jurul miezului de ferită. Ca urmare, câmpul electromagnetic scade în fața capului de sesizare.
Fig. nr. I.1.4. Senzor de proximitate inductive – capul de sesizare a senzorului
Senzorului i se poate monta în față o suprafața metalică. Astfel, se poate asigura protecția mecanică a senzorului.
Fig. nr.I.1.5. Montare suprafeță metalică pentru protecția senzorului /1/
Aceasta limitează însă distanța de detecție, dar senzorul poate fi montat în așa fel încât obiectele metalice de lângă el să nu-l influențeze.
Senzori neecranați:
3. Spre deosebire de senzorii ecranați, în acest caz în jurul miezului de ferită nu se găsește nici un clilindru de ecranare. Diferența dintre cele două tipuri de senzori se poate vedea cu ochiul liber.
Fig. nr. I.1.6 Snzor de proximitate inductive neecranați /1/
Senzorul neecranat asigură o distanță de detecție mai mare decât senzorul ecranat cu același diametru. La același diametru, distanța de sesizare a senzorului neecranat este aproximativ dublă.
Odată cu creșterea câmpului, crește și posibilitatea de influențare laterală a senzorului. De aceea, nu poate fi fixat la același nivel cu suprafața metalică.
Pentru evitarea problemelor de detecție, trebuie să luăm în considerare următoarele ecuații: Dimensiunea minimă (d): (d) >= 3 × (∅) diametrul senzorului de proximitate, de exemplu în cazul unui senzor M30 ecranat: (d) >= 3 × 30 mm = 90 mm.
Fig. nr. I.1.7 Așezarea corectă a senzorului de proximitate în raport cu diametrul acestuia /1/
Capitolul II. Descrierea generală a elementelor hardware ale sistemelor aflate în studiu
In acest proiect mi-am propus să realizez mai multe sisteme care utilizează platforme pe bază de procesoare și microcontrolere, sisteme care pot fi de folos persoanelor cu deficiențe de vedere. La sistemele pe bază de microcontrolere se pot conecta o suită de senzori, dispozitive de afișare, dispozitive pentru redarea, amplificarea sunetelor etc.
Platforma Arduino
Placa Arduino este un microsistem cu microcontroller și procesor. Procesoarele utilizate până în 2015 au fost cele produse de către firma ATMEL, după anul 2015 s-au utilizat și alte procesoare, dar totuși cele de la ATMEL au rămas mai populare.
Arhitectura procesoarelor este cea de tip RISC (Reduced Instruction Set Computer).
Microcontrolerele au un set de instrucțiuni mai redus, ceea ce le permite aplicațiilor de control, să realizeze activitățile mult mai rapid.
Avantajele microsistemelor pe bază de microcontrolere și microprocesoare RISC, sunt de luat în seamă pentru că oferă cost mai mic al componentelor, un set mai mic de instrucțiuni, prin urmare durata de realizare a setului de instrucțiuni este mai mică.
Aceste microsisteme sunt dotate cu U.C.P pentru a putea lucra în timp real, sunt dotate cu interfețe seriale, paralele, clock (timer), sistem propriu pentru supravegherea timpilor de execuție al programelor și al instrucțiunilor, procesor de semnale, toate acestea în primul rând pentru a putea fi programate.
Porturile seriale sunt implementate hardware pe platforma Arduino printr-un controler special numit UART (The Universal Asynchronous Receiver/Transmitter).
La conectarea plăcii Arduino la calculator, acest chip se conectează la magistrala paralelă a computer-ului prin intermediul interfeței seriale.
Chipul are definit un protocol de tip UART, care permine ca pe linia serială să se conecteze doar două dispozitive, indiferent dacă pe acea linie serială sunt deja conectate mai multe. Acest dezavantaj duce uneori la arderea celorlalte componente care s-au conectat serial.
Fig. nr. II.1 Protocolul UART
Sursa foto: : https://profs.info.uaic.ro/~arduino/index.php/
Acestă problemă a fost remediată prin implementarea protocolului I2C. Acest protocol permite conectarea la o linie serială a 1008 componente, iar fiecare I2C poate conenta 108 dispozitive.
Fig. nr. II. 2 Protocol I2C
Sursa foto: https://profs.info.uaic.ro/~arduino/index.php/Comunicare_I2C
Pentru a mări viteza de transfer dintre calculator și platformă, placa Arduino are un buffer de memorie de 16KB, care poate ajunge până la 64KB (el diferă ca mărime de la un model la altul). Acest buffer oferă posibilitatea de stocare a datelor, în timp ce datele procesate ies pe portul serial.
Odată cu trecerea anilor, porturile seriale au suferit modificări, în sensul măririi vitezei de transfer. Aici pot aminti ESP (Enhanced Serial Port) sau Super ESP (Super Enhanced Serial Port), porturi de mare viteză.
Porturile seriale sunt implementate din punct de vedere software cu ajutorul porturilor de tip COM. Aceste porturi se regăsesc în mediul de dezvoltare a platformei, Arduino IDE.
În cadrul mediului de dezvoltare Arduino IDE, softul alocă un port serial de tip COM, ca de exemplu COM3, COM5, COM6, etc. Acest port permite mediului de dezvoltare să facă legătura dintre componenta software și cea hardware la nivel serial.
Componenta software a platformelor Arduino este destinată programării microcontroller-ului, a tuturor componentelor conectate la placă sau conectate între ele, în vederea realizării unui ansamblu funcțional
Plăcile pot comunica cu PC-ul prin intermediul interfețelor seriale, inclusiv USB și astfel se pot încărca sursele de cod în memoria fash a plăcii.
Programarea microcontrolerelor se poate face prin intermediul mediului de dezvoltare Arduino IDE. Acest mediu de dezvoltare a luat naștere pe baza proiectului Processing și a celui numit Wirring și are suport pentru limbajele C/C++. Arduino IDE are inclus un editor de texte pentru a permite editarea liniilor de cod, dar a fost gândit astfel încât să poată evidenția sintaxele, iar programul obținut se numește sketch.
Procedurile de I/O sunt oferite utilizatorului din cadrul proiectului Wiring, biblioteca oferită utilizatorilor purtând același nume.
Orice sketch are următoarea structură:
Setup () -aceasta este funcția care va rula o singură dată la începutul programului, odată cu inițializarea setărilor
Observație: Marea majoritate a plăcilor au un buton de Reset. După resetarea plăcilor această funcția setup() va prelua noile setări.
Loop()- această funcție este ciclică, ea are ca scop execuția instrucțiunilor din componența ei atât timp cât placa este alimentată.
Sketch-ul realizat cu ajutorul mediului de dezvoltare Arduino IDE poate fi încărcat în memoria plăcii și apoi va fi interpretat de către microcontroler datorită faptului că microcontrolerul are preinstalat un program numit bootloader.
Bootloader-ul este un program special aflat la începutul memoriei program și el poate comunica cu portul USB sau cu protocolul UART și poate prelua datele de la un PC sau de la un alt dispozitiv. Ca exemplu, pentru placa Arduino Uno ca bootloader găsim programul Optiboot. Bootloader-ul este un fișier.hex care rulează atunci când a fost pornită placa Arduino. Este asemănător cu BIOS-ul care rulează pe PC-uri. Are două proprietăți, cea care este activată prima este cea de inspectare și anume verifică portul serial dacă cumva se trimit date de la PC prin care se încearcă programarea acestuia. Dacă pe portul serial este sesizată o astfel de acțiune, atunci informația primită pe portul serial va fi depozitată într-o memorie de tip IC într-o locație specifică, pentru a fi supraînscris bootloader-ul. Codul creat prin intermediul interfeței Arduino IDE și apoi încărcat pe placă resetează chipul platformei. Acestă acțiune oprește IC-ul și îl repornește din nou, astfel încât repornirea să poată fi realizată din nou, dar cu noile acțiuni.
În cazul în care nu a fost sesizată o nouă operație de încărcare de cod, acesta predă controlul chip-ului, iar chip-ul la rândul lui rulează codul deja stocat în memorie și face această acțiune atât timp cât placa este alimentată.
Familia de plăci Arduino
Fig. nr. II.3 Platforme Arduino
Sursa foto: https://www.digikey.com/en/maker/blogs/2019/how-to-debug-your-arduino
Placa Arduino Leonardo
Descriere generală
Acest tip de placă are în componență un microcontroler bazat pe ATmega32µ4.
Are 20 de intrări/ieșiri digitale, dintre care șapte pot fi utilizate ca ieșiri PWM și 12 ca intrări analogice; un oscilator de cristal de 16 MHz; o conexiune micro USB; o mufă de alimentare; un antet ICSP; și un buton de resetare. Poate fi conectat la un PC prin intermediul unui cablu USB sau poate fi alimentat de la un adaptor AC-to-DC (de curent alternativ la curent continu), sau de la o baterie. Placa Leonardo diferă de toate plăcile anterioare prin faptul că ATmega32µ4 are incorporată comunicarea prin intermediul interfeței de tip USB, eliminând necesitatea unui procesor secundar.
Variante constructive
Fig. nr. II.4 Variante contructive pentru placa Arduino Leonardo
Sursă foto: https://www.digikey.com/en/product-highlight/a/arduino/leonardo-board
Parametri tehnici :
Placa Arduino Leonardo poate fi alimentată prin conexiunea micro USB sau USB de la o sursa de alimentare externă. Sursa de alimentare este selectată automat, de către placă.
Puterea externă (non-USB) poate proveni de la un adaptor AC-DC ( de curent alternativ la curent continuu) conectat la o priză și apoi la mufa de alimentare a plăcii.
În cazul alimentării de la o baterie conectarea se poate realiza prin utilizarea pinilor Gnd și Vin de pe placă.
Pinul Vin se utilizează atunci când se dorește alimentarea de la o sursă externă, care trebuie să fie o sursă de energie reglată. Tensiunea de intrare pe placă, trebuie să fie de 5 volți și conexiunea se poate realiza printr-o mufă de tip jack atunci când este conectată la o sursă externă.
Placa Arduino Leonardo (with header) -Cod produs A000057
Tabel nr. 1 Specificații tehnice pentru placa Arduino A000057
Din specificațiile tehnice se observă că una dintre caracteristici este cea care se referă la faptul că această placă are protecție la curent. Se mai poate observa că din memoria de tip flash de 32kB, 2.5kB se utilizează de către bootlooder.
Placa Arduino Leonardo (without header)-Cod produs A000052
Această placă are un microcontroler pe 8 biți și procesor din familia AVR. Legăturile altor componente cu această placă se pot realiza doar prin lipirea pinilor, pentru că după cum îi spune și denumirea nu are capete de legătură.
Fig. nr. II.5 Placa Arduino Leonardo fără pini-Parametri constructivi
Sursa foto: https://www.digikey.com/catalog/en/partgroup/arduino-leonardo-without-headers/63974
Placa Arduino Leonardo ETH-Cod produs A000022
Aceasta placă spre deosebire de plăcile A000057, este dotată cu microcontroler W5500 TCP/IP cu ajutorul căruia se pot realiza proiecte IoT, astfel se vor putea controla senzorii, servomotoarele prin intermediul Internetului, în calitate de client sau de server.
În cazul acesta, microcontroler-ul ATmega32µ4 în memoria sa are incorporat (prin ardere) programul bootlooder. Acesta comunică utilizând protocolul AVR109.
Tabel nr. 2 Specificații tehnice pentru placa Arduino A000022-23
După cum reiese din specificațiile tehnice, bootloader-ul din memoria de tip flash de 32kB utilizează doar 4kB.
Placa poate fi alimentată și printr-o sursă de alimentare externă, printr-un sistem opțional
Power over Ethernet (PoE) sau utilizând conexiunea micro USB. Extern (non-USB) se poate alimenta de la un adaptor AC-DC sau de la o baterie.
Placa poate funcționa cu o sursă externă de 6 până la 20 de volți.
Întotdeauna trebuie verificat dacă plăcii i se furnizează dintr-o sursă externă mai puțin de 7V, în astfel de situații se observă că placa devine instabilă.
Nici în situațiile în care placa este alimentată cu mai mult de 12V nu este o alegere potrivită, pentru că regulatorul de tensiune de pe placă se poate supraîncălzi și poate deteriora placa.
Intervalul recomandat este de la 7 la 12 volți.
Modulul PoE a fost conceput pentru a extrage energia dintr-un cablu UTP, Cat 5. Modulele PoE respectă standardele IEEE 802.3 a, f, standard care permite ca domeniul tensiunii de intrare să fie compatibil cu intervalul de 36V până la 57V, protecție la suprasarcină și protecție la scurtcircuit
Fiecare din cei 14 pini digitali de pe placa Leonardo ETH poate fi utilizat atât ca intrare cât și ca ieșire, utilizând funcțiile pinMode(), digitalWrite() și digitalRead().
Leonardo ETH are o siguranță resetabilă care protejează portul USB-ul calculatorului de șocuri și suprasarcini. Deși majoritatea calculatoarelor oferă propriile protecții interne, siguranța asigură un nivel suplimentar de protecție. De exemplu dacă se aplică mai mult de 500 mA, la portul USB siguranța va întrerupe automat conexiunea până când acțiunea care a provocat scurtcurcuitul sau supraîncărcarea va fi îndepărtată și a fost restabilit circuitul, dacă este cazul.
Este dotat cu un cititor de carduri microSD, care poate fi utilizat pentru stocarea fișierelor care pot fi distribuite în rețea, de exemplu.
Arduino Uno
Fig. nr. I.6 Placa Arduino Uno-Descriere generală
Sursa foto: https://www.fecegypt.com/uploads/dataSheet/1522237550_arduino%20uno%20r3.pdf
Componentele plăcii
Placa Arduino Uno are incorporat un microprocesor Atmel® picoPower® și un microcontroler ATmega328/ P, un CMOS de putere redusă pe 8 biți, bazat pe arhitectura RISC AVR®, îmbunătățită. Acest ansamblu microprocesor- controler execută instrucțiuni puternice într-un singur ciclu de ceas și poate realiza transferuri apropiate de 1 MIPS pe MHz. Astfel dispozitivul optimizează consumul de energie versus procesare cu viteză mare.
Caracteristici tehnice:
Echipamente Atmel®AVR® de înaltă performanță, au putere scăzută
Arhitectura avansată RISC oferă:
– 131 Instrucțiuni puternice
– ciclu unic de ceas pentru execuție
– 32 x 8 registre de lucru cu scop general
– Operație complet statică
– Până la 20 MIPS (Million Instructions Per Second) până la 20MHz
– Multiplicator On-chip 2-cycle (pe fiecare ciclu se multiplică de două ori)
Segmente de memorie nevolatilă de înaltă rezistență
32 KBytes memorie flash programabilă
– 1 KBytes EEPROM
– SRAM internă de 2KBytes
– Cicluri de scriere/ștergere: 10.000 pentru memoria Flash/100.000 pentru memoria EEPROM
– Reținere date: 20 de ani dacă este utilizat la 85° C/100 de ani dacă este utilizat la 25° C
– Are secțiune de cod opțională de pornire cu biți independenți de blocare
Fig. nr. I.7 Diagrama bloc a arhitecturii AVR
Sursa foto: https://cdn.sparkfun.com/assets/c/a/8/e/4/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf
Pentru a maximiza performanța și paralelismul, tehnologia AVR folosește o arhitectură Harvard – cu un sistem separat de memorii și magistrale pentru programe și date. Instrucțiunile din memoria programului sunt executate cu ajutorul unui singur nivel de pipelining. În timp ce se execută o instrucțiune, următoarea instrucțiune este pre-preluată de la memorie program. Acest concept permite ca instrucțiunile să fie executate în fiecare ciclu de ceas. Memoria de tip program este memorie Flash reprogramabilă în sistem.
Fișierul de înregistrare cu acces rapid poate accesa cele 32 de registre de lucru pe 8 biți, cu un singur ceas, ciclu de acces timp. Aceasta permite o funcționare a unității logice aritmetice cu un singur ciclu (ALU). Pentru ALU (Unitatea Aritmetică și Logică), doi operanzi sunt extrași din fișierul de înregistrare, operația este executată și rezultatul este stocat înapoi în fișierul de înregistrare – într-un singur ciclu de ceas.
Șase din cele 32 de registre pot fi utilizate ca trei indicatoare de adresă indirectă pe 16 biți pentru Data Space, abordare care să permită calcule eficiente de adrese. Unul dintre acești indicatori de adresă poate fi, de asemenea, utilizat ca un indicator al adresei pentru a căuta tabele în memoria programului de tip Flash. Aceste registre de funcții suplimentare sunt registrele X, Y și Z pe 16 biți.
Fluxul de programe este furnizat prin instrucțiuni de tip jump și apeluri condiționate și necondiționate, capabile să apeleze direct întregul spațiu de adrese. Cele mai multe instrucțiuni AVR au un singur format de cuvânt pe 16 biți. Fiecare adresă de memorie a programului conține o instrucțiune de 16 sau 32 de biți.
Spațiul memoriei program de tip flash este împărțit în două secțiuni, secțiunea programului de boot și secțiunea de aplicații
În timpul apelurilor pentru întreruperi și subrutine, adresa de retur Program Counter (PC) este stocată pe Stack.(memorie de tip stivă).
Stack-ul este efectiv alocat în SRAM-ul general și prin urmare, dimensiunea Stack-ului este
limitată numai de dimensiunea totală a SRAM și de spațiul alocat utilizării SRAM-ului. Toate programele de tip utilizator trebuie să inițializeze SP(Stack Pointer) la lansare.
În cadrul rutinei de resetare a plăcii (realizată înainte de executarea subrutinelor sau întreruperilor). Stack Pointer (SP) este citit/scris în zona accesibilă în cadrul spațiul I/O.
Datele din SRAM pot fi ușor accesate prin cele cinci adresări diferite, moduri acceptate în arhitectura AVR.
Spațiile de memorie din arhitectura AVR sunt hărți de memorie liniară și regulată.
Un modul de întrerupere flexibil are registrele sale de control în spațiul I/O cu o întrerupere globală suplimentară
Toate întreruperile au un vector separat de întrerupere în vectorul de întrerupere. Întreruperile au prioritate în funcție de poziția vectorului de întrerupere. Cu cât este mai mică adresa vectorului întrerupere, cu atât este mai mare prioritatea.
Spațiul de memorie I/O conține 64 de adrese pentru funcțiile periferice ale CPU ca Registry Control, SPI, și alte funcții I/O.
Caracteristici ale perifericelor
– două timere/numărătoare pe 8 biți, cu prescalare separată și modul de comparare
– un timer/numărător pe 16 biți cu prescalare separată, modul de comparare și modul de captare
– numărător de timp real cu oscilator separat
– șase canale PWM
ADC cu 6 canale pe 10 biți în pachetul PDIP (și cu măsurarea temperaturii)
– Două interfețe seriale SPI Master / Slave
– Un USART serial programabil
– Interfață serială orientată pe doi octeți (Philips I2C compatibil)
– Timer programabil Watchdog cu oscilator separat pe chip
– Un comparator analogic pe chip
-sistem de întrerupere și de Wake-up la schimbarea pinului
Caracteristici speciale ale microcontrolerului:
– Resetare la pornire și detectare programabilă de marcare
– Oscilator intern calibrat
– Surse externe și interne de întrerupere
– șase moduri de repaus: inactiv, reducerea zgomotului ADC, economisirea energiei, pornire, starea de așteptare și extindere în așteptare
Dotările de tip I/O și pachetele asociate acestora
– 23 linii I/O programabile
Tensiune de operare: – 1,8 – 5,5V
Interval de temperatură: – -40 ° C până la 105 ° C
Consum de energie la 1MHz, 1.8V, 25 ° C
– Mod activ: 0.2mA
– Mod de pornire: 0.1μA
– Mod de economisire a energiei: 0,75μA
Fig, nr. I.8 Diagrama Arhitecturii AVR- implementată pe placa Arduino Uno
Sursa foto: https://cdn.sparkfun.com/assets/c/a/8/e/4/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf
Fig. nr. I.9 Configurația pinilor
Sursă foto: https://cdn.sparkfun.com/assets/c/a/8/e/4/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf
Descrierea dispozitivului de afișare
Dispozitivele de afișare sunt pe bază de led-uri sau cristale lichide, care pot afișa matrice de puncte. Un caracter de tip font poate fi afișat utilizând o matrice de 5×8 puncte sau 5×10 puncte. Aceste puncte se pot găsi pe un singur rând al display-ului sau se pot repeta pe mai multe rânduri, dacă display-ul permite acest lucru. Din punct de vedere constructiv putem întâlni dispozitive de afișare cu 16 caractere x2 linii sau 20 de caractere x4 linii de afișare.
Dispozitivele de afișare se găsesc într-o gamă variată de modele, pornind de la culorile cu care se poate afișa, culorile de fundal, cu sau fără lumină de tip bachlight.
Fig. nr. I.12 Dispozitive de afișare cu 16 caractere x2 rânduri
Sursa foto: https://www.tme.eu/Document/0e5094927beb0f841dea92648aef9c36/Raystar_backlight%26color%20matching.JPG
Fig. nr. I.13 Dispozitiv de afișare cu 20 caractere x 4 rânduri
Sursa foto: https://www.robomania.ro/lcd-20-4
În cadrul proiectului am utilizat un dispozitiv cu 16 caractere x2 linii și din acest motiv această categorie, va fi explicată în această lucrare.
La achiziționarea unui astfel de display trebuie luat în seamă faptul că dispozitivul având proprietatea de a afișa, trebuie să cunoaștem ce seturi de caractere poate afișa și acest lucru se poate afla din documentația tehnică citind parametrul special code. Special code cu conținutul:CS (Character Standard) – English and Cyrillic standard font standardul pentru Europa.
Orice dispozitiv de afișare pentru a putea funcționa este construit pe baza unui controller specializat și care la rândul lui trebuie să fie legat de un microprocesor intern.
Fig. nr. I.14 Schema de principiu a unui LCD cu 16 caractere x2 linii
https://www.tme.eu/en/details/rc1602b-biw-csx/lcd-alphanumeric-displays
Microprocesorul (MPU) poate fi pe 4 biți sau 8 biți.
Registrii utilizați de către microcontroler sunt unul de instrucțiuni (IR) și unul de date (DR). Registrul IR stochează codurile instrucțiunilor care pot proveni doar de la MPU, iar DR stochează date de la DDRAM și CGRAM. Aceste două registre pot fi selectate de către semnalul RS (Register Selector), selecție pe care o poate realiza MPU-ul.
Tabel nr. 3 Operații realizate în funcție de semnalele furnizate de către MPU
Tipuri de semnale
RS- semnal pentru selectarea regiștrilor, semnal care poate fi inițiat de către MPU
AC (Address Counter) reprezintă contorul de adrese. Acesta este cel care atribuie adrese atât pentru DDRAM cât și pentru CGRAM.
BF (Busy Flag) reprezintă un semnal care în combinație cu celelalte semnale RS sau R/W poate declanșa anumite acțiuni ale microcontroler-ului sau a DDRAM-ului, sau a CGRAM-ului.
Când BF este 1, controlerul LCD-ului se află în modul de funcționare internă, iar următoarea Instrucțiune nu va fi acceptată. Când RS= 0 și R/=1, BF permite ieșirea microcontroler-ului să adreseze DB7.
Următoarea instrucțiune va fi scrisă după ce BF devine 0.
E- semnal care poate proveni de la MPU și este cel care dă start-ul citirii sau scrierii de date.
DB0 la DB3 reprezintă magistrale de date bidirecționale, de tip low, care leagă plnii DB0 cu MPU, DB1 cu MPU, respective DB3 cu MPU. Aceste magistrale sunt utilizate la transferul și recepția datelor de la MPU și controlerul display-ului. Acești pini nu sunt utilizați la operarea pe 4 biți.
DB4-DB7 reprezintă magistrale de date bidirecționale, de tip high, care leagă pinii DB4 cu MPU, DB5 cu MPU, respectiv DB7 cu MPU. DB7 poate fi utilizat și ca BF.
COM1 la COM16 sunt 16 linii de ieșire a LCD-ului. COM9 la COM16 sunt ieșiri care nu pot fi selectate atunci când duty factor este 1/8, iar COM12 la COM16 nu sunt selectate pentru duty factor egal cu 1/11.
Parametrii display-ului
1. Tipul de afișare: STN (Super-Twisted Nematic display). Acesta este un tip de afișare monocromă cu cristale lichide cu matrice pasivă. Deși este tehnologia anilor1980, ea a fost îmbunătățită astfel încât față de cea standard (TN), moleculele sunt răsucite, prin urmare orientatarea moleculară a cristalului lichid față de câmpul electric a fost modificată de la180 la 270 de grade. În aceste condiții s-a obținut un prag electro-optic mai bun putându-se adresa matricea pasivă, iar în aceste condiții matricea care avea mai multe linii și coloane. Această tehnologie necesită putere mai mică și este mai puțin costisitoare decât vatianta TFT LCD, cunoscută la laptop-uri.
Dacă se dorește un display care să nu fie monocrom, atunci se utilizează tipul CSTN, cu filtre roșii, verzi și albastre, care au ca timp de afișare 100ms în raport cu TFT de 8 ms sau mai puțin.
STN-ul a cunoscut și alte modificări DSTN (cu strat dublu STN), FRSTN (cu răspuns rapid), FSTN (cu film) care oferă un contrast mai mare și o claritate mai mare.
2. Numărul de cicluri de funcționare (duty cycles) este dat de factorul de funcționare (duty factor)
Fig. nr. I.15 Implementarea fonturilor pe liniile de afișare a display-ului
Sursa foto: https://www.sparkfun.com/datasheets/LCD/
Astfel reiese că ciclurile de funcționare pot fi:
– 1/8 pentru o linie de 5×8 puncte cu cursor
– 1/11 pentru o linie de 5 × 10 puncte cu cursor
– 1/16 pentru două linii de 5 × 8 puncte cu cursor
Fig. nr. I.16 Implementarea unui caracter de tip font utilizând cele două metode: 5×8 puncte și 5×10 puncte
Sursa foto: https://www.sparkfun.com/datasheets/LCD/
3. Driving Scheme-: raportul bias – raport al tensiunilor de polarizare, care depinde de rata de multiplexare a LCD-ul
Parametrul LCD bias indică câte puncte de referință ale tensiunișor trebuiesc create pentru a putea funcționa un LCD. Acesta se calculează în funcție de rata de multiplexare a LCD-ului.
Tabel nr. 4 Rată de multiplexare & Bias
Tehnica de multiplexare diferă de tehnica statică prin faptul că utilizează mai multe planuri de fundal (backplane) față de tehnica de multiplexare statică, unde era utilizat un singur plan de fundal și un singur plan comun. În cazul mai multor segmente sau plane de fundal, există pentru fiecare segment o linie de control, care poate fi conectată la mai multe alte segmente. Această metodă multiplexează fiecare linie de control și minimizează numărul de interconectări. Prin urmare această metodă micșorează numărul de conexiuni externe, îmbunătățește fiabilitatea dispozitivului și crește densitatea de afișare.
O rată de multiplexare mai mare duce la o calitate ridicată a afișajului, un interval operational de temperatură, dar și o complexitate mai mare a circuitelor de comandă și un soft specisalizat pentru MPU, necesar pentru buna funcționare a tuturor componentelor. Ca și în cazul LCD-urilor convenționale, pentru a preveni acțiunea electrochimică ireversibilă de distrugere a afișajului, tensiunea la toate locațiile segmentelor trebuie să provoace periodic inversarea polarității astfel încât tensiunea DC netă să fie 0V și să fie aplicată. Segmentelor commune trebuie să li se aplice tensiunea de polaritate opusă.
Pentru a controla un LCD, cu un raport de multiplexare ridicat trebuiesc generate formr dre undă cu multiple niveluri de tensiuni (numite și tensiuni bias).
Tensiunile de polarizare necesare sunt de obicei generate în cadrul unei rețele de împărțire a voltajului pe bază de rezistori. Dacă circuitul este de tip Op-amp rețeaua este formată din rezistori și condensatori, iar în cazul în care este un circuit de comparare de tip fereastră este compus din rezistori și bazat pe un amplificator operațional fără feedback., iar Vdd este la 5 volți iar numărul de rezistențe din rețea este dat de numărul punctelor de tensiune de referință prestabilite
Valorile rezistențelor sunt determinate de punctele de referință de tensiune necesare și de distorsiunea posibilă a formei de undă. Deoarece un LCD este un sistem cu încărcare capacitivă, valorile tensiunilor trebuie să fie scăzute pentru a micșora distorsiunile sau pentru ale diminua. Pentru a se putea realiza compararea punctelor de tensiune se utilizează un comparator Op-amp sau comparator de tip fereastră, care de fapt este un circuit electric care utilizează două comparatoare Op-amp pentru a produce o ieșire cu două stări care indică dacă tensiunea de intrare se încadrează sau nu într-un anumit interval sau într-o fereastră de valori prin utilizarea a două tensiuni de referință.
Fig. nr.I.17 Ilustrarea grafică a valorilor de referință de tip fereastră
Sursa foto: https://www.electronics-tutorials.ws/opamp/op-amp-comparator.html
Comparatorul Op-amp compară un nivel de tensiune analogic cu un alt nivel de tensiune analogic sau cu o anumită tensiune de referință prestabilită, VREF și produce un semnal de ieșire bazat pe această comparație de tensiune. Cu alte cuvinte, comparatorul de tensiune Op-amp compară amplitudinile a două intrări de tensiune și determină care este cea mai mare dintre cele două.
Fig. nr. I.18 Schema de principiu a unui comparator de tip fereastră pentru tensiuni de referință prestabilite
Sursa foto: https://www.electronics-tutorials.ws/opamp/op-amp-comparator.html
Se afișază o tensiune de referință superioară și o tensiune de referință inferioară pentru că rețeaua de divizoare de tensiune furnizează un set de tensiuni de referință pentru circuitele individuale de comparator op-amp. Pentru a produce cele patru tensiuni de referință vor fi necesare cinci rezistoare. Joncțiunea la perechea inferioară a rezistoarelor va produce o tensiune de referință care este o cincime din tensiunea de alimentare 1/Vcc, folosind rezistențe de valoare egală. A doua pereche 2/5 Vcc, a treia pereche 3/5 Vcc și așa mai departe, aceste tensiuni de referință crescând cu o valoare fixă de o cincime (1/5) față de 5/5 Vcc, care este de fapt Vcc.
Fig. nr. I.19 Schema electrică pentru realizarea tensiunilor de polarizare cu ajutorul unui Op-amper –1/5 Bias
Sursa foto: https://www.pacificdisplay.com/lcd_multiplex_drive.htm
4. Tensiune de alimentare: 5V;
5. Intensitatea curentului: 2 mA
5. Tensiune alimentare backlight: 4.2V
6. Intensitatea curentului lumină de fundal: 250 mA.
Reprezentarea caracterelor prin intermediul memoriilor DDRAM, CGRAM și CGROM
Caracterele care urmează a fi reprezentate pe display, mai întâi trebuiesc generate și apoi afișate.
DDRAM (Display Data RAM) reprezintă memoria utilizată la stocarea datele de afișare reprezentate în coduri de caractere pe 8 biți. Display-ul pentru a putea afișa are nevoie de o relație bine stabilită între adresele DDRAM ale caracterelor și pozițiile acestora pe ecranul cu cristale lichide. stochează datele afișate reprezentate în codurile de caractere pe 8 biți. Se poate extinde capacitatea la 80 × 8 biți sau la 80 de caractere. Zona din datele de afișare RAM (DDRAM) care nu este utilizată pentru afișare poate fi utilizată ca memorie RAM generală de date.
CGROM (Character Generator ROM) reprezintă memoria care stochează tiparele caracterelor.
Generatorul de caractere ROM generează șabloane de caractere 5 × 8 puncte sau 5 × 10 puncte pentru caractere pe 8 biți. Poate genera 208 de modele de caractere de 5 × 8 puncte și 32 de modele de caractere de 5 × 10 puncte. Modelele de caractere definite de utilizator sunt de asemenea disponibile prin metoda de programare mask- programmend ROM
CGRAM (Character Generator RAM) reprezintă memoria RAM care generează caractere după model
În generatorul de caractere RAM, utilizatorul poate rescrie modelele de caractere în funcție de program. Pentru 5 × 8 puncte, opt modele de caractere pot fi scrise, iar pentru 5 × 10 puncte pot fi scrise patru modele de caractere. ele fiind memorate în CGROM.
Fig. nr. I.20 Relația dintre adresele CGRAM, codurile caracterelor (DDRAM) și modelele pentru caractere (CGRAM Data) pentru tiparul de 5×8 puncte
Sursa foto: https://www.sparkfun.com/datasheets/LCD/HD44780.pdf
Fig. nr. I.21 Relația dintre adresele CGRAM, codurile caracterelor (DDRAM) și modelele pentru caractere (CGRAM Data) pentru tiparul de 5×10 puncte
Sursa foto: https://www.sparkfun.com/datasheets/LCD/HD44780.pdf
Fig. nr. I.22 Tipurile de semnal și combinarea acestora atât pentru adresarea DDRAM, CGRAM cât și pentru realizarea citirii/scrierii de la/în interiorul DDRAM și CGRAM
Sursa foto: https://www.sparkfun.com/datasheets/LCD/HD44780.pdf
Circuitul de comandă al LCD-ului
Circuitul de commandă a display-ului este alcătuit din 16 semnale de commandă de tip serial pentru LCD și din 40 de semnale de comandă ale segmentelor regiștrilor pentru coduri de memorie.
Fig. nr. I.23 Ilustrarea semnalelor de comandă (16 seriale și 40 de la degmentele registrilorcoduri)
Când caracterul de tip font și numărul de linii sunt selectate de către program, circuitul de comandă selectează automat un semnal de comandă pentru unda de ieșire corespunzătoare, iar celelalte semnale de comandă pentru undele de ieșire continuă să rămână în starea numită non-selectation (stare nesectată). Trimiterea datelor seriale pornește întotdeauna de la memoria CGRAM a tiparelor de date după ce s-a făcut corespondența codificărilor din CGROM, corespunzător ultimei adrese de afișare din DDRAM.
Semnalele de comandă după ce au fost validate de către circuitul de comandă, LCD- ul va afișa informația.
Sursa foto: https://www.sparkfun.com/datasheets/LCD/HD44780.pdf
Fig. nr. I.24 Afișare 8 caractere x1 linie pentru 5×8 și 5×10 puncte pe character
https://www.sparkfun.com/datasheets/LCD/HD44780.pdf
Fig. nr. I.25 Afișare 8 caractere x2 linii pentru 5×8 puncte pe character
https://www.sparkfun.com/datasheets/LCD/HD44780.pdf
Tipuri de interfețe utilizate de către display
Se observă că interfața LCD este una paralelă, ceea ce în practică devine un mare inconvenient pentru că înseamnă că la conectarea unui astfel de LCD trebuiesc legate cele 16 conexiuni ale dispozitivului de afișare. Cu o astfel de situație m-am confruntat atunci când în proiect am utilizat un display RC 1602d.
Fig. nr.I.26 LCD 1602d
Fiind un număr prea mare de conexiuni de făcut doar pentru conectarea LCD-ului a trebuit să adopt o altă soluție. A trebuit să caut o altă soluție fără să renunț la ideea de a utiliza un dispozitiv de afișare.
Cautând un alt tip de interfață pentru display-uri, am constatat că interfața serială poate fi conectată la LCD.
Fig. nr. I.27 Interfețele unui ecran LCD cu 16 caractere x 2 linii
Sursa foto: https://www.sparkfun.com/tutorials/289
In astfel de situații, avantajoasă a fost varianta cu interfață serială incorporată și nu conectară, pentru că nu reduceam cele 16 conexiuni. Prin urmare am înlocuit LCD -ul RC 1602d cu LCD 1602 cu interfață I2C (Inter Integrated Circuit). Interfața I2C se mai găsește sub numele de TWI (Two-Wire-Interface).
Interfața I2C are o magistrală care poartă același nume, iar linii de ieșire sunt doar patru, ceea ce rezolvă problema.
I2C suportă până la 5 MB/s și funcționează în conformitate cu principiul master/slave. Masterul și slave-ul sunt interconectați prin intermediul a patru linii: tensiune de alimentare, masă, ceas (SCL) și date (SDA). Pentru transferul octețilorprin intermediul interfeței I2C se definesc semnalele de pornire și oprire, precum și un semnal de confirmare ACK sau de anulare NACK. Atunci când masterul dorește să comunice cu un slave, acesta trimite un octet al cărui 7 biți inferiori conțin adresa slavului dorit și al cărui cel mai înalt bit îi spune slavului dacă acesta (masterul) dorește să trimită (prin intermediul unui semnal de tip low-semnalul la scăzut) sau să primească date (prin intermediul unui demnal de tip high-semnal înalt). Dacă transmisia de date cu masterul este prea rapidă pentru slave, acesta menține linia de ceas SCL scăzută în timpul transmiterii de octeți individuali.
Descrierea senzorului ultrasonic HC-SR04 și a modului de funcționare al acestuia
Fig. nr.I.28 Captură imagine față-spate a senzorului HC-SR04
Sursa foto: https://www.mpja.com/download/hc-sr04_ultrasonic_module_user_guidejohn.pdf
Senzorul ultrasonic HC-SR04 este capabil să măsoare distanțe cuprinse între 2cm și 400cm cu o precizie care poate fi aproximată la 3mm. Modulul senzorului este compus din mai multe părți funcționale: modulul care emite semnalul sau transmițătorul, modulul care recepționează semnalul și circuitul de comandă.
La punerea în funcțiune a senzorului, circuitul de comandă declanșază modulul transmițător.
Transmițătorul emite un tren de undă format din 8 semale, undă ultrasonică direcțională cu frecvența de 40 kHz. Odată cu emisia semnalului de către transmițător se declanșază un cronometru. Pulsurile cu ultrasunete se deplasează spre exterior până se întâlnesc cu un obiect. Obiectul determină ca undele să fie reflectate înapoi către senzor. Când semnalul reflectat de către obiect întâlnește din nou senzorul , modulul de recepție preia semnalul. Receptorul ultrasonic după ce a detectat undele reflectate oprește cronometrul.
Fig. nr. I.4 Propagarea semnalelor Trigger și Echo
Sursa foto: https://www.mpja.com/download/hc-sr04_ultrasonic_module_user_guidejohn.pdf
Viteza de propagare a ultrasunetelor în aer este de aproximativ 340 m/sec. Pe baza numărului contorizat de cronometru, distanța poate fi calculată între obiect și transmițător.
Formula de calcul pentru distanță este: D = C X T , unde
D reprezintă distanța între senzor și obiect, valoarea pe care doresc să o măsor
C reprezintă viteza de propagare a sunetului în aer
T reprezintă timpul în care a fost parcursă distanța dus și întors, din acest motiv acesta îl voi împărți la 2.
Specificațiile tehnice electrice ale senzorului:
Tensiune de alimentare: 5V- curent continuu
Curent consumat: 15mA
Distanță de funcționare: 2cm – 4m
Unghi de măsurare: 30 grade
Eroare de măsurare: 3mm
Durată semnal Input Trigger: 10µs, puls TTL
Semnal Output Echo: Semnal de tip TTL proportional cu distanța
Dimensiuni: 45mm x 20mm x 15mm
Specificațiile simbolurilor pinilor:
Pentru a putea funcționa senzorul trebuie setate semnalele Trig și Echo pe LOW pentru a initaliza modulul.
Pentru măsurarea distanței, pinul Trig trebuie apoi menținut pe HIGH, timp de 10 µs, pentru a inițializa măsurarea prin trimiterea de unde, iat Echo va fi menținut pe HIGH un interval de timp , până când unda trimisă ajunge din nou la senzor, într-un interval cuprins între150 µs până la 25ms.
Fig. nr. I.5 Figurarea propagării semnalelor de la transmițător către receptor – senzorul HC-SR04
Sursă foto: https://randomnerdtutorials.com/complete-guide-for-ultrasonic-sensor-hc-sr04/
In literature de specialitate semnalul de Trigger se mai simbolizează cu TX, iar semnalul Echo cu RX.
Fig. Nr. I.6 Simbolizarea semnaleor Trigger și Echo
Sursa foto: https://electrosome.com/wp-content/uploads/2014/08/Ultrasonic-Module-Operation.jpg
Distanța până la obstacol se calculează de către senzor când semnalul ECHO este pe HIGH
Distanța = 343m/s X T/2.
Pentru viteza de propagare a sunetului se fac modificări ale unităților de măsură și anume: se transformă metri în centimetri și secundele în microsecunde și astfel se obține 0,0343cm/µs
Distanța (în centimetri) = (0,343cm/µs )/X T/2=1/29,1 cm/µs X T/2
Deci dacă doresc să calculez în centimetri formula devine:
D(cm)=(T/2)/29,1
Senzorului ultraonic HC-SR04 poate fi utilizat dacă se conectează la o platformă cu microcontroller și procesor, de exemplu placa Arduino, AMR, Rasberry Pie, PIC, etc.
Descrierea media player DFPlayer mini
Fig. Nr. Captură imagine DFPlayer mini
http://www.electronics-lab.com/project/mp3-player-using-arduino-dfplayer-mini/
Playerul MP3 DFPlayer Mini este un modul MP3 cu o ieșire simplificată care poate fi conectată direct la difuzor. Modulul poate fi utilizat ca un modul autonom, cu baterii atașate, difuzor sau butoane sau poate fi utilizat în combinație cu o placă Arduino sau cu orice alt dispozitiv care are funcții RX/TX.
Fig. nr. Diagrama DFPlayer mini conectat la un speaker
Sursa foto: https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299
DFPlayer a fost construit să comunice cu alte componente prin intermediul interfeței seriale UART.
Capitolul III Sisteme pentru măsurarea distanței
Studii de caz.
III.1. Sistem pentru măsurarea distanței care utilizează un singur senzor ultrasonic HC-SR04 și o placă Arduino Uno
Etapa de proiectare
In faza de proiectare mi-am propus să realizez un sistem format dintr-un senzor ultrasonic HC-SR04 conectat la o placă Arduino Uno-R3, pentru a putea măsura dinamic distanța dintre senzor și obiectele aflate în fața acestuia.
Obiectele aflate în fața senzorului pot fi statice sau în mișcare. În orice situație s-ar găsi obiectele mă intereseză să aflu distanța până la ele.
Conectarea senzorului presupune mai multe etape, pe care le-am realizat după cum urmează:
Etapa I:- Conectarea plăcii Arduino la placa Breadboard,
Etapa a-II-a: Conectarea senzorului ultrasonic la placa Breadboard,
Etapa a-III-a: Conectarea senzorului la placa Arduino.
În cadrul fiecărei etape în parte am ținut cont de particularitățile fiecărei componente, pentru a evita scurtcircuitarea acestora, în primul rând, pentru a putea pune în evidență funcțiile componentelor pentru care au fost proiectate.
Fig. nr. III.1.1 Sistem format dintr-un senzor ultrasonic HC-SR04-și o placă Arduino Uno-R3 în faza de proiectare
Etapa de implementare hardware
Fig. nr. III.1.2 Realizarea practică a sistemului cu placa Arduino Uno și cu un senzor ultrasonic HC-SR04
După ce conectarea din punct de vedere hardware s-a incheiat, a urmat etapa software de proiectare a proiectului.
Etapa de implementare software
În cadrul acestei etape am utilizat pachetele de informații furnizate de către producătorii componentelor, de unde le-am și descărcat. După ce am instalat kit-ul pentru placa Arduino Uno [1], am putut utiliza interfața Arduino IDE.
Fig. nr. III.1.3 Interfață Arduino IDE
Interfața Arduino IDE pune la dispoziție mai multe opțiuni în cadrul meniului orizontal:
Sketch și Tools
Fig. nr.III.1.4 Captură meniu Sketch din cadrul interfeței IDE
Fig. nr. III.1.5 Captură ecran, meniul Tools- interfața Arduino IDE pentru placa Arduino Uno
Interfața Arduino IDE are menirea de a comunica cu placa Arduino Uno-R3, din cadrul sistemului realizat din punct de vedere hardware, prin intermediul magistralei seriale USB, după ce soft-ul a localizat ca fiind vorba de placa Arduino UNo. Placa Arduino are în componență buffere de memorie, ceea ce îi permite să memoreze codul sursă.
În cadrul codului sursă trebuie specificate bibliotecile de date, date specifice fiecărei componente în parte, astfel pot aminti de exemplu biblioteca Arduino.h, realizată de către producătorul plăcii Arduino [3].
Această interfață funcționează prin intermediul conexiunii seriale virtuale, în cazul acesta am utilizat COM3, cel generat de mediul de dezvoltare Arduino IDE.
Fig. III.1.6 Capturi de ecran a etapei de verificare funcționare, pentru cazul utilizării plăcii Arduino Uno prin intermediul Serial Monitor
Etapa software este etapa de proiectare la nivelul interfeței Arduino IDE. In cadrul acestei etape trebuie inserate bibliotecile pentru fiecare componentă, pornind de la placa Arduino Uno, bibliotecă specifică familiei de plăci, apoi se adaugă biblioteci de la producătorul componeponentei.
Se scrie codul sursă în cadrul interfeței Arduino IDE, se verifică, se face upload pentru ca acest cod să ajungă prin intermediul conexiunii seriale în bufferul plăcii Arduino.
Cod sursă
Fig. nr. III.1.7 Captură cod sursă interfață software Arduino IDE
II.2 Sistem pentru măsurarea distanței care utilizează un singur senzor ultrasonic HC-SR04, placă Arduino Uno și un ecran LCD 1602 cu 16 caractere x2 linii
Etapa de proiectare
Fig. nr. III.2.1 Sistem format dintr-un senzor ultrasonic HC-SR04, un ecran LCD 1602 și o placă Arduino Uno-R3 în faza de proiectare
Se poate observa din faza de proiectare că ecranul LCD 1602, are un potențiometru pentru a putea regla luminozitatea, dar nu este o soluție viabilă pentru proiect pentru că introduce în sistem prea multe ieșiri, 16 la număr și complică conectarea acestuia cu restul componentelor. În acest caz trebuie găsită o altă soluție, în primul rând micșorarea numărului de ieșiri pe care le furnizează LCD-ul. Trebuie găsită o soluție care poate conecta ieșirile de la interfața paralelă a LCD-ului. Interfața serială este cea care reduce numărul de ieșiri. O primă soluție ar fi adăugarea unei interfețe seriale I2C, dar pentru optimizarea proiectului o soluție mai bună este înlocuirea ecranului LCD 1602 cu ecran LCD 1602 cu I2c, pentru că acesta are interfața incorporată și reduce considerabil numărul de conexiuni și consumul de energie, eliminând o componentă de legătură consumatoare de energie.
III.3 Sistem pentru măsurarea distanței care utilizează un singur senzor ultrasonic HC-SR04 și un ecran LCD 1602 cu I2C cu 16 caractere x 2 linii și placă Arduino Uno-R3
Etapa de proiectare
Fig. nr. III.3.1. Sistem format dintr-un senzor ultrasonic HC-SR04, un ecran LCD 1602 cu I2C și o placă Arduino Uno-R3 în faza de proiectare
Fig. nr. III.3.2. Sistem format dintr-un senzor ultrasonic HC-SR04, un ecran LCD 1602 cu I2C și o placă Arduino Uno-R3, conectat la baterie în faza de proiectare
Etapa de implementare hardware
Acest tip de dispozitiv după ce l-am proiectat, l-am gândit a avea un scop practic, în sensul de a putea deveni portabil, din acest motiv l-am verificat mai întâi și apoi l-am montat la baterie. Se observă în acest caz faptul că LCD-ul cu I2C are doar patru ieșiri ceea ce simplifică mult modalitatea de conectare a LCD-ului cu toate celelalte componente.
Atașarea elementelor suplimentare întărește ideea de dispozitiv utilizabil de către persone cu dizabilități.
Fig. nr.III.3.3 Realizarea practică a sistemului cu un sensor ultrasonic HC-SR04, cu ecran LCD 1602 cu I2C, placă Arduino Uno și cu baterie
Etapa de implementare software
Cod sursă
Fig. nr. III.3.4 Captură cod sursă cu modificări pentru LCD cu I2C-interfață software Arduino IDE
III.4 Sistem pentru măsurarea distanței care utilizează un singur senzor ultrasonic HC-SR04, o placă Arduino Uno și DFPayer mini
Etapa de proiectare
În această etapă ecranul LCD 1602 cu I2C îl voi elimina pentru că mi-am propus să adaug un mini player conectat la un difuzor pentru a putea transmite informația măsurată de către senzorul ultrasonic utilizatorului sistemului în formă audio. În difuzor se vor auzi infomațiile care anterior erau afișate pe ecranul LCD.
Fig. nr.III.4.1 Sistem format dintr-un senzor ultrasonic HC-SR04, o placă Arduino Uno-R3, miniplayer DFPlayer mini conectat la baterie în faza de proiectare
Etapa de implementare hardware
În cadrul acestei etape trebuie avut în vedere faptul că miniplayer-ul comunică cu placa Arduino Uno prin intermediul interfeței seriale UART și rata de transfer este de 9600 baud, cea standard pentru acest tip de interfață. În cazul în care se intervine și se mărește rata de transfer există posibilitatea ca fișierele audio să se audă în difuzor distorsionat, în cazul în care utilizatorul va face diferite mișcări mai rapide.
Mini playerul poate recunoaște informație de tip audio în format mp3 sau wav. Producătorul recomandă ca fișierele să fie în format mp3, dar implementând fișiere de tip mp3 la un moment dat fișierele deveniseră pentru puțin timp sursă de zgomot și nu puteam să descifrez ce se aude în afară de un fâșâit supărător. Nu a durat mult și cardul de 32 GB a fost ars pentru că nu s-a mai auzit nimic. A trebuit să verific miniplayerul pe un alt circuit realizat cu o altă placă compatibilă Arduino Uno, numai că de data aceasta am modificat formatul fișierelor în format. wav. A funcționat ansamblul nou creat și apoi am verificat și pe cel din înainte cu acest format de fișiere și am constatat că funcționează.
Fig. nr.III.4.2 Realizarea practică a sistemului cu un sensor ultrasonic HC-SR04, cu o placă Arduino Uno, DFPlayer mini și cu difuzor, conectate la baterie
Etapa de implementare software
Cod sursă
Fig. nr. III.4.3 Captură cod sursă cu modificări pentru miniplayer, interfață software Arduino IDE
III.5. Sistem pentru măsurarea distanței care utilizează un singur senzor ultrasonic HC-SR04 și o placă Arduino Nano
Etapa de proiectare
In faza de proiectare mi-am propus să realizez un sistem format dintr-un senzor ultrasonic HC-SR04 conectat la placa Arduino Nano, pentru a putea măsura dinamic distanța dintre senzor și obiectele aflate în fața acestuia. în cazul acesta doar placa din familia Arduino o înlocuiesc. Dacă studiem caracteristicile tehnice ale plăcii Arduino Nano contatăm că aceasta are aproximativ aceleași caracteristici tehnice ca placa Arduino Uno. Ceea ce ne interesează sunt dimensiunile mult mai mici, care în cazul acesta poate face diferența în momentul când voi hotărî care dintre ele o voi alege.
Fig. nr. III.5.1 Sistem format dintr-un senzor ultrasonic HC-SR04-și o placă Arduino Nano în faza de proiectare
Se poate observa că etapele principale de conectare a senzorului ultrasonic sunt aceleași, din acest motiv nu are rost să le repet.
Etapa de implementare hardware
In acest caz verific dacă placa Arduino Nano funcționează.
Fig. nr. III.5.2 Realizarea practică a sistemului cu placa Arduino Uno și cu un senzor ultrasonic HC-SR04
Etapa de implementare software
La această etapă trebuie inițializată placa (BOARD) din meniul lui Arduino IDE ca fiind Arduino Nano, biblioteca rămânând ca fiind Arduino.h. Softul își va extrage din biblioteca familiilor de plăci parametrii pentru Arduino Nano.
Fig. nr. III.5.3 Captură interfață software IDE pentru board Arduino Nano și cod sursă
Fig. III.5.4 Capturi de ecran a etapei de verificare funcționare sensor ultrasonic HC- SR004și placă Arduino Nano prin intermediul Serial Monitor
III.6 Sistem pentru măsurarea distanței care utilizează un singur senzor ultrasonic HC-SR04 și un ecran LCD 1602 cu I2C cu 16 caractere x 2 linii, placă Arduino Nano
Etapa de proiectare
Fig. nr.III.6.1 Realizarea practică a sistemului cu un sensor ultrasonic HC-SR04, cu ecran LCD 1602 cu I2C, placă Arduino Nano și cu baterie
Etapa de implementare hardware
Fig. nr.III.6.2 Realizarea practică a sistemului cu un sensor ultrasonic HC-SR04, cu ecran LCD 1602 cu I2C, placă Arduino Nano și cu baterie
III.7 Sistem pentru măsurarea distanței care utilizează un singur senzor ultrasonic HC-SR04, o placă Arduino Nano și DFPayer mini
Etapa de proiectare
Fig. nr.III.7.1 Sistem format dintr-un senzor ultrasonic HC-SR04, o placă Arduino Nano-, miniplayer DFPlayer mini conectat la baterie în faza de proiectare
Etapa de implementare hardware
Fig. nr.III.7.2 Realizarea practică a sistemului cu un sensor ultrasonic HC-SR04, cu o placă Arduino Nano, DFPlayer mini și cu difuzor, conectate la baterie
III.8 Sistem pentru măsurarea distanței care utilizează trei senzori ultrasonici HC-SR04, cu placă Arduino Uno
Etapa de proiectare
Fig. nr. III.8.1 Sistem format dintr-un senzor ultrasonic HC-SR04-și o placă Arduino Uno-R3 în faza de proiectare
Etapa de implementare hardware
Fig. nr.III. 8.2 Sistem cu trei senzori ultrasonici HC-SR04-și o placă Arduino Uno-R3, realizat practic
Etapa de implementare software
Se poate observa funcționarea sistemului la nivelul opțiunii Serial Monitor
Fig. nr. III.8.3 Capturi de ecran a etapei de verificare funcționare prin intermediul Serial Monitor
Cod sursă
Fig. nr. III.8.4 Captură cod sursă pentru sistem cu 3 senzori ultrasonici și placă Arduino Nano, interfață software Arduino IDE
III.9 Sistem pentru măsurarea distanței care utilizează trei senzori ultrasonici HC-SR04, cu placă Arduino Nano, DFPlayer mini, baterie
Etapa de proiectare
Fig. nr. III.9.1 Sistem format dintr-un senzor ultrasonic HC-SR04-și o placă Arduino Uno-R3 în faza de proiectare
Etapa de implementare hardware
Fig. nr.III. 8.2 Sistem cu trei senzori ultrasonici HC-SR04-și o placă Arduino Nanno, DFPlayer cu difuzor, realizat practic
IV. Concluzii
Cercetarea stiințifică, a avut ca obiect de studiu realizarea unor sisteme pentru măsurarea distanțelor prin intermediul senzorilor ultrasonici, sisteme care pot fi de ajutor, pentru orientarea în spațiul din interiorul clădirilor, a persoanelor cu deficiențe de vedere.
Sistem pentru măsurarea distanțelor cu un singur senzor ultrasonic
Sistemului cu-un singur senzor ultrasonic, legat la o placă Arduino UNO, i-am verificat funcționalitatea prin intermediul monitorului virtual al calculatorului, apoi i-am atașat un ecran LCD cu 16 caractere x 2 linii, cu scopul de a verifica noul sistem pe care l-am făcut portabil, atașându-i o baterie de 9V. Am ales varianta de LCD cu 16 caractere x 2 linii deoarece era necesar să afișeze unde se găsește obiectul, adică în stânga sau în dreapta persoanei și valoarea distanței și prin urmare avea nevoie de două linii pentru a putea afișa toată informația.
Ecranul LCD 1602 pe care l-am utilizat inițial nu răspundea cerințelor pentru că introducea în circuit prea multe ieșiri, 16 la număr din motive de interfață paralelă cu care putea comunica la ieșire cu circuitul. Ecranul LCD 1602 l-am înlocuit cu un ecran LCD 1602 cu interfață I2C. Această interfață incorporată a rezolvat problema și astfel liniile de ieșire ale LCD-lui au fost reduse la patru. Am ales această variantă în loc să atașez o interfață separată de tip I2C la vechiul LCD, pentru a nu complica prea mult circuitul de verificare, fără să mai precizez faptul că fiecare circuit suplimentar adăugat consuma energie, energie furnizată de către baterie și de care avem nevoie cât mai mult timp.
Sistemul nou creat portabil, ca să poată fi utilizat de către persoane cu dizabilități de vedere avea nevoie de componente noi care puteau reda distanța calculată de către senzorul ultrasonic sub formă de voce. În acest sens am adăugat un mini player, DFPlayer mini și sistem de ascultare prin căști. În momentul în care miniplayer-ul împreună cu căștile le-am făcut funcționale, nu se mai justifica prezența în circuit a ecranului LCD și din acest motiv l-am eleiminat.
Tot acest ansamblu de componente a trebuit așezat compact și trebuia aleasă o cutie care putea adăposti componentele. Am vrut ca ansamblul să nu depășească dimensiunile 80x120x30mm, pentru că acest dispozitiv să poată fi atașat la mână. În momentul în care am vrut să așez componentele în cutie, am constatat că nu rămânea loc suficient pentru baterie sau pentru ventilația componentelor și firele erau presate pe și între componente. Analizând sistemul am constatat că trebuie îmbunătățit și anume trebuiau micșorate dimensiunile. Analizând în continuare, am încercat să mă transpun în situația delicată a persoanelor cu probleme de vedere și știind că dispozitivul (mai precis placa Arduino) funcționează prin intermediul butonului Reset, mi-am pus problema cum îl va acționa utilizatorul atâta timp cât el este în interiorul cutiei. Butonul de Reset este mic, dar se află și printre componente, asta înseamnă că persoana cu dizabilități trebuie să aibă acces în interiorul cutiei, ceea ce nu este bine chiar dacă s-ar putea face o fereastră de acces, tot nu este o soluție sigură, pentru că persoana care îl va utiliza are șanse mari să facă mișcări greșite atunci când resetează placa.
În aceste condiții a trebuit regândit sistemul. Am ajuns la concluzia că placa Arduino Uno nu era o soluție pentru un sistem destinat persoanelor cu deficiențe de vedere. Trebuia să aleg o altă placă din familia Arduino care are dimensiuni mult mai mici și butonul de Reset să nu se afle pe partea plăcii unde se fac legăturile. Astfel, după o analiză a familiei de plăci Arduino, am ajuns la concluzia că placa Arduino Uno o voi înlocui cu placa Arduino Nano. Se poate observa din descrierile hardware că această placă are caracteristicile cele mai apropiate de Arduino Uno, dimensiunile sunt aproximativ pe jumătate și butonul de Reset este poziționat pe partea opusă față de varianta oferită de Arduino Uno. Faptul că aveam de înlocuit placa nu m-a scutit de parcurgerea tuturor pașilor, pentru că trebuiau reluate legăturile și alocarea de resurse software specifice plăcii Arduino Nano.
După ce am finalizat sistemul cu placa Arduino Nano, doar pentru o parte laterală și anume partea stângă am putut să fac o analiză completă. Concluzia a fost că pentru o acoperire mai bună a zonelor laterale, ar trebui făcut un nou dispozitiv și pentru mâna dreaptă pentru ca utilizatorul să se poată orienta mai bine pe întreaga lungime a spațiilor mai înguste.
Acest dispozitiv ar putea fi util elevilor în clase când trebuie să se deplaseze între bănci și astfel pot fi evitate coliziunile elevilor cu băncile sau cu scaunele aflate în vecinătatea lor. Dispozitivul ar mai putea fi util elevilor atunci când se deplasează pe culoare și astfel ar putea evita coliziunea cu alți colegi aflați în stare de deplasare sau de staționare pe culoar, sau să poată parcurge distanțe fără să se lovească de pereți.
Acest dispozitiv cu acoperire pentru zonele laterale se adresează în mod special persoanelor cu deficiențe de vedere, dar nu cu cecitate totală.
Sistem pentru măsurarea distanțelor cu trei senzori ultrasonici
Sistemul pentru măsurarea distanțelor cu senzori ultrasonici pune în evidență faptul că atunci când se dorește o acoperire mai mare a suprafeței de detecție a senzorului se recomandă utilizarea sistemului cu trei senzori. Am observat că sistemul cu cei trei senzori ultrasonici montați pe breadboard, adică senzorii sunt în linie, mărește suprafața de detecție doar frontal, asta înseamnă că obiectele aflate în stânga sau în dreapta, dar în imediata vecinătate a senzorilor sunt percepute ca obiecte, uneori, tot ca fiind așezate frontal. Mărirea suprafeței de acoperire a senzorilor este mult mai utilă pentru obiecte mari și în spații deschise, situații care se întâlnesc mai des în mediu înconjurător. Acest tip de sistem nu este util singur a fi utilizat în mediii deschise pentru că sunt foarte mulți factori care pot interveni, în primul rând sunt foarte multe obstacole în mișcare cu viteze destul de mari și în astfel de situații se schimbă abordarea.
Sistemul cu trei senzori ultrasonici pentru a putea fi utilizat în spații închise trebuie să aibă senzorii orientați în unghiuri diferite. Din acest motiv nu se justifică de data aceasta prezența în circuit a breadboard-ului.
Sistemul cu trei senzori ultrasonici este mult mai util persoanelor diagnosticate cu cecitate totală, personae care nu pot percepe lumina și prin urmare nu sunt capabile să perceapă măcar existența unui obiect în zona frontală, manifestare specifică persoanelor cu cecitate parțială.
Din studiile făcute am observat că persoanele cu deficiențe de vedere au unghiul de acoperire a suprafeței de acoperire vizuale mai îngust, iar aria vizuală se îngustează în părțile laterale și astfel obiectele nu sunt percepute din zonele menționate și le este greu să le localizeze, din acest motiv acestor persoane le- ar fi util un astfel de sistem. Acest sistem l-am realizat experimental dar nu a fost asamblat ca un dispozitiv compact, rămâne să îl dezvolt ulterior.
În cazul acestui sistem se pune problema asamblării celor doi senzori, din cei trei, la distanță iar cel de al treilea așezat central. Legarea celor doi senzori de placa Arduino Nano la distanțe mai mari de câțiva centimetri, presupune existența unor conexiuni flexibile și durabile. Pentru a găsi soluția optimă va trebui să fac un studiu legat de tipurile de conexiuni prin cabluri flexibile și care să asigure și o conectivitate durabilă.
Montarea sistemului ar presupune așezarea a doi dintre senzori pe câte un umăr și un alt senzor să rămână frontal împreună cu tot restul ansamblului. Senzorul din zona frontală va putea fi așezat pe stern, doar dacă persoana care îl va utiliza nu are probleme de sănătate, de exemplu nu a suferit intervenție chirurgicală la inimă (bypass făcut sau altceva), sau în zona abdominală. Toate acestea necesită și studii de observare medicală a persoanelor cu deficiențe asociate, studii care necesită colaborarea cu personal medical calificat.
Sistemul cu senzori după ce a fost testat împreună cu cadre medicale de specialitate, acolo unde este cazul, va presupune și găsirea unei soluții văzută și din prisma unui obiect de vestimentație.
Bibliografie
Senzori și actuatoare, autor Monica Anca Chița, editura Matrixrom, ISBN 9786062503321, an apariție 2017
Senzori și traductoare, autor Constantin Călinoiu, editura Tehnică, ISBN
https://www.arduino.cc/
http://webbut.unitbv.ro/Carti%20on-line/BSM/BSM/capitol4.pdf
https://www.mpja.com/download/hc-sr04_ultrasonic_module_user_guidejohn.pdf
https://profs.info.uaic.ro/~arduino/index.php/Comunicare_I2C
https://www.heise.de/developer/artikel/Anschluss-von-LCD-Displays-ueber-den-IIC-Bus-3217991.html
https://vdocuments.site/roboti-568e00a657703.html
https://docplayer.hu/88105249-Senzori-omron-catalog-de-produse-2005-senzori-senzori-de-pro…
http://legislatie.just.ro/Public/DetaliiDocument/210880
https://edoc.pub/arduino-uno-4-pdf-free.html
https://pubs.acs.org/doi/10.1021/acs.jchemed.8b00641
http://muhaz.org/politehica-din-bucuresti-proiect-de-diplom-facultatea-transpor.html
https://vdocuments.site/roboti-568e00a657703.html
https://territoridisards.com/ro/operational-amplifiers/149-op-amp-comparator-and-the-op-amp-comparator-circuit.html
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Studii universitare de Masterat [301897] (ID: 301897)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
