Professional Documents
Culture Documents
Proiect de diplomă
Conducători științifici:
Absolvent
Constanța
2014
Universitatea „Politehnica” din București
Proiect de diplomă
Conducători științifici
Absolvent
Constanța
2014
Copyright © 2014 , Meantu Mădălina Maria
Autorul acordă Universității “Ovidius” din Constanța dreptul de a reproduce şi de a distribui public
copii pe hârtie sau electronice ale acestei lucrări, în formă integrală sau parţială.
Cuprins
Introducere ........................................................................................................................................... 9
1.1.Concept .................................................................................................................................... 11
1.2.Exemple ................................................................................................................................... 11
1.3.Tipuri ........................................................................................................................................ 12
1.4.Utilitate .................................................................................................................................... 12
1.5.Istoric ....................................................................................................................................... 12
Concluzii ............................................................................................................................................ 81
Bibliografie ........................................................................................................................................ 83
Anexe ................................................................................................................................................. 85
8
Introducere
Motivaţia lucrării
Caracterul dinamic evolutiv al sistemelor electronice este determinat de tendinţa majorării
continue a eficienţei cu care societatea acţionează asupra mediului.
În spatele acestei lucrări stă problema relaţiilor om-maşină-mediu, care a devenit tot mai
importantă odată cu dezvoltarea tehnologiei şi schimbarea concepţiei despre muncă, prin
diminuarea efortului necesar şi prin creşterea cantităţii şi a calităţii rezultatelor obţinute de la
mediu, făcând necesară adaptarea optimă între subsistemele componente, prin cercetarea
factorilor tehnici în continuă schimbare.
Acţiunea omului asupra mediului este, prin definiţie, mijlocită de un obiect - sistem fizic –
adecvat, numit în mod convenţional, maşină.
În prezent, operatorul uman dispune de conducerea şi controlul uneltelor şi a resurselor de
energie artificiale cu ajutorul dispozitivelor automate.
Se consideră că adaptarea maşinii la om este mai uşoară decât adaptarea omului la maşini,
iar avansul tehnologiei şi complexitatea tot mai mare a sistemelor tehnice a făcut necesară
reproiectarea unor dispozitive de afişare care să ţină cont de specificul şi limitele utilizatorilor,
astfel încât integrarea tehnologică a condus la apariţia de noi dispozitive, având capabilităţi diferite
şi fiind utilizate în diferite contexte de lucru, diferite de cel tradiţional, drept exemplu concret putem
avea în vedere multifuncţionalitatea unui terminal de tip Smartphone.
Utilizatorii, ca dezvoltatori de aplicaţii – disponibile la nivel de desktop şi/sau Web,
încorporate în diverse echipamente şi utilaje, oferite pe scară largă de tehnologiile telefoniei mobile
se confruntă actualmente cu o multitudine de tipuri de controale de interacţiuni şi cu proliferarea
interacţiunilor neconvenţionale, mai ales via dispozitive fără fir şi/sau senzori.
Tehnologiile telefoniei mobile, dispun de un software, care are tot mai mult un profund
caracter social, masă de utilizatori de aplicaţii fiind într-o creştere fără precedent. Suplimentar,
există aşteptări tot mai mari, una dintre cerinţe fiind aceea că aplicaţiile să prezinte un caracter
familiar publicului-ţintă acesta fiind şi unul dintre factorii importanţi de evaluare a utilizabilităţii.
De asemenea, asistăm la apariţia unei multitudini de metafore şi de idiom-uri de
interacţiune, concretizate prin tipuri/stiluri familiare – recognoscibile – de interfeţe, fiecare având
propriul vocabular de obiecte, acţiuni, înfăţişări etc., cu implicaţii importante în ceea ce priveşte
crearea unei anumite experienţe – deseori, unice – utilizatorului.
Tehnologiile prezente, pun la dispoziţie interfeţele haptice – bazate pe senzaţii tactile; drept
„input‖ poate fi considerat ecranul şi/sau tabla haptic(ă) ce permite „atingerea‖ obiectelor digitale,
iar cu ajutorul acestora, putem obţine drept „output‖ rezultate chiar şi în afara mediului virtual.
Rezultatul, se obţine prin mediere, utilizând un sistem de calcul adecvat (cu rol de
traductor), ce stabileşte mediile de comunicaţie, atât cu terminalul de comandă, cât şi cu sistemul
controlat, fiind capabil să interpreteze şi să analizeze informaţiile primite, astfel încât acţiunea
comandată să fie executată eficient şi în timp real, în scopul transpunerii într-un proces concret
dezvoltat de un sistem.
Ideea de control la distanţă, în timp real a mai multor dispozitive electronice sau a mai
multor procese din mediul înconjurător, cu ajutorul unui singur produs, ce încearcă să acopere o
arie cât mai largă a necesităţilor utilizatorilor, prin aplicaţiile aferente, este tot mai promovată,
discutată şi în plin proces de dezvoltare.
O bună oportunitate pentru noi în favoarea acestei tendinţe, de a obţine acces şi control
asupra unei întregi reţele de dispozitive cu care intrăm în contact, sunt telefoanele inteligente. Ele în
prezent pot înlocui subsisteme de comandă, cum ar fi telecomanda televizorului, însă privim cum
cerinţele se extind către case inteligente a căror iluminare, uşi şi o mare varietate de dispozitive
electronice se doresc a fi controlate prin intermediul acestora, de asemenea, ne imaginăm, la o
scară mai largă, un întreg sistem industrial care are la bază comanda, controlul şi monitorizarea
proceselor comprimate într-un astfel de sistem.
9
Scopul lucrării
Lucrarea îşi propune proiectarea unui sistem de comandă la distanţă, în timp real a până la
64 de dispozitive, care în cazul de faţă sunt reprezentate prin LED-uri, dispuse matriceal, pentru
complexitate şi evidenţierea posibilităţii manifestării unor preferinţe, în momentul introducerii
comenzii, scopul fiind diminuarea efortului operatorului uman în monitorizarea şi controlul unui
sistem electronic.
Obiectivele lucrării
Această lucrare îşi propune să analizeze atât etapele proiectării şi elaborării unui model
experimental pentru comandă automată la distanţă a unui sistem electronic matriceal de LED-uri cu
ajutorul unui terminal mobil de tip Smartphone, cât şi etapele dezvoltării şi construcţiei acestuia
pentru a ajunge în final la un dispozitiv funcţional şi fiabil.
Nucleul platformei mobile va fi reprezentat de placa de dezvoltare Seeeduino, care are la
baza sa microcontrolerul Atmega 328p. Placa de dezvoltare va trebui să preia comanda introdusă de
operatorul uman de la terminalul de tip Smartphone, să o proceseze, să o interpreteze şi să pună în
funcţiune componenta selectată.
Emanciparea software-ului aferent aplicaţiei se va realiza prin generarea programelor cod
aflate în strânsă legătura, ale microcontrolerului şi dispozitivul Android .
Etapa de construcție va reprezenta realizarea conexiunilor modulelor la placa de dezvoltare
centrală prin cabluri electrice. În prima fază modulele vor fi testate individual conectând pe rând la
placa centrală câte una din componentele periferice.
Proiectul fizic va constitui interconectarea componentelor asigurând buna funcționare
a sistemului, prin controlul modulului de execuţie ce constă în matricea de LED-uri, unificând
dispozitivele într-un singur sistem funcțional și fiabil, ușor de realizat și practic pentru situații
generale de monitorizare şi control.
Domeniul lucrării
Lucrarea se încadrează atât în spectrul sistemelor reglabile automate (SRA) cât şi al
sistemelor de comunicaţii (SC), în special radiocomunicaţii, fiind vorba despre comanda la
distanţă, realitată cu ajutorul mediului de comunicaţie Bluetooth, a unui dispozitiv electronic al
cărui nucleu este microcontrolerul Atmega328.
10
CAPITOLUL 1
EVOLUŢIA SISTEMELOR DE COMANDĂ LA DISTANŢĂ
1.1. Concept
1.2. Exemple
11
1.3. Tipuri
În principiu, comanda la distanţă se poate stabili prin fir sau fără fir, cu ajutorul butoanelor
sau manşetelor de adaptare la diferite stări. Astfel de sisteme comunică prin intermediul semnalelor
ultrasonice, infraroşii sau radio cu dispozitivul electric pentru care au fost concepute sau cu mai
multe dispozitive, pentru că există şi dispozitive de control la distanţă folosite pentru o gamă mai
largă de produse.
1.4. Utilitate
Utilitatea unui astfel de sistem, de control la distanţă al dispozitivelor, nu poate fi pusă la
indoială, întrucât uşurează considerabil munca operatorilor, astfel nu mai este necesară deplasarea la
dispozitiv pentru a putea face anumite setări şi a stabili parametri de funcţionare. Chiar dacă pare un
capriciu, există situaţii, cum ar fi lucrul în medii radioactive, chimice sau zone de risc, în general,
unde pătrunderea operatorului uman în mediu este practic imposibilă.
Chiar şi asa, sistemele de acest tip au fost concepute pentru largul consum, în scopul
câştigului de timp, confort şi comoditate, în timpul realizării diferitelor activităţi, fiind astfel
utilizate în toate domeniile : în industrie, în armată, în controlarea sateliţilor şi a roboţilor trimişi pe
alte corpuri cereşti, pentru controlarea aplicaţiilor pe calculator, în fotografie sau pentru distracţie.
1.5. Istoric
13
Figura 1.4. Telefonul folosit ca sistem de comandă si monitorizare la distanţă pentru diverse
dispozitive [3]
Figura 1.5. Telefonul mobil preluând funcţiile altor dispozitive de control la distanță: mouse,
tastatură şi telecomandă TV [4]
14
CAPITOLUL 2
SISTEM AUTOMAT DE COMANDĂ LA DISTANŢĂ
În acest capitol, avem în vedere faptul că, noi ca utilizatori ai unui sistem de comandă vom
scrie o aplicaţie care va trimite comenzi la şi vom primi date sau rezultate reale de la un instrument,
care poate fi un LED, un senzor, un motor, un robot sau orice dispozitiv electronic.
Utilizatorul trebuie să se orienteze către conexiunea software cu instrumentul. Astfel că,
utilizatorul trebuie să înţeleagă cum comunică aplicaţia cu instrumentul. În plus utilizatorul trebuie
să aibă în vedere şi tipul de conexiune hardware cu instrumentul.
15
Scopurile generale ale utilizării sistemelor şi automatizării:
• Creşterea productivităţii;
• Scăderea consumurilor specifice;
• Asigurarea preciziei de execuţie;
• Creşterea siguranţei în funcţionare;
• Protejarea instalaţiilor;
• Scoaterea operatorului uman din medii nocive;
• Eliberarea operatorului uman de procesul producţiei de bunuri şi de servicii.
Evoluţia în timp a rolului omului în sistemele de producţie este prezentată sugestiv în figura
2.1.
Acţiunea tehnologică are ca obiectiv principal transformarea determinată, specifică a
resurselor substanţiale, energetice şi informaţionale, disponibile pe diferite trepte de dezvoltare a
societăţii umane.
Caracterul dinamic evolutiv al sistemelor de producţie este determinat de tendinţa majorării
continue a eficienţei cu care societatea acţionează asupra mediului. Evoluţia ştiinţei contemporane a
imprimat ritmuri deosebit de înalte de dezvoltare a producţiei materiale sub aspect cantitativ şi
calitativ, datorate îndeosebi valorificării operative a descoperirilor ştiinţifice şi tehnice şi
perfecţionărilor intervenite în conducerea sistemelor de producţie.
16
Cibernetica are în vedere caracteristicile sistemelor induse de comunicaţiile existente în
structura lor, ca şi de mediul ambiant. Aceste aspecte se concretizează astfel:
• Aparatele şi operatorul uman sau dispozitivul de automatizare şi instalaţia tehnologică
formează o unitate relativ delimitată de mediu – adică un sistem;
• Fiecare element component are o funcţie precisă şi ocupă o anumită poziţie în cadrul
sistemului. Sistemul are o structură.
• Între elementele sistemului, conform structurii, există comunicaţii prin care se transmit
informaţii (concret semnale) într-o singură direcţie şi anume în sensul de la cauză la efect.
Mărimea cauză se numeşte mărime de intrare, iar mărimea efect se numeşte mărime de
ieşire.
• Conexiunea cauzală, conform principiului cauzalităţii, este legătura între două evenimente
(mărimi) u şi y, în care apariţia lui u generează, în anumite condiţii, în mod necesar apariţia
lui y. Totodată, absenţa lui u este legată în mod necesar de absenţa lui y. Conexiunea
cauzală poate fi reprezentată ca o relaţie complexă:
Figura 2.2. Structura și relațiile în cadrul unei mecanizări sau automatizări [8]
Acţiunea omului asupra mediului este, prin definiţie, mijlocită de un obiect - sistem fizic -
adecvat (unealtă, maşină, producţie), numit în mod convenţional, maşină.
Mulţimea relaţiilor dintre componentele unui sistem, precum şi a relaţiilor între componente
şi ansamblu formează structura sistemului. Limitele sistemului separă mediul înconjurător de sistem.
Sistemul există în interiorul limitelor sale şi tot ce se petrece în afara acestor limite constituie
mediul. Limitele controlează foarte strict intrările şi ieşirile reglând fluxul şi în afara sistemului. În
esenţă limitele sunt filtre de intrare/ieşire (FIG. 2.4).
În interiorul limitelor se găseşte sistemul însuşi. Acesta poate fi o singură entitate, sau
poate fi compus din mai multe părţi componente, denumite subsisteme. Informaţia încorporabilă
şi canalele de introducere a acesteia în structuri substanţiale, constituie obiectul ştiinţei
metodelor şi mijloacelor de transformare a resurselor în produse.
Această ştiinţă - a tehnologiei materialelor - reprezintă în concepţia modernă,
modalitatea optimă de realizare repetată a unor produse sau servicii.
Aşadar, avem în vedere următoarele aspecte:
-Teoria sistemică oferă posibilitatea de tratare generală a problematicilor referitoare la
procese industriale, ea putând fi apoi particularizată pentru cazuri concrete, sau situaţii reale;
-Rolul omului în sistemele de producţie a evoluat de la intervenţia cu forţa fizică propriu-
zisă la activitatea cerebrală;
-Prezenţa calculatoarelor, a conexiunilor între acestea, precum şi a programelor de
proiectare şi execuţie a condus la dezvoltarea unor sisteme care au posibilitatea de monitorizare
a activităţii, control al calităţii produselor şi chiar autoperfecţionare.
-Dezvoltarea puternică a reţelelor de comunicaţie face ca informaţiile să fie transmise /
recepţionate corect şi în intervalul de timp potrivit pentru utilizarea acestora ca şi parametri
ai proceselor tehnologice.
18
2.1.2. Sistemul om-maşină-mediu
Sistemul om-maşină-mediu este un ansamblu format din unul sau mai mulţi oameni şi una sau
mai multe componente fizice (maşini, echipamente) care interacţionează pe baza unui circuit
informaţional, în cadrul unei ambianţe fizice şi sociale, în vederea realizării unui scop comun .
Această definiţie, care subliniază componentele sistemului, interacţiunea dintre ele şi scopul
interacţiunii dintre componente (motivul pentru care a fost creat: să transporte, să producă, să
transmită informaţie, etc.) descrie un sistem elementar (deseori descriind un post de muncă) care
poate avea structuri diferite.
Proprietăţile sistemului
19
Figura 2.5. Sistemul om-maşină-mediu [6]
20
2.1.4. Interacţiunea om-maşină
Proiectarea interfeţei om-maşină este parte a proiectării sistemelor informatice. Din punct de
vedere teoretic, proiectarea interfeţei om-maşină se bazează pe studiul interacţiunii om-maşină.
Această reorientare teoretică a fost determinată de cerinţele proiectării centrate pe utilizator, care au
impus criteriile de utilizabilitate în evaluarea unui sistem informatic.
Scop:
• Proiectarea unor sisteme capabile să accentueze abilitățile umane prin adaptarea la
nevoile acestora
• Înțelegerea proceselor cognitive de bază implicate în dezvoltarea interfețelor om-
mașină
• Dezvoltarea de sisteme automate orientate spre utilizator
• Înțelegerea problemelor de utilizare ce apar în procesul de design
• Modalități de testare a calității interfețelor
• Modalități de îmbunătățire a interfețelor
Obiectul de studiu
Interacţiunea om-maşină este definită ca disciplină a ştiinţei şi tehnologiei informaţiei, al
cărei obiect de studiu este proiectarea, evaluarea şi implementarea sistemelor interactive şi studiul
fenomenelor majore legate de acestea:
• aspecte sociale şi organizaţionale legate de proiectarea sistemelor;
• capabilităţi (inclusiv de învăţare) de utilizare a maşinilor;
• performanţele activităţilor desfăşurate în comun de om şi maşină;
• structura comunicaţiei om-maşină;
• algoritmi şi programare a interfeţelor propriu-zise;
• ingineria dezvoltării de interfeţe.
În plan vertical spectrul preocupărilor este mai larg decât cel al ingineriei factorilor umani,
având în vedere nu numai interfaţa de interacţiune om-maşină dar şi partea de proiectare a
sistemului interactiv, în plan orizontal este mai puţin extins, limitându-se la o clasă de maşini
(calculatoare).
22
2.1.5. Interfaţa om-calculator
Pentru ca sarcina să fie efectiv executată, utilizatorii trebuie să primească informaţii de la
echipament, într-un format pe care ei să îl poate recunoaşte şi înţelege.
Sub aspectul recepţionării de informaţii, în designul unui echipament proiectanţii pot opta
între diferite modalităţi senzoriale prin care să se realizeze aceasta. Deşi de cele mai multe ori
aceste modalităţi sunt determinate de natura situaţiei, există şi cazuri în care designerii pot alege
între diferite variante de semnalizare (vizuale, auditive, tactile, etc.). În luarea unei decizii de
proiectare trebuie luaţi în considerare doi factori:
1. avantajul relativ al unei modalităţi senzoriale asupra alteia, în funcţie de scopul
echipamentului (un exemplu: timpul de reacţie la diferiţi stimuli);
2. cerinţele existente deja asupra canalelor senzoriale.
Avansul tehnologiei şi complexitatea tot mai mare a sistemelor tehnice a făcut necesară
reproiectarea unor dispozitive de afişare care să ţină cont de specificul şi limitele utilizatorilor.
În figura 2.10 (a) este prezentată o carlingă cu dispozitive analogice. Principalele
dezavantaje ale acestor dispozitive le reprezintă numărul mare de cadrane, cifrele care ofereau
informaţii erau de dimensiuni reduse făcând dificilă citirea lor, fiecare cadran prezenta o singură
informaţie (de exemplu: viteza, altitudinea, etc.).
Modernizarea acestui sistem de afişaj s-a făcut prin introducerea cadranelor digitale (figura
2.10. b) care prezentau următoarele avantaje: reducerea numărului de dispozitive de citire (acesta
putând afişa informaţii sub format diferit: grafic, text, numeric), posibilitatea de a schimba
dimensiunile informaţiei afişate, folosirea unor coduri de culori diferite, posibilitatea de a configura
sistemul pentru a prezenta informaţii într-o anumită secvenţă în funcţie de etapa de zbor (decolare,
aterizare, etc.).
Procesarea informaţiilor şi luarea de decizii. După recepţia informaţiilor, utilizatorul
trebuie să fie capabil să înţeleagă informaţia pentru a lua decizia corespunzătoare. În cadrul fazei de
procesare a informaţiilor omul este implicat în diferite operaţii mintale (judecăţi, evaluări,
raţionamente, calcule), iar la sfârşitul acestora se ia o decizie.
În funcţie de informaţiile de la intrare, procesele de prelucrare vor conduce la luarea unei
decizii urmate de cea mai potrivită acţiune asupra echipamentelor. În cazul sarcinilor
repetitive, decizia este practic predeterminată. Acesta este cazul proceselor de muncă mecanizate şi
automatizate, în care omul se întâlneşte cu aceeaşi stimuli care îi semnalizează evoluţia activităţii
sale. În cazul sarcinilor mai puţin structurate şi nepredictibile, capacităţile intelectuale ale omului
sunt mai mult utilizate. În acest caz, pe lângă acurateţea informaţiilor de la intrare, un rol important
îl au experienţa, pregătirea profesională şi aptitudinile omului).
Funcţia de acţiune asupra maşinii (echipamentelor). Această funcţie se manifestă sub forma
instrucţiunilor de la om la maşină. Specialiştii care proiectează diferitele echipamente şi maşini
(ciocane, macarale, computere, avioane, etc.) sunt preocupaţi atât de subsistemul om (prin
înţelegerea capabilităţilor motoare), cât şi ale subsistemului maşină (prin particularităţile maşinii
care trebuie să corespundă abilităţilor umane).
Pentru exemplificarea acestei funcţii prezentăm cazul tastaturilor de calculator. Tastatura
QWERTY (figura 2.9. a) a fost proiectată în 1868, de către Sholes, inventatorul maşinii de scris.
23
Numele acestei tastaturi vine de la primele 6 taste de pe primul rând de litere. Tastele au fost astfel
dispuse pentru a împiedica blocarea mecanismului maşinii de scris la o dactilografiere mai rapidă.
24
Principalele tipuri de interfeţe om-sistem de calcul:
- Graphical user interface (GUI): acceptă informații de intrare prin utilizarea
tastaturii și mouse-ului; ieșirea este sub formă grafică pe monitor
- Web user interface (WUI): intrarea o reprezintă paginile web, transmise via Internet și
vizualizate cu ajutorul unui browser
- Interfețe ce nu utilizează calculatoare personale: în linie de comndă, tactile , touch
Etape de proiectare:
-Analiza cerinţelor (mediu de lucru, trăsăturile utilizatorului, obiectivele
utilizatorului – decizii, procese cognitive, interactiune cu altii, constientizarea situatiilor)
-Design (definirea functiilor ce trebuie efectuate pentru indeplinirea obiectivelor,
generarea optiunilor, selectia actiunilor, implementarea actiunilor)
-Masuratori si feedback (utilizatorul si proiectantul interactioneaza pana la
convergenta catre un design optim)
Principii generale:
• Feedback către utilizator:Atunci când utilizatorul transmite o comandă, mașina trebuie
să raporteze înțelegerea acesteia
• Control deținut de utilizator.
• Funcționare previzibilă: elementele constituente ale sistemului să aibă un comportament
constant
• Transparență: utilizatorul poate observa ce se întâmplă (dispozitive mecanice –
vizualizarea mișcărilor componentelor principale, panou de control; dispozitive
electronice – diagrame)
• Funcționare fără întreruperi: evitarea întreruperii utilizatorului prin mesaje, ducând
la scăderea atenției
• Anticiparea dorințelor utilizatorului
• ‡ Toleranță la erori: sistemul nu ar trebui să corecteze ce consideră a fi o eroare, fără
confirmarea utilizatorului
• Evitarea interfețelor cu caracter antropomorf: evitarea construirii unor interfețe ce
arată ca personaje de desene animate sau comunică cu utilizatorul utilizând un dialog
uman
• Designul ar trebui să reflecte logica utilizatorului, nu a constructorului:
• operații ce reprezintă diverse situații ar trebui stocate în porțiuni diferite ale interfeței
• ‡ Designul unui buton ar trebui să îi reflecte importanța: butoanele pe panoul de
comandă ar trebui aranjate astfel încât cele mai utilizate să fie cele mai mari și cu
poziții preferențiale‡
• Oferirea de alternative pentru ieșirea dintr-o situație: existența de diverse opțiuni
pentru utilizator (trecerea la următorul pas, întoarcerea la pasul anterior, undo/redo
operații anterioare, întreruperea operațiunii, salvare și întrerupere, informații despre pasul în
curs, părăsirea programului)
• CONTRAST – zonele care fac lucruri diferite trebuie să arate foarte diferite
• REPETIȚIE – elemente vizuale repetitive
• ALINIERE – fiecare element trebuie să aibă o conexiune vizuală cu alt element
• PROXIMITATE – elementele care fac lucruri similare trebuie să stea împreună,
celelalte nu
• Optimizarea pentru utilizatori începători/experimentați
Standardizare: atunci când se face designul pentru o interfață hardware trebuie verificat dacă
există standarde pentru această situaţie
• ‡ Standarde accesibile: toate produsele tehnice ce interacționează cu alte produse trebuie să
aibă o interfață standardizată; trebuie avute în vedere diversele niveluri de standardizare
25
2.1.6. Mijloacele actuale de interacţiune neconvenţională
cu utilizatorul
26
2.2. Stabilirea mediilor de comunicaţii într-un
sistem de comandă automat
2.2.1.Sisteme de comunicaţii
În primul rând, un sistem de comandă trebuie să asigure comunicaţia între modulul de
comandă şi dispozitivul controlat, monitorizat, pentru transmiterea datelor de aceea trebuie să
avem în vedere, ce reprezintă un sistem de comunicaţii.
Un sistem de comunicaţii este un ansamblu coerent de mijloace tehnice interdependente ce
asigură transferul informaţiilor între două puncte oarecare, aflate la o anumită distanţă, cu o
fiabilitate şi fidelitate cât mai mare, eficient din punct de vedere economic, utilizând undele
electromagnetice ca mijloc de transport.
Un sistem de comunicaţii de date conţine trei componente de bază: sursa de date, canalul de
comunicaţie şi receptorul de date. În comunicaţiile de date bidirecţionale, sursa de date şi receptorul
de date îşi schimbă funcţiile, deci putem afirma că se transmit / recepţionează date în acelaşi timp.
Sistemul de comunicaţii de date are ca obiectiv doar transmiterea corectă a informaţiei, el nu
acţionează asupra conţinutului informaţiei.
Sursa de date debitează în sistem impulsurile electrice care reprezintă datele. Informaţia
conţinută în fluxul de date poate să provină de la un calculator.
Transmiţătorul operează asupra fiecărei secvenţe de biţi ce corespunde unui mesaj
elementar (de exemplu: o literă sau un număr), transformând-o într-un anumit semnal electric. Tipul
de semnal electric este ales adecvat mediului de transmisie astfel încât să se asigure protecţie faţă de
deformări şi perturbaţii.
Canalul de comunicaţie poate fi o cale telefonică directă sau indirectă aeriană, fără fir.
Transmiterea semnalului prin oricare din mediile de propagare enumerate se face cu deformări
inevitabile.
Unele deformări cu caracter determinist sunt datorate caracteristicilor de transfer ale canalului
de comunicaţii care nu sunt ideale. Altele sunt provocate de instabilitatea în timp a canalului de
comunicaţii sau de zgomote şi au un caracter întâmplător.
Receptorul sistemului realizează transformarea inversă a semnalului recepţionat în flux de
date. Refacerea datelor şi interceptarea mesajului transmis de sursă trebuie să fie corectă, deşi
semnalul recepţionat nu este identic cu cel transmis. În acest scop, structura semnalului transmis se
alege astfel încât probabilitatea recepţionării eronate să fie cât mai mică.
27
Codarea este operaţia prin care secvenţa de date obţinută de la sursă este transformată într-o
secvenţă codificată, astfel încât fiecărui mesaj al sursei i se asociază o secvenţă de impulsuri
conform unui principiu de codificare; diferenţa între secvenţele codificate ce reprezintă mesaje
diferite trebuie să fie cât mai mare pentru ca la recepţie mesajele să poată fi recunoscute cât mai
exact.
Decodarea este operaţia inversă codării, decodorul având prin urmare rolul de a asocia
fiecărui bloc de n biţi, care ajunge la recepţie, un mesaj de k biţi. Între codor şi decodor apare astfel
o legătură de comunicaţii în care informaţia transmisă este codificată. Codarea/decodarea asigură
stabilitatea semnalului de date la perturbaţii, putând însă să reducă şi volumul fluxului de date
transmis de sursă.
Modulaţia este procesul prin care informaţia numerică conţinută în biţi codificaţi este
transferată asupra unui semnal purtător cu caracteristici convenabile (putere, frecvenţă, etc.)
propagării prin mediul de transmisie utilizat.
Demodulaţia este procesul prin care semnalul modulat, recepţionat la ieşirea din canalul de
comunicaţii este transformat într-o secvenţă de biţi corespunzătoare mesajului codificat. Procesul de
demodulaţie este invers procesului de modulaţie.
Purtătorul este în general un semnal sinusoidal sau rectangular descris printr-o funcţie
continuă în timp şi de un număr finit de parametri.
28
pierderi minime la distanțe foarte mari. Îmbinarea fibrelor optice este o operațiune destul de dificilă
deoarece presupune foarte multă atenție și aparatură de lipit cu arc electric sau mecanic.
Cei mai utilizaţi conectori pentru cablul coaxial sunt conectorii de tip BNC (British Naval
Connector sau Bayonet Neill Concelman). Conectorii pentru fibră optică sunt SC, ST si LC (mai
există multe alte tipuri: MT-RJ, LC, MTP etc.) Cel mai utilizat tip de conector folosit la cablurile cu
perechi răsucite este cu 8 poziţii şi este cunoscut sub denumirea de conector RJ-45.
După cum se observă aceste cabluri conectează între ele o multidudine de dispozitive făcând
uz de o mare varietate de conectori cu diverse forme, mărimi şi număr de pini. Fiind necesar un
cablu între fiecare două dispozitive, acest lucru poate da bătăi de cap utilizatorlui care se descurcă
greu într-un asemenea păienjeniş.
Figura 2.13. Logo-urile reprezentative ale principalelor tehnologii fără fir (Sursa : Google images)
30
c. Tehnologia Wi-Fi
foloseşte aceleaşi frecvenţe radio ca şi Bluetooth-ul , dar cu un consum de putere mai mare,
rezultând o conexiune mai puternică
operează pe distanţe mai mari
este mai analog reţelei tradiţionale de Internet şi necesită configurări pentru a împărţii
resursele , transmite fișiere, realizare legături audio
este potrivit pentru o rețea, realizându-se o conexiune mai rapidă ,o rază de acțiune mult
mai mare și o securitate mai ridicată
costul este mare
În funcţie de tipul de proiect ce trebuie executat se alege cel mai bun mediu de comunicaţie
disponibil. Pentru un proiect de mici dimensiuni, unde comunicaţia se face de la mică sau medie
distanţă cele mai bune medii de comunicaţii aplicabile ar fi Bluetooth şi Wi-Fi, datorită razei de
acoperire şi siguranţa transmiterii datelor.
Soluţia optimă în cazul unui sistem încapsulat este tehnologia Bluetooth, doecarece, ca
dezavantaje, pentru a folosi Wi-Fi, în primul rând avem nevoie de o acoperire Wireless în zona în
care utilizăm sistemul sau de semnal de acoperire pentru partajarea datelor, iar costul unui
microchip Wi-fi este net superior faţă de echivalentul său în mediul de comunicaţie Bluetooth.
Generalităţi
Bluetooth reprezintă cea mai ușoara modalitate de a conecta aceste echipamente într-o
rețea comună, mobilă, însă pentru a înțelege pe deplin această tehnologie trebuie să avem un
minim de cunoștințe, pe care voi încerca să le cuprind în acest subcapitol.
În 1998, cinci companii importante (Ericsson, Nokia, IBM, Toshiba și Intel) au format un
grup, numit Bluetooth SIG (Special Interest Group), pentru a crea o tehnologie care să nu necesite
licenţă destinată conexiunilor universale fără fir între dispozitivele mobile. Rezultatul este
Bluetooth, o tehnologie ce a luat numele regelui care în secolul al X-lea a unit triburile de
războinici Vikingi. Adoptarea acestui nume reprezintă o recunoaştere a rolului deosebit pe care
companiile nordice l-au avut în dezvoltarea tehnologiei Bluetooth. Bluetooth a fost standardizat prin
standardul IEEE 802.15.1-2002.3.
Ideea a fost ca un dispozitiv radio de dimensiuni reduse, introdus atât în telefon cât și în
laptop să poată înlocui cablurile stânjenitoare utilizate pentru a conecta cele două dispozitive.
Bluetooth reprezintă un standard pentru comunicații radio pe distanțe scurte. Principalele
trei scopuri avute în vedere încă din faza de proiectare sunt: dimensiune redusă, consum minim,
preț scăzut. Tehnologia a fost proiectată pentru a fi simplă și pentru a deveni un standard de factor
în conexiunile fără fir. Un atu al tehnologiei Bluetooth este acela că poate asigura transmisie de date
şi de voce în acelaşi timp.
31
Bluetooth-ul se bazează pe microcipuri de transmisie ieftine integrate în fiecare dispozitiv.
El permite acestor dispozitive să comunice între ele atunci când sunt în raza de acțiune.
Dispozitivele folosesc un sistem de comunicare radio, pentru a nu trebui să fie în linie unul cu
celălalt și pot fi chiar și în camere diferite, atât cât permite puterea de transmisie. Fiecare dispozitiv
poate comunica simultan cu până la 7 dispozitive.
În tehnologia Bluetooth, comunicaţia se face în radiofrecvenţă, fiind folosită o bandă de
frecvenţe nelicenţiată ISM (Industrial Scientific and Medical) între 2.402 GHz şi 2.480 GHz
alocată pentru domeniul industrial, ştiinţific, medical şi poate fi folosită astfel aproape oriunde în
lume. Banda este divizată în 79 de canale radio, fiecare canal având o lărgime de bandă de 1 MHz.
Deoarece în această bandă mai operează şi alte tehnologii de comunicaţie, pentru eliminarea
interferenţelor radio, Bluetooth foloseşte tehnica de împrăştiere spectrală cu schimbare în salturi
de frecvenţă, această schimbare de frecvenţă producându-se de 1600 ori pe secundă. Fiecare
dispozitiv având o gama de alegere a 79 de frecvenţe care se schimbă de 1600 ori pe secundă, fiind
puţin probabil ca două dispozitive să fie pe aceeaşi frecvenţa în acelaşi moment, iar dacă totuşi
interferenţa are loc, ea durează doar o mică fracţiune de secundă.
Arhitectura Bluetooth
32
Link Controller - un procesor de semnal digital care are mai multe funcţii: de transferuri
sincrone şi asincrone, codare radio, criptare. La nivelul Link Controller-ului este adresa
dispozitivului Bluetooth BD_ADDR (similara adreselor MAC) şi ceasul intern Bluetooth.
CPU core – este procesorul central al dispozitivului Bluetooth care cuprinde stiva de
protocoale (partea de software)
External interfaces – este o interfaţă fizică între modulul Bluetooth şi dispozitivul gazdă
(host) la care este ataşat modulul Bluetooth.
Commands
Device Manager
UDP TCP
OBEX
IP
TCS SDP
AT
AUDIO
PPP
RFCOMM
L2CAP
Host Host
Audio
Data
Control
Controller Controller
Interface Interface
Baseband:
Link Manager
Link Controller
Radio
Potrivit acestor protocoale, dispozitivele Bluetooth se pot localiza, conecta şi schimba date
între ele şi pot desfăşura aplicaţii interactive.
Baseband: Link Manager, Link Controller, Radio – sunt protocoale de transport ce permit
dispozitivelor Bluetooth să se localizeze între ele, permit crearea, configurarea şi
administrarea legăturilor logice şi fizice pentru schimbul de date dintre protocoalele de
niveluri superioare şi aplicaţii.
Host Controller Interface – este o interfaţă comună între nucleul Blutooth şi gazda Bluetooth
(ex. un laptop), care asigură compatibilitatea între diverse implementări hard.
L2CAP (Logical Link Control and Adaptation Protocol) – protocol de control al legăturii
logice şi adaptării prin care trece traficul de date. La nivelul L2CAP se face multiplexarea
33
aplicaţiilor şi protocoalelor permiţând acestora să utilizeze în comun interfaţa aer. Tot aici se
face segmentarea pachetelor de informaţie de dimensiuni mari adaptându-le la dimensiunea
necesară transmisiunii la nivel baseband şi corespunzător reasamblarea pachetelor la
recepţie.
RFCOMM – este un port serial virtual pentru aplicaţii, care face posibilă desfăşurarea
comunicaţiilor seriale peste legăturile wireless oferite de tehnologia Bluetooth.
SDP (Service Discovery Protocol) – este un protocol care stă la baza tuturor modelelor de
utilizare, care defineşte o metodă standard prin care un dispozitiv Bluetooth descoperă şi
află mai multe informaţii despre serviciile şi caracteristicile unui alt dispozitiv Bluetooth.
Informaţiile descoperite pot fi tabelate în liste, cu ajutorul cărora utilizatorul, având
informaţii despre serviciile dispozitivelor Bluetooth din vecinătate, poate selecta între aceste
servicii şi stabilii conexiuni cu unul sau mai multe dispozitive Bluetooth.
Grupul aplicaţiilor – este constituit din aplicaţiile care efectiv utilizează legăturile Bluetooth.
O parte din aceste aplicaţii sunt „moştenite‖ iar altă parte sunt proiectate pentru a folosi alte
tehnologii care pot fi desfăşurate prin link-uri Bluetooth, cu modificări minore ale software-
lui respectiv.
34
Caracteristici sau parametri cheie ai funcţionării dispozitivelor radio Bluetooth:
Modulația
Sunt definite 2 moduri de modulație. Unul numit ―Basic Rate ― (Rata de transfer de date de
bază) care folosește o modulație binară FM pentru a minimiza complexitatea transmițătorului/recep-
torului. Și cel de al doilea mod numit EDR (Enhanced Data Rate- Rată de transfer ridicată) ,care
folosește modulație PSK (phase-shift keying) și are 2 variante: DPSK (modulaţie diferenţială de
cuadratură de fază -Differential Quadrature Shift Keying) si DQPSK( modulaţie cu deplasare
diferenţială de fază -Differential Phase Shift Keying). Rata de simboluri pentru toate modulațiile
este de 1Ms/s. Rata de transmisie a datelor prin aer este de 1Mbps pentru Basic Rate și 2 Mbsp
pentru EDR, folosind DQPSK și 3 Mbsp pentru EDR folosind DPSK.
Pentru modul Basic Rate modulația este GFSK (Gaussian Frequency Shift Keying) cu o
perioadă de bit de lățime de bandă = 0,5. În modulaţia cu deplasare gaussiană de frecvenţă, 1 se
codează cu Ft + fd, iar 0 se codează cu Ft - fd, unde Ft este frecvența de transmitere, iar Fd - abaterea
(deviația) frecvenței. Pentru rata de transfer de bază deviația minimă este de 115kHz, figura 2.16.
35
Intervin douã tipuri de interferenţã:
- interferenţa co-chanel este interferenţa datorată utilizării în comun a aceluiaşi canal radio,
atunci când douã sau mai multe canale de comunicaţie sunt alocate aceleiaşi frecvenţe şi este fixatã
la valoarea raportului
Nivel purtător/Nivel interferenţă de maximum 18 dBm;
- interferenţa între canalele adiacente situate unele faţã de altele la distanţa de 1 MHz sau 2
MHz, pentru care raportul C/I este 0 dB, respectiv –30 dB.
Adresarea :
Adresa dispozitivului Bluetooth -- adresa IEEE 802 pe 48 biți
-- LAP (lower address part) pe 24 biți
-- UAP (upper addres part) pe 8 biți
Nucleul sistemului tehnologiei Bluetooth este format dintr-un dispozitiv emisie/recepție RF,
baseband și o stivă de protocoale. Sistemul oferă servicii care activează conexiunea dispozitivelor și
schimbul de diferite de clase de date între aceste dispozitive.
RF-ul folosește o modulație de frecvență binară pentru a minimiza complexitatea
emițătorului/receptorului . Rata simbolului este de 1 Megasimbol/sec(Msps) care suportă o rată de
bit de 1 Megabit/sec(Mbps) sau cu EDR (Enhanced Data Rate) o rata de bit în aer de 2 la 3 Mb/s.
În timpul unei operații tipice, un canal radio este împărțit de un grup de dispozitive care sunt
sincronizate conform unui tipar după ceas și frecvență.
Dispozitivele dintr-un piconet folosesc un anumit tipar pentru frecvența care este determinat
algorithmic de anumite câmpuri din specificațiile Bluetooth-ului de adresa și ceas ale master-ului.
Tiparul pentru frecvențe poate fi adaptat pentru a exclude o parte din frecvențele folosite pentru
dipozitivele care interferează.
Canalul fizic este subdivizat în unități de timp numite slot-uri. Datele sunt transmise între
dispozitivele Bluetooth prin pachete care sunt poziționate în aceste slot-uri. Când circumstanțele
permit, un număr de slot-uri consecutive pot fi alocate unui singur pachet. Schimbarea frecvenței
are loc între transmisiile și recepțiile de pachete.
36
Deasupra canalului fizic există un nivel de link-uri și canale și protocoale de control
asociate. Ierarhia de canale și link-uri începe cu canalul fizic , link-ul fizic, transportul logic, link-ul
logic și canalul L2CAP.
În canalul fizic se formează o legatură logică între 2 dispozitive care transmit pachete
bidirecțional între ele. Într-un canal fizic piconet sunt restricții pe care dispozitivele pot forma
legături logice între ele. Există o legătură logica între fiecare slave și master.
Legătura fizică este folosită ca un transport pentru una sau mai multe legături logice care
suportă o distribuție unică, un trafic sincron și asincron. Traficul pe legăturile logice este
multiplexat pe legătura fizică prin ocuparea sloturilor asignate de o funcție de programare aflată în
manager-ul de resurse.
Un protocol de control pentru nivelul fizic este transportat peste legătura logică pentru a fi
adăugat datelor utilizate. Acesta este LMP (Link Manager Protocol) . Dispozitivele care sunt active
în piconet au un transport de tip conexiune orientate asincronă standard care este folosit pentru a
transporta protocolul LMP. Acest lucru este cunoscut sub numele de ACL(transport logic). ACL-ul
este creat atunci când un dispozitiv intră în piconet. Pot fi create transporturi logice adiționale
pentru a transporta stream-uri de date atunci când este necesar.
37
Comunicarea și conectarea
Un dispozitiv Bluetooth care joacă rol de „master‖ poate comunica cu până la 7 dispozitive
care joacă rol de „slave‖. Această rețea de 8 dispozitive poartă numele de „piconet‖. Un „piconet‖
este o rețea ad-hoc de dispozitive care folosesc protocoale Bluetooth pentru a permite unui
dispozitiv „master‖ să se interconecteze cu 7 dispozitive active de tip „slave‖. Până la 255 de
dispozitive „slave ‖ pot fi inactive, pe care master-ul poate să le aducă la status-ul de active în orice
moment, figura 2.21. La orice moment pot fi transferate date între master și 1 slave, dar masterul
poate să schimbe rapid de la un slave la altul prin metoda round-robin (transmisia simultană de la
master la mai multe salve-uri este posibilă, dar nu este prea folosită în practică). Alte dispozitive pot
schimba rolul master/slave în orice moment.
standby
Specificațiile Bluetooth permit conectarea a două sau mai multe piconet-uri pentru a forma
un „scatternet‖, cu cîteva dispozitive care se comportă ca un pod, jucând în acelașii timp rolul de
master într-un piconet și rolul de slave în alt piconet, figura 2.22. Aceste dispozitive au apărut în
anul 2007.
38
CAPITOLUL 3
IMPLEMENTAREA HARDWARE A SISTEMULUI AUTOMAT DE
COMANDĂ LA DISTANŢĂ A UNUI DISPOZITIV DE AFIŞAJ
Sistemul de comandă la distanţă a dispozitivului de afişaj este compus din terminal de tip
Smartphone, modul Bluetooth, placa de dezvoltare şi circuitul matricei cu LED-uri, figura 3.1.
Arhitectura softului permite utilizatorului să activeze în timp real secvenţa dorită, iar în funcţie de
parametrii selectaţi comanda este analizată, apoi preluată de către codor, modulator, mai departe de
către interfaţa de transmisie ce constă în microchip-ul Bluetooth încorporat, apoi, prin canalul de
comunicaţie, informaţia ajunge la interfaţa de recepţie, demodulator şi decodor ca apoi să fie pusă
în execuţie prin intermediul plăcii de dezvoltare, rezultând aprinderea LED-urilor conform comenzii
date.
5
3
Placa de dezvoltare
cu mictrocontrolerul
1 AT mega 328
4 6 7
µC 2
1- afişaj digital
2- microcontroler cu funcţie codor, modulator
3- interfaţa de transmisie
4- modul Bluetooth
5- canale de comunicaţie
6- placa de dezvoltare cu microcontroler cu funţie decodor, demodulator
7- matrice LED
FUNCŢIONARE
Secvenţa iniţială constă în sincronizarea celor două dispozitive Bluetooth odată cu lansarea
aplicaţiei. În urma sincronizării, se stabileşte şi mediul de comunicaţie, ca apoi legătura între
dispozitive să se efectueze doar unidirecţional.
Aplicaţia Android, permite prin intermediul afişajului digital (1) să preia de la utilizator
informaţia necesară în funcţie de criteriile prestabilite, informaţie ce ajunge ulterior la
microcontroleru l integrat (2) ce indeplineşte şi funcţia de codor respectiv modulator. Secvenţa de
date, în urma analizei integratului, este preluată de către interfaţa de transmisie (3). Prin
intermediul canalului de comunicaţie (5) stabilit, informaţia recent primită este trimisă către
modulul Bluetooth (4). Placa de dezvoltare ascultă de portul serial când secvenţa de date este
primită, secvenţă ce este decodată şi demodulată prin intermediului microcontrolerului (6) plăcii de
dezvoltare, rezultând aprinderea LED-urilor matricei (7) conform comenzilor introduse.
39
3.1. Microcontrolerul
3.1.1.Generalități
La modul general un controler este, actualmente, o structură electronică destinată controlului
unui proces sau, mai general, unei interacţiuni caracteristice cu mediul exterior, fără să fie necesară
intervenţia operatorului uman.
Destinaţie:
Aplicații de urmărire și de control
Sisteme încapsulate
Senzori inteligenți
Avantaje:
Cost redus
Dimensiuni mici
Consum redus
Utilizarea unui microcontroler constituie o soluţie prin care se poate reduce dramatic
numărul componentelor electronice precum şi costul proiectării şi al dezvoltării unui produs.
40
Există la ora actuală un număr extrem de mare de tipuri constructive de microcontrolere. Un
criteriu de clasificare care se poate aplica întotdeauna este lungimea (dimensiunea) cuvântului de
date. Funcţie de puterea de calcul dorită şi de alte caracteristici se pot alege variante având
dimensiunea cuvântului de date de 4, 8,16 sau 32 de biţi ,chiar şi variante de 64 de biţi.
Având in vedere tehnologiile de fabricație utilizate, practic, toate microcontrolerele se
realizează la ora actuală în tehnologie CMOS. Se pot realiza astfel structuri cu o mare densitate de
integrare, cu un consum redus (care va depinde de frecvenţa de lucru), permiţând eventual
alimentarea de la baterie.
Logica internă este statică, total sau în cea mai mare parte permiţând astfel, în anumite
condiţii, micşorarea frecvenţei de ceas sau chiar oprirea ceasului în ideea optimizării consumului.
43
3.1.3 Caracteristici importante ale microcontrolerelor
44
3.2. Specificaţii ale microcontrolerului ATmega 328P
Acest microcontroler este de tip CMOS pe 8 biţi, ce are un consum redus de curent.
Arhitectura RISC a lui 328P este una îmbunătăţită de AVR. Vitezele de procesare sunt în jur de
1MIPS/MHz, datorită executării instrucţiunilor într-un singur ciclul de ceas.
45
Atmel, firma producătoare, a dezvoltat o tehnologie nevolatilă cu densitate ridicată şi a
implementat-o pe acest dispozitiv. Memoria de program poate fi reprogramată prin interfaţa SPI,
printr-un programator uzual de memorii nevolatile sau prin programul integrat de boot ce rulează
în nucleul AVR.
Programul de boot sau bootloader-ul, poate utiliza orice interfaţă pentru a încărca
programul în memoria de program. Softul din secţiunea de bootare a memoriei Flash va rula fără
încetare cât timp secţiunea de program a memoriei este încărcată, asigurând o operaţie de citire
în timp de scriere, reală.
Nucleul AVR
Funcţia principală a nucleului CPU este să asigure execuţia corectă a programului; deci
CPU-ul trebuie să fie capabil să acceseze memorii, să execute calcule, să controleze perifericele
şi să se ocupe de întreruperi.
46
Fişierul de acces rapid al Registrelor conţine 32 de registre de uz general pe 8 biţi
fiecare, cu un timp de acces într-un singur ciclu de ceas. Acest lucru permite ca operaţiile
aritmetico-logice să fie executate într-un singur tact. 6 dintre cele 32 de registre pot fi folosite ca 3
registre de adresare indirectă pe 16 biţi, permiţând astfel calcule eficiente ale adreselor. Unul din
aceşti pointeri de adresă poate fi folosit ca pointer de adresă a tabelelor din memoria Flash de
program.
Unitatea Aritmetică Logică (UAL) suportă operaţii aritmetice şi logice între registre sau
între un registru şi o constantă. Pot fi executate şi operaţii cu un singur registru. După o operaţie
aritmetică, Registrul de stare este rescris, pentru a reflecta informaţii referitoare la rezultatul
operaţiei. Spaţiul memoriei Flash este divizat în 2 părţi, partea programului de boot şi partea
programului de aplicaţii. Fiecare secţiune are biţi de blocare dedicaţi pentru protecţie la scriere şi
citire/scriere.
Registrul de stare
Registrul de stare deţine informaţii referitoare la rezultatul ultimei operaţii aritmetice.
Această informaţie poate fi folosită pentru a modifica rularea programului în scopul de a executa
operaţii condiţionate. Registrul de stare este actualizat după fiecare operaţie a unităţii ALU. În
multe cazuri, acest fapt va elimina nevoia de a folosi instrucţiuni de comparaţie dedicate, rezultând
un cod mai rapid şi mai compact.
Registrele de uz general
Fişierul registrelor este optimizat pentru setul mare de instrucţiuni RISC al AVR-ului. În
scopul de a atinge performanţa şi flexibilitatea dorită, următoarele configurații de intrare/ieşire sunt
suportate de fişierul cu registre:
47
Figura 3.4. Cei 32 de regiștrii cu scop general de lucru [33]
Pentru diferitele moduri de adresare, aceste registre de adresă, au funcţii cum ar fi: incre-
mentare/decrementare automată.
Memoria SRAM
Atmega328p este un microcontroler complex cu mai multe unităţi periferice decât pot fi
suportate în cele 64 de locaţii rezervate în Opcode (operation code) pentru instrucţiunile de
intrare/ieşire. Ultimele 2303 locaţii de memorie sunt repartizate după cum urmează: primele 32
locaţii aparţin Registrului Fişier, următoarele 64 de locaţii sunt repartizate memoriei de
intrare/ieşire, apoi urmează 160 de locaţii pentru extensia memoriei I/O, iar ultimele 2048 locaţii
de memorie accesează datele interne SRAM.
Ceasul sistemului
Schema următoare prezintă principalele sisteme de ceas ale AVR-ului şi distribuţia lor. Nu
este necesar ca aceste sisteme să fie active toate în acelaşi timp, şi pentru a reduce consumul de
energie, modulele de ceas pot fi oprite folosind diverse moduri de hibernare (sleep).
50
măsurată de Oscilatorul Wachdog, iar numărul de cicluri de întârziere este dat de biţii fuzibili
SUTx şi CKSELx. Întârzierile selectabile sunt reprezentate în tabelul următor:
0 ms 0 ms 0
65 ms 69 ms 8.192
Principalul scop al întârzierii este să menţină AVR-ul în reset până când acesta este
alimentat cu tensiunea Vcc minimă. Întârzierea nu monitorizează tensiunea şi va fi necesar
selectarea unei întârzieri mai mari decât timpul de creştere al tensiunii Vcc. Dacă acest lucru nu
este posibil, un circuit de detecţie Brown-Out intern sau extern va trebui folosit. Un circuit BOD
ar asigura suficientă tensiune Vcc, înainte de a elibera reset-ul, iar întârzierea de time-out poate
fi dezactivată.
Managementul consumului
Modul Sleep permite aplicaţiei să oprească modulele nefolosite de MCU, salvând astfel
consumul. AVR pune la dispoziţie o serie de moduri Sleep, oferindu-i utilizatorului posibilitatea
de a-şi alege consumul de putere în funcţie de cerinţele aplicaţiei. Pentru a intra în oricare din
modurile Sleep, bitul SE din registrul SMCR(Sleep Mode Control Register) trebuie pus în 1
logic şi trebuie executată o instrucţiune SLEEP. Biţii SM2, SM1 şi SM0 din registrul SMCR
selectează care mod Sleep va fi activat de instrucţiunea SLEEP conform cu tabelul de mai jos:
Dacă o întrerupere a fost activată, în timp MCU este în modul Sleep, acesta se
„trezeşte‖. Unitatea MCU este apoi oprită pentru 4 tacturi de ceas în momentul timpului de pornire,
se execută rutina de întrerupere şi se reia execuţia ce urmează după SLEEP. Conţinutul fişierului de
registre şi memoria SRAM nu sunt alterate atunci când dispozitivul se ‖trezeşte‖ din modul Sleep.
Dacă apare o instrucţiune de reset în timpul modului SLEEP, unitatea MCU se ‖trezeşte‖ şi
execută de la vectorul de reset.
52
3.3. Placa de dezvoltare Seeeduino v2.21
Seeeduino este o placă de dezvoltare asemănătoare cu celebra Arduino UNO. Designul său
este bazat pe schema Diecimilia, 100% compatibilă cu programul său existent, shield-ul și IDE-ul
(Integrated Development Environment- mediul de dezvoltare a programelor de calculator). Pe
partea hardware s-au făcut schimbări remarcabile pentru a îmbunătății flexibilitatea și experiența
utilizatorului. Procesorul este optimizat să ruleze cod scris într-un limbaj de programare apropiat ca
structura codului C++, C Sharp.
ICSP ( in-circuit serial programming) = este o tehnică prin care un dispozitiv programabil
este programat dupa ce acesta este plasat într-o placă de circuit. Placa Seeeduino dispune de un
astfel de port prin care utilizatorul poate rescrie bootloaderul microcontrolerului de exemplu.
Oscilator cu cristal de 16MHz = acesta este ca o inimă pentru microcontroler. Oscilatorul
prevede un ritm care determină µC-ul să ia măsuri. În seria de µControlere AVR fiecare impuls de
ceas execută o singură instrucțiune ( unele instrucțiuni au nevoie de mai mult de un ciclu de ceas
pentru a executa). Pentru o sincronizare exactă se recomandă un oscilator cu cristal. În general la
AVR-uri se folosesc cristale de la 1MHz la 16 MHz, depinde de aplicație.
Regulator de tensiune (3.3 sau 5V) = este folosit pentru a menține un nivel constant al
tensiunii.
PWM (Pulse-width modulation) = 6 dintre pinii plăcii de dezvoltare Seeeduino sunt capabili
să genereze la ieșire semnale PWM. Termenul PWM aparține limbii engleze și se traduce prin Pulse
Witdh Modulation. În traducere liberă înseamnă Semnal Modulat în Durată. Semnalele PWM sunt
utilizate îndeosebi pentru controlul vitezei unui motor de cc sau pentru variația intensității unui led
s.a.m.d. În cazul motoarelor în cc, acestea permit controlul vitezei prin mărirea sau micșorarea
tensiunii de alimentare dar astfel, viteza variază neliniar. Pentru corecția acestui inconvenient se
recurge la opțiunea de control prin semnale PWM unde putem obține o variație liniară a vitezei
motorului.
Relația matematică prin care putem calcula factorul de umplere al semnalului PWM este:
D= , unde este durata impulsurilor iar T este perioada semnalului.
T
53
Figura 3.12. Schema simplificată a unui circuit de Figura 3.13 .Reprezentarea
obţinere a semnanului PWM semnalului PWM [37]
Principiu de funcţionare :
În comparator valoarea Va este comparată cu valoarea Vr; în cazul în care Va > Vr atunci
la ieşirea comparatorului vom obţine valoarea `1` (Ton), iar în caz contrar vom obţine
valoarea`0`(Toff). Creşterea tensiunii de ieşire determină Vf să crească peste Vref ceea ce va
rezulta o scădere a Va, deci durata pentru `1` logic la ieşirea comparatorului va fi mai scurtă. În
cazul scăderii tensiunii de ieşire atunci vom obţine o durată mai mare pentru `1`logic la
ieşirea comparatorului. Variaţia lăţimii impulsului în funcţie de tensiunea de ieşire se
datorează factorului de umplere ( în engleză : duty cicle).
Convertor USB- serial UART = FT232R este un dispozitiv de interfaţare între USB şi
serial UART care simplifică configuraţia USB-serial şi reduce numărul componentelor externe
(prin integrarea unui EEPROM pentru configurare, a unor rezistori terminali USB şi a unui
circuit integrat de ceas care nu necesită cristal extern) în dispozitiv. Acest dispozitiv a fost
optimizat pentru a opera eficient cu un controler gazdă USB prin utilizarea cât mai redusă posibil a
benzii de transmisie disponibilă USB-ului.
Figura 3.14. Modul de conexiune al interfeţei USB cu interfaţa UART prin FT232R [41]
54
Semnificaţia pinilor integratului FT232R
Sumar Seeeduino
- Microcontroler: ATmega328P;
- Tensiune de operare: 5V;
- Tensiune de intrare (recomandată): 7 - 12V;
- Pini I/O digitali: 14 (dintre care 6 PWM de ieşire);
- Pini I/- analogici: 6;
- Curent continuu per pin I/O: 40mA;
- Memoria Flash: 32 KB dintre care 0.5 KB folosiţi de bootloader;
- SRAM: 2 KB;
- EEPROM: 1KB;
- Viteză de ceas (clock speed): 16 MHz.
- SPI: 10 (SS), 11(MOSI), 12 (MISO), 13(SCK). Aceşti pini suportă comunicaţia de tip
SPI folosind librăria SPI.
- LED: 13. Acesta este un LED încorporat conectat la pinul digital 13. Când pinul este la
nivelul logic 1, ledul este aprins, iar când este la 0 logic , ledul este stins.
- TWI: pinul A4 ( SDA) sau pinul A5 ( SCL). Susţin comunicarea TWI folosind
librăria WIRE
Alţi pini:
- AREF: tensiunea de referinţă pentru intrări analogice. Este folosită cu funcţia
analogReference.
- Reset: aduce linia la nivelul logic 0 să reseteze microcontrolerul. Este folosit de obicei
pentru a adăuga un buton de resetare pentru shield-urile care îl blochează pe cel deja
existent.
Seeeduino poate fi alimentată prin conectorul USB sau de la o sursă de alimentare externă.
55
Input şi Output
Fiecare din cei 14 pini de placă pot fi folosiţi fie ca input sau ca output, folosind
funcţiile pinMode(), digitalWrite() sau digitalRead. Ei pot opera la 5 volţi. Fiecare pin poate genera
sau primi maxim de 40 mA şi conţine un rezistor de ridicare(pull-up) intern (deconectat prin
default ) de 20-50 kOhmi. Ba mai mult, unii pini au funcţii specializate, precum:
- serial:0(RX) şi 1(TX). Folosit să recepţioneze (RX) şi să transmită (TX) date seriale TTL.
- întreruperile externe: 2 şi 3. Aceşti pini pot fi configuraţi pentru a declanşa o întrerupere la o
valoare joasă, o ridicare , o scădere sau o schimbare a valorii.
- PWM: 3, 5, 6, 9, 10 şi 11. Oferă un semnal PWM de ieşire de 8 biţi cu funcţia
analogWrite().
Comunicaţie
56
3.3. Modulul Bluetooth
Există două variante de implementare a unui sistem înglobat cu transmisie Bluetooth, prin
utilizarea unei interfeţe Bluetooth conectate la un microcontroller existent sau utilizarea unui
microcontroller cu Bluetooth integrat.
Momentan prima soluţie este preferată asigurând o viteză de implementare mai mare şi
costuri mai mici.
Am ales interfaţa Bluetooth HC-06, ce asigură transfer Bluetooth versiunea 2 cu EDR
(Enhanced Data Rate) de până la 3Mbps. Sunt posibile moduri de lucru cu economie de energie.
Alimentarea este între 3V şi 3,6V, puterea de emisie fiind de 18dBm.
Interfaţa HC-06, are următoare configuraţie a pinilor:
După cum am menţionat în introducere, în prezent se încearcă integrarea cât mai multor
funcţii telefoanelor mobile de tip Smartphone. Dacă ne uităm în trecut, terminalele GSM erau
utilizate strict pentru comunicaţia mobilă, butoanele erau cât mai simple, atât cât să permită
efectuarea unui apel sau scrierea unui mesaj, în timp cerinţele utilizatorilor au crescut, pe lângă
funcţii ca: ceas, alarmă, calendar, calculator, jocuri, radio, cameră foto, acces la internet ş.a.m.d. ,
se observă tendinţa spre comanda dispozitivelor externe terminalului , ca o extindere a aplicaţiilor
realizate de acesta.
Pentru realizarea aplicaţiei de comandă a unui dispozitiv de afişaj am folosit modulul HTC
Desire 300, prevăzut cu un software de tip Android OS, versiunea 4.1.2 (Jelly Bean), unitate
centrală de prelucrare de tip Dual-core 1 GHz Cortex-A5 şi chipset-ul Qualcomm MSM8225
Snapdragon S4 Play.
58
3.5. Matricea de LED-uri
LED-urile folosite pentru realizarea matricei sunt de culoare albastră cu vârful lungimii de
undă 465nm, aliajul utilizat este AlGaInP, tensiunea de polarizare poate varia între 3V şi 3.4V,
curentul de polarizare este de 20 mA, obţinându-se o intensitate luminoasă maximă de 3.2 cd (=
= lm/sr).
Pentru a realiza o matrice cu 8 rânduri şi 8 coloane,
cele 64 de LED-uri necesare au fost conectate având catodul
în comun pe coloane și anodul în comun pe rânduri, astfel :
Cele 8 coloane au fost conectate în ordine
crescătoare la pinii digitali ai plăcii de dezvoltare Seeduino
numerotaţi de la 2 la 9.
Pentru rânduri am utilizat cei 4 pini digitali, rămaşi
10, 11 , 12, 13 şi 4 pini analogici, declaraţi ca şi digitali şi
anume : 0,1,2,3.
3.7. Utilizare
Sistemul, prin conexiunea mini-USB, alimentează placa cu o tensiune de 3.3V, aceasta este
distribuită tuturor componentelor periferice. Un sistem redundant de alimentare este de asemenea
montat, constituit dintr-o sursă neîntreruptă de energie, o baterie de 9V.
Operatorul uman poate plasa comanda personalizată care va apărea pe afişajul digital ce
constă în matricea de LED-uri, cu ajutorul unui Smartphone/ Tabletă, pe care am instalat aplicaţia
dedicată, la o distanţă de până la 10 m de ansamblu.
Comenzile aplicaţiei sunt simple: căutare dispozitiv, conectare cu acesta, întrerupere
conexiune. Butonul „CĂUTARE‖ presupune căutarea unui dispozitiv disponibil şi selectarea
acestuia, în cazul de faţă, comanda de „pairing‖ cu modulul Bluetooth având numele „=Madalina‖.
Butonul „CONECTARE‖ realizează conexiunea între terminalul mobil şi dispozitivul selectat în
urma sincronizării, stabilindu-se mediul de comunicaţie. Butonul „ÎNTRERUPE‖ va opri
comunicarea între modulul de comandă şi elementul de execuţie, astfel că acesta din urmă nu va
mai asculta de nicio comandă introdusă după activarea acestui buton.
Când există comunicare între terminalul mobil şi ansamblu, utilizatorul poate introduce o
comandă prin simpla atingere a interfeţei în zona de interes, de asemenea poate reseta toate
comenzile introduse până in momentul respectiv şi relua procesul, cu butonul „RESETARE‖.
60
CAPITOLUL 4
IMPLEMENTAREA SOFTWARE A SISTEMULUI
AUTOMAT DE COMANDĂ LA DISTANŢĂ A UNUI DISPOZITIV
DE AFIŞAJ
61
Figura. 4.2 – IDE-ul Arduino
IDE-ul Arduino are inclusă o librărie C/C++ numită ,,Wiring‖ (de la proiectul cu același
nume), care face anumite operații comune de input/output mult mai ușoare. Programele Arduino
sunt scrise în C/C++, deși utilizatorii trebuie să definească două funcții pentru a crea un program
utilizabil:
- setup() - o funcție rulată odată la începutul programului pentru a iniția setările;
- loop() - o funcție apelată repetat până la oprirea plăcii;
Un anumit număr de lucruri trebuie să se întâmple pentru ca codul Arduino să ajungă pe
placa aferentă. Mai întai, mediul Arduino face câteva mici transformări pentru a se asigura
corectitudinea codului C sau C++. Atunci este transmis unui compilator (avr-gcc), care transformă
codul în instrucțiuni pentru dispozitiv. Apoi, codul este combinat cu librăriile standard Arduino care
furnizează funcții de bază ca ,,digitalWrite()‖ sau ,,Serial.print()‖. Rezultatul este un singur fișier
.hex, care conține octeții specifici necesari pentru a fi scriși pe memoria program a cipului de pe
placa Arduino. Acest fișier este atunci încărcat pe placă: transmis prin USB sau conexiunea în serie
via bootloader-ul de pe cip sau prin componenta externă de programare.
Plăcile de tipul Arduino curente sunt programate via USB, puse în aplicare folosind cipuri
adaptoare USB-to-serial cum ar fi FTDI FT232. Unele variante, cum ar fi Arduino Mini și
neoficialul Boarduino, folosesc un cablu placă adaptoare detașabilă USB-to-serial, Bluetooth sau
alte metode.
62
4.2. Schema logică a funcţionării sistemului
Funcționarea sistemului este centralizată și gestionată de placa de dezvoltare cu
microcontroler Atmega328 ce rulează mediul de programare Arduino. În momentul alimentării
sistemului începe rularea programului stocat în memoria microcontrolerului.
La baza aplicaţiei stă instrucţiunea de
aprindere a LED-urilor. Pentru înţelegerea
principiului putem urmări figura din stânga
unde, unde pinii 1 și 2 sunt reprezentaţi
asemenea unor contacte cu 2 poziţii posibile,
corespunzătoare alimentării LED-urilor cu 3.3V
(HIGH), respectiv voltaj 0 (LOW) , în total 4
posibilităţi de comandă a LED-ului.
Pentru ca acesta să fie polarizat corect
pinul 1 la care a fost conectat anodul trebuie să
fie pe poziția HIGH și pinul 2 corespunzător
catodului trebuie să fie pe poziţia LOW, orice
Figura 4.4. Comanda altă comandă reprezintă o polarizare incorectă a
pentru aprindere dată LED-ului, iar acesta rămâne stins.
pe pinii unui LED Aşadar, instrucţiunea pe care o vom
folosi în codul sursă scris în mediul de
Figura 4.3. Modul de programare Arduino pentru aprinderea unui
conectare a unui LED LED conectat cu anodul la pinul 1 și catodul la
între 2 pini ai plăcii pinul 2, va fi:
Digitalwrite (pin1, HIGH)
Digitalwrite (pin2, LOW),
Respectiv pentru stingerea aceluiaşi LED:
Digitalwrite (pin1, HIGH)
Digitalwrite (prin2, HIGH)
Aprinderea a mai multor LED-uri concomitent nu este realizabilă!
Nefiind posibil ca acestea să ilumineze simultan se foloseşte scanarea matricei, adică
aprinderea LED-urilor pe rând, la momente de timp foarte scurte pentru a nu se observa
interschimbarea.
După ce am reuşit să scriem instrucţiunile de scanare a matricei de LED-uri, în scopul
obţinerii afişajului (Display), acestea vor fi apelate o dată la 1 milisecundă cu ajutorul unei
biblioteci speciale de temporizare Mstimer2. Următorul aspect important rămâne să se respecte
întocmai comanda introdusă de utilizatorul ce foloseşte interfaţa la nivelul terminalului mobil.
Cu ajutorul interfeţei de comunicaţie, prin intermediul căreia totodată a fost stabilit mediul
de comunicare, se transmit 3 comenzi posibile asupra celor 64 de LED-uri ale matricii, pe care
programul le recunoaşte, utilizând instrucţiunile de iniţializare a comunicaţiei seriale: Serial.begin
(115200) , de verificare a datelor primite: if (Serial.available() > 1) şi de citire a acestora.
Cele 3 comenzi sunt de aprindere şi stingere individuală a fiecărui LED, respectiv stingerea
tuturor LED-urilor aprinse precedent, recunoscute de program ca 3 valori posibile ale variabilei
Incomm, primită de la serial: 48 (aprindere), 49 (stingere), 99 (resetare).
Cele 64 de LED-uri au în interiorul codului sursă o adresă unică dată în funcţie de valoarea
unică InValue , primită de la serial, prin intermediul căreia pot fi recunoscute de program pentru a fi
aprinse, respectiv stinse.
Când utilizatorul introduce comanda de aprindere a unui anumit LED, de la serial se
primeşte valoarea 49, pentru variabila Incomm şi programul recunoaşte adresa unică a acestuia prin
variabila InValue. Similar este şi în cazul stingerii unui LED, singura diferenţă e că valoarea
variabilei Incomm primită va fi 48. În cazul resetării matricei, se apelează o funcţie special definită
pentru stingerea tuturor LED-urilor: ClearLeds ().
63
Alte aspecte pot fi urmărite în schema logică a funcţionării sistemului, precum şi în codul
sursă din ANEXA 1.
Android (al cărui logo este prezentat în Figura 4.5) este o platformă software și un
sistem de operare pentru dispozitive digitale și telefoane mobile, dezvoltată inițial de compania
Google, iar mai târziu de consorțiul comercial Open Handset Alliance. Android permite
dezvoltatorilor să scrie cod gestionat în limbajul Java, controlând dispozitivul prin intermediul
bibliotecilor Java dezvoltate de Google. Aplicațiile scrise în C și în alte limbaje pot fi compilate
în cod mașină ARM și executate, dar acest model de dezvoltare nu este sprijinit oficial de către
Google.
Caracteristici:
Printre caracteristicile și specificațiile actuale se numără următoarele:
platforma Android este adaptabilă la configurații mai mari
mașina virtuală Dalvik este optimizată pentru dispozitive mobile
navigatorul web disponibil este bazat pe platforma de aplicații open source WebKit
biblioteci grafice 2D incluse
biblioteci grafice 3D incluse, bazate pe specificația OpenGL ES 1.0
suport media
software-ul de baze de date SQLite este utilizat în scopul stocării datelor
Android suportă tehnologii de conectivitate incluzând GSM/EDGE,CDMA, EV -
DO, UMTS Bluetooth și Wi-Fi
SMS şi MMS sunt formele de mesagerie instant disponibile, inclusiv conversații de
mesaje text.
Software-ul scris în Java poate fi compilat în cod mașină Delvik și executat de mașina
virtuală Delvik, care este o implementare specializată de mașină virtuală concepută pentru
utilizarea în dispozitivele mobile, deși teoretic nu este o Mașină Virtuală Java standard.
Android acceptă următoarele formate media audio/video/imagine: MPEG-4, H.264,
MP3, AAC, OGG, AMR, JPEG, PNG, GIF. Android poate utiliza camere video/foto, touchscreen,
GPS, accelerometru, și grafică accelerată 3D. Include un emulator de dispozitive, unelte de
depanare, un plug-in pentru mediul de dezvoltare Eclipse.
Similar cu App Store de pe iPhone,Android Market (acum Google Play) este un catalog
de aplicații care pot fi descărcate și instalate pe hardware-ul țintă prin comunicație fără fir,
fără a se utiliza un PC. Inițial au fost acceptate doar aplicații gratuite. Aplicaţii contra cost sunt
disponibile pe Android Market începând cu 19 februarie 2009.
Android are suport nativ pentru multi-touch, dar această funcționalitate este dezactivată
(posibil pentru a se evita încălcarea brevetelor Apple pe tehnologia touch-screen). O modificare
neoficială, care permite multi-touch a fost dezvoltată.
Arhitectura Android
Diagrama din Figura 4.6 prezintă principalele componente ale sistemului de operare
Android. Astfel, acesta este oferit cu un set de aplicații incluse, precum client de email,
program SMS, calendar, hărți, navigator pe Internet, contacte etc. (nivelul plicații).
Asigurând o platformă de dezvoltare deschisă, Android oferă dezvoltatorilor
65
posibilitatea de a construi aplicații complexe și inovative. Aceștia sunt liberi să se folosească
de hardware-ul echipamentului, de informații despre accesarea locației, de rularea de servicii
de background, să seteze alarme, să adauge notificații pe bara de stare etc. Dezvoltatorii au
acces total la aceleași API-uri ca și aplicațiile distribuite cu Android. Arhitectura aplicațiilor
este gândită pentru a simplifica reutilizarea componentelor: orice aplicației își poate publica
capabilitățile, iar orice altă aplicație poate utiliza, apoi, aceste capabilități. Același mecanism
permite și înlocuirea componentelor de către utilizator.
66
Android include un set de biblioteci principale care asigură majoritatea funcționalități-
lor disponibile în bibliotecile limbajului de programare Java. Fiecare aplicație Android rulează
în propriul proces și în pro- pria instanță a mașinii virtuale Dalvik, scrisă astfel încât un
dispozitiv să ruleze eficient multiple instanțe ale mașinii virtuale. Mașina virtuală Dalvik se
bazează pe un nucleu Linux pentru funcționalități de bază precum lucrul cu fire de execuție și
managementul memoriei low-level.
Sistemul Android are la bază versiunea 2.6 de Linux pentru servicii de sistem precum
securitatea, mana- gementul memoriei, managementul proceselor etc. Nucleul funcționează și
ca un nivel de abstractizare între hardware și software.
SDK-ul Android
Design-ul aplicaţiei Android, a fost realizat pe principiul drag & drop, selectând
componentele necesare din paleta de bază aflată în stânga ferestrei App Inventor Designer.
69
Figura 4.8. Ferastra de design a aplicaţiei Android
Aceasta conţine :
-Butoanele aferente comunicaţiei Bluetooth:
CĂUTARE: în momentul în care va fi apăsat va genera o listă cu toate dispozitivele Bluetooth
asociate cu telefonul;
CONECTEAZĂ : va realiza conexiunea cu dispozitivul Bluetooth selectat;
ÎNTRERUPE: va întrerupe comunicaţia stabilită;
-64 de locuri de imagine sugestive corespunzătoare celor 64 de LED-uri ale matricei:
În momentul în care ecranul este atins în coordonatele bine stabilite corespunzătoare unui
LED, imaginea acestuia va fi înlocuită pe ecran cu poza sugestivă de culoare albastră ce
semnalizează comanda de aprindere a LED-ului, dacă acelaşi LED este selectat iar, la nivelul
ecranului, acesta va reveni la imaginea iniţială sugestivă pentru comanda de stingere.
Dacă nu există comunicaţie între terminalul mobil şi alt dispozitiv, secvenţa se incheie
doar prin interschimbarea acestor imgini corespunzătoare ON şi OFF.
Atunci când există comunicaţie cu dispozitivul, pe lângă modificările apărute la nivelul
ecranului telefonului, acesta transmite microcontrolerului variabilele InComm şi InValue necesare
procesării codului Arduino realizat.
Variabila InComm ne spune dacă LED-ul a fost selectat, prin transmisia caracterului „1‖,
respectiv deselectat, prin transmisia caracterului „0‖, iar variabila InValue indică poziţia LED-ului
în matrice.
-butonul de resetare, personalizat prin apăsare lungă
Acesta va interschimba toate imaginile selectate anterior în poziţia iniţială, de LED stins şi
va trimite microcontrolerului, în cazul în care există comunicaţie, caracterul „c‖.
- etichete şi imagini cu rol de coordonare, de exemplu:„Apăsare lungă”
- 2 elemente invizibile „BluetoothClient1‖ şi „BluetoothServer1‖ folosite pentru stabilirea mediului
de comunicaţie.
70
4.6.1. Descrierea blocurilor de program
Cu ajutorul instrumentelor din App Inventor Blocks Editor ( ANEXA 2 ), am asamblat
blocurile funcţionale ale aplicaţiei. Acestea vor fi considerate răspunsul sistemului de calcul la
atingerea Touchscreen-ului, în zonele definite în fereastra de design, reprezentate prin butoate, etichete
şi imagini cu ajutorul cărora operatorul introduce comanda.
Descrierea blocurilor:
1. Bloc pentru generarea listei de căutare ( ANEXA 5 ) a dispozitivelor asociate cu terminalul
mobil, aceasta este funcţia butonului „CĂUTARE‖:
3. Bloc pentru realizarea conexiunii Bluetooth cu dispozitivul selectat ( stă în spatele butonului
CONECTEAZĂ!) şi în cazul stabilirii acesteia apelarea funcţiei „Sendall‖, care transmite toate datele
introduse anterior momentului conectării:
Obs. Apare eroarea 507 în cazul în care nu se poate realiza conexiunea, iar in cazul în care
aceasta este deja realitază şi butonul este reapăsat este afişat mesajul erorii 503.
Acestea pot fi urmărite în ANEXA 4.
71
5. Blocul ce transmite simultan toate comenzile introduse anterior conectării:
Blocul verifică dacă clientul este conectat, în acest caz, pentru fiecare LED din lista de tip
index realizată verifcă dacă este activă imaginea corespunzătoare pentru LED aprins, caz în care
trimite textul „1‖ şi variabila de tip byte alocată poziţiei LED-ului în listă. Dacă poza nu este activă
se trimite textul „0‖, împreună cu poziţia LED-ului. Această secvenţă se execută consecutiv pentru
toate LED-urile.
Are loc la nivelul Touchscreen-ului şi schimbă starea imaginii din aprins în stins şi invers
pentru un LED individual, când e aplelată.
72
7. Funcţia grafică de stingere a imaginilor:
Are de asemenea loc la nivelul ecranului, iar când e apelată, toate LED-urile din listă se
comută pe imaginea LED-ului stins, indiferent de starea anterioară.
8. Blocul de resetare:
Pentru fiecare LED, s-a alocat un loc de imagine, de coordonate precise, unde este apelată
imaginea de ON sau OFF a LED-urilor. Locurile de imagine denumite în program „ImageSprite‖
au fost aşezate exact în forma matriceală dorită pentru aplicaţia noastră.
Atunci când se realizează atingerea ecranului se obţin coordonatele de pe axa X şi Y
corespunzătoare poziţiei LED-ului selectat din matrice, poziţie ce se indexează. În acelaşi timp se
apelează funcţia grafică de comutare a imaginii pentru LED-ul respectiv, pentru a confirma şi
semnaliza vizual utilizatorului comanda inserată.
Atunci când conexiunea cu clientul Bluetooth este realizată se verifcă dacă este activă
imaginea corespunzătoare pentru LED aprins, caz în care trimite textul „1‖ şi variabila de tip byte
73
alocată poziţiei LED-ului în listă. Dacă poza de ON nu este activă se trimite textul „0‖, împreună
cu poziţia LED-ului.
Acest bloc se poate urmări în figura 4.17.
74
Aplicaţia realizată are următoarea interfaţă:
76
3. Matricea cu LED-uri în diferite etape de pregătire pentru montaj:
77
4. Schema electrică individuală de montaj a modulului Bluetooth la pinii plăcii de dezvoltare
Seeduino realizarea practică şi verificarea funcţionării acestuia semnalizată de LED-ul roşu
încorporat al modulului:
78
5. Schema electrică individuală de montaj a matricei de LED-uri la pinii plăcii de dezvoltare
Seeduino, realizarea acesteia şi verificarea funcţionării tuturor LED-urilor:
79
6. Schema electrică completă a întreg ansamblului împreună cu forma constructivă finală a
proiectului:
80
Concluzii
Principalele obiective urmărite în decursul acestei lucrări au fost dezvoltarea şi
implementarea unui sistem automat de monitorizare şi comandă, în timp real, a unui dispozitiv de
afişaj cu ajutorul unui terminal Smartphone şi integrării procesului de comandă într-un sistem de
calcul aflat oricând la îndemâna utilizatorului, în scopul diminuării efortului depus de acesta.
Proiectul fizic este constituit din interconectarea componentelor asigurând buna funcţionare
a sistemului, monitorizarea şi comanda întregului ansamblu desfăşurându-se cu succes, unificând
dispozitivele într-un singur sistem funcţional şi fiabil, fiind uşor de realizat şi practic pentru situaţii
generale de comandă.
Programele cod realizate aflate în strânsă legătura, ale microcontrolerului şi dispozitivul
Android sunt uşor de înţeles şi pot fi modificate pentru a personaliza sistemul în cazul aplicaţiilor
specifice, astfel se pot modifica butoanele de comandă, se pot adăuga comenzi noi, atât la nivelul
interfeţei realizată cu ajutorul platformei Android cât şi la nivelul microcontrolerului programabil
al plăcii de dezvoltare Seeduino.
Etapa de construcție a reprezentat realizarea conexiunilor modulelor la placa de dezvoltare
centrală prin cabluri electrice, cât și montarea tuturor componentelor în incinta din material plastic
ce oferă suport și protectie. În prima fază modulele au fost testate individual conectând pe rând la
placa centrală câte una din componentele periferice.
Proiectul fizic este constituit din interconectarea componentelor asigurând buna funcționare
a sistemului, monitorizând modulul de execuţie ce constă în matricea de LED-uri, unificând
dispozitivele într-un singur sistem funcțional si fiabil, fiind ușor de realizat și practic pentru situații
generale de monitorizare şi control.
Funcționarea este centralizată și gestionată de dispozitivul Android, prin aplicaţia creată în
MIT AppInventor, precum şi de placa de dezvoltare cu microcontroler Atmega328 ce rulează
mediul de programare Arduino.
Operatorul uman poate plasa comanda personalizată la o distanţă de până la 10 m de
ansamblu, cu ajutorul unui Smartphone sau a unei Tablete, pe care am instalat aplicaţia dedicată cu
rol de interfaţă ce încorporează butoanele necesare definirii diferitelor opţiuni, într-o manieră
familiară şi pe înţelesul acestuia. Comenzile introduse vor apărea, în timp real pe afişajul digital ce
constă in matricea de 64 de LED-uri.
Înainte de aplicarea oricărei comenzi utilizatorul trebuie să sincronizeze şi să se conecteze
cu dispozitivul de interes prin intermediul interfeţei de comunicaţie Bluetooth. Atunci când mediul
de comunicaţie s-a stabilit, cele 3 comenzi, pe care acesta le poate introduce sunt de aprindere şi
stingere individuală a fiecărui LED, respectiv anularea întregilor operaţiuni introduse precedent,
prin comanda de resetare. În orice moment utilizatorul poate să întrerupă comunicarea cu
ansamblul, astfel încât comenzile să nu mai fie procesate, modificările rămânând la nivelul
dispozitivului Andoid, iar când comunicaţia este reluată, sistemul de acţionare va reda ansamblului
întreaga secvenţă de lucru plasată în timpul absenţei comunicării.
Direcţii viitoare
1.https://www.google.ro/search?q=periferice&source=lnms&tbm=isch&sa=X&ei=v3ewU7i
FBYShsASjy4CYCQ&ved=0CAYQ_AUoAQ&biw=1366&bih=705
2. http://destepti.ro/telecomanda-stiati-ca
3. http://ittrends.ro/2013/09/casa-inteligenta-automatizare-control-securitate-si-economie-
de-bani-i/
4.https://www.google.ro/search?q=smartphone+folosit+ca+telecomanda&tbm=isch&source
=lnms&sa=X&ei=1niwU9bcHJTMsAS57IDQBg&ved=0CAYQ_AUoAQ&biw=1366&bih
=705
5. http://www.utgjiu.ro/revista/ing/pdf/2009-01/14_CIOFU_FLORIN.pdf
6. http://psihologie.tripod.com/somm.htm
7. www.olias.arc.nasa.gov
8.https://www.google.ro/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8
&ved=0CB0QFjAA&url=http%3A%2F%2Fwww.eed.usv.ro%2F~cturcu%2Fdisc%2Fts%2
FTS1.ppt&ei=FnuwU_T9EZXMsATp7oCICQ&usg=AFQjCNHfvjenqs9H6tZy5MbjWTa4
4Ubg4A&sig2=46oHVc7Yw5tByO6ax0RrmA&bvm=bv.69837884,d.cWc
9. www.ergonomics.org.nz
10.https://www.google.ro/search?q=Sisteme+de+tastaturi+QWERTY%C5%9Fi+Dvorak&o
q=Sisteme+de+tastaturi+QWERTY%C5%9Fi+Dvorak&aqs=chrome..69i57.1261j0j4&sour
ceid=chrome&es_sm=93&ie=UTF-8
11.https://www.google.ro/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=
8&ved=0CB8QFjAA&url=http%3A%2F%2Fcndiptfsetic.tvet.ro%2Fmateriale%2FMaterial
e_de_predare%2FDC%2FModul%252012%2520ok.doc&ei=0n-
wU9avCcWosATay4DQBg&usg=AFQjCNElcvpG2ULXKxw3ZmzFcSY-
VPWAlQ&sig2=45vb1moszdAxdL8mSB1Odw&bvm=bv.69837884,d.cWc
12. http://www.scrigroup.com/tehnologie/electronica-electricitate/COMUNICATII-DE-
DATE11266.php
13.http://www.eetasia.com/ARTICLES/2001APR/2001APR02_RFD_TAC.PDF?SOURCE
S=DOWNLOAD%C3%A2ftp://ftp.ulim.md/Ingenerie/2007/2008/Eremeev%20V/Sisteme%
20Telecomunicatii/Practici/Bluetooth.pdf
14. http://srohit.tripod.com/bluetooth_sec.pdf
15. http://www.scribd.com/doc/218594487/Comunicatii-Prin-Bluetooth
16. http://www.scritub.com/stiinta/informatica/Nivelul-fizic-Standardul-
IEEE13111171312.php
17. http://ro.scribd.com/doc/212817515/Retele-Wireless-de-Mici-Dimensiuni
18. http://www.ieee.or.com/Archive/bluetoothworkshop/Inouye.pdf
19. http://www.scribd.com/doc/199029529/Bluetooth-Technology
20.https://www.google.ro/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=
8&ved=0CB0QFjAA&url=http%3A%2F%2Fwww.aut.upt.ro%2F~loredanau%2Fteaching
%2FPVM%2FProgramare%2520Vizuala%2520si%2520Modelare.pdf&ei=zn6wU_qAI6rLs
QSC4oGYBQ&usg=AFQjCNGI2-JxuVUzai4x1rBH4aI2IQddFg&sig2=6Gkv-
NqcK0mzseQ6gf39zg&bvm=bv.69837884,d.cWc
21. http://en.wikipedia.org/wiki/Gaussian_frequency-shift_keying
22. http://cursuri-
online.wikispaces.com/file/view/MICROCONTROLERE%20PARTEA%201.pdf/40440672
8/MICROCONTROLERE%20PARTEA%201.pdf
23. http://vega.unitbv.ro/~ogrutan/Microcontrollere2011/7-aplicatii%20mobile.pdf
83
24.https://www.google.ro/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&uact=
8&ved=0CDcQFjAD&url=http%3A%2F%2Fece.ubm.ro%2Fea%2Fcursuri%2FMM%2FM
M_II__ASC_Curs_2008.ppt&ei=BoOwU6HJGIrnsATizIGQDw&usg=AFQjCNEiPgbpPV
RDA3hlxoZ9lTJfEJ4MTw&sig2=_58Qh1eX8rzkREixJKQ5vg&bvm=bv.69837884,d.cWc
25. http://www.robotics.ucv.ro/flexform/aplicatii/m1/Marinescu%20Mihaela%20-
%20LED%20-uri%20in%20aplicatii%20cu%20microcontrolere/
26. http://ro.scribd.com/doc/79961872/Microcontrolere-Curs-Romana-16f84
27. http://ro.scribd.com/doc/199549573/sc
28. http://telecom.etc.tuiasi.ro/telecom/staff/ccomsa/Lucru/_Introducere_in_Bluetooth.pdf
29. http://ro.scribd.com/doc/47444548/Tehnologia-Bluetooth
30. http://vsh.ro/tutorial/297/tehnologia-bluetooth/
31.http://www.robotics.ucv.ro/flexform/craiova_cursuri/C4/Comunicatii%20la%20distanta.
%20Telegestiune/1.%20Metode%20de%20comunicare%20fara%20fir.pdf
32. Semnale şi medii de comunicaţii Popa Virgil-Vasile – prof.ing., grad didactic I, Colegiul
Tehnic de Comunicaţii „N. Vasilescu - Karpen‖ Bacău
33. Datasheet Atmega328P
34. http://en.wikipedia.org/wiki/Pulse-width_modulation
35. http://arduino.cc/en/Tutorial/PWM
36. .Microcontrolere pentru toti (2011) – Vasile Surducan si Wouter van Ooijen
37.https://www.google.ro/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=
8&ved=0CDUQFjAC&url=http%3A%2F%2Fcs.curs.pub.ro%2Fwiki%2Fpm%2Flab%2Fla
b3%3Fdo%3Dexport_pdf&ei=x4mwU7ekGfLJsQS_l4CgBQ&usg=AFQjCNEWYXqFaIl8
DOR-x94EYky5Bq9_JA&sig2=Xpote0fAuUzAeerKpR8shA&bvm=bv.69837884,d.cWc
38. http://makezineblog.files.wordpress.com/2014/03/hc_hc-05-user-instructions-
bluetooth.pdf
39. www.wavesen.com : HC-06 datasheet .pdf
40. http://www.seeedstudio.com/wiki/Seeeduino_v2.21
41. http://www.eternal.sk/forum/viewthread.php?thread_id=1
42. http://www.gsmarena.com/htc_desire_300-5666.php
43. http://www.adafruit.com/datasheets/BL-M12A881.PDF
44. http://www.arduino.cc/
45. http://andrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_13.pdf
46. http://www.itcsolutions.eu/2011/09/08/android-tutorial-concepte-activitati-si-resurse-
ale-unei-aplicatii-android/
84
ANEXE
1. Codul sursă al mictrocontrolerului :
#include <MsTimer2.h> //intoducere biblioteca pentru timpul necesar parcurgerii pasilor procesului
// Terminare rutină
void clearLeds() {
cli(); // intrerupere
// Stingerea intreg display-ului matricei
for (int i = 0; i < 8; i++)
{ for (int j = 0; j < 8; j++) { leds[i][j] = 0; } }
sei();// nonintrerupere
}
// Terminare rutină
void display() {
digitalWrite(rows[row], LOW); // Pinul corespunzator rândului aprins precedent primeste
tensiune 0, iar LED-urile se sting
row++; // Se incrementează rândul până ajunge la valoarea 8, când devine iar 0
if (row == 8) { row = 0; }
for (int col = 0; col < 8; col++) {
if (leds[col][row] == 1) { digitalWrite(cols[col], LOW); // Aprinderea acestui LED }
else { digitalWrite(cols[col], HIGH); // Stingerea acestui LED }
}
85
digitalWrite(rows[row], HIGH); }// Se scanează (aprinde) întreg rândul odata (pentru timpi de
iluminare egali)
// delayMicroseconds(800); // Se poate introduce o intarziere pentru ca timpii de iluminare sa fie
mai mari decat timpii in care LED-ul este stins, pentru a obtine o luminozitate mai buna, mai clară
void loop() {
if (Serial.available() > 1) {
inComm = Serial.read();
Serial.println((char)inComm);
inValue = Serial.read();
Serial.println(inValue);
86
3. Pinii microcontrolerului ATmega328P:
87
4. Erorile de conexiune 503 şi 507 ale aplicaţiei:
88
6. Realizarea diverselor modele de afişaj:
89