Licentaplagiat1 [616266]

Cuprins

Introducere
Capitolul 1 -Prezentare generală a proiectului
Capitolul 2 -Comunicația Bluetooth
Capitolul 3 – Placa de dez voltare Bluno Nano
3.1 Placa de dezvoltare Arduino Nano
3.1.1 Microcontroller -ul Atmega328
3.2 Modulul Bluetooth v.4.0
Capitolul 4 -Componente
4.1 Modulul cu Driver de Motoare Dual L298N
4.2 Kit Robot cu 4 Motoare
4.3 Baterii
4.4 Mini Breadboard
Capitolul 5 -PWM – Pulse width modulation – Modularea impulsurilor în durată
Capitolul 6 -Aplicații
6.1 Arduino
6.2 Codul sursa
6.2 Bluno Remote
Capitolul 7 – Rezultate și concluzii
Bibliografie
Anexa

Introducere

Acest proiect are drept scop crearea unui robot tip mașină fiind controlat prin intermediul
unui dispozitiv portabil care prezi ntă o interfață de comunicație tip bluetooth ,respectiv un telefon
mobil ce dispune de sistemul de operare Android.
Robotul creat poate fi utilizat în diferite domenii printre care se regăsesc următoarele
1. Industrie
2. Domeniul militar
3. Spionaj
4. Ajutorarea pers oanelor cu dizabilități
5. Activități de căutare

1. Adesea există imposibilitatea de a pătrunde în spații strâ mte ce constituie un posibil
pericol.Astfel ,prin intermediul acestui robot se poate interveni în inspectarea spaț iului r espectiv cu
eventu ale dificultăți.De pildă,robotul poate fi direcționat spre spațiul ce pune în dificultate accesul
uman,având drept consecință afectarea sanătații.Totodată ,prin intermediul robotului se poate
inspecta locuri cu scurgeri de gaze sau substanțe toxice,diferite bazine și instalații pentru a verifica
starea în care se află acestea .

2. Una dintre majorele amenințări asupra populaț iei o constituie atacurile
teroriste.Astfel,prin contr olarea unui robot de la distanță ,pot fi inspectate posibilele pericole,cum ar
fi:pachete străine plasate î n locuri publice sau aglomerate(staț ii, aeroporturi,ins tituții,centre
comerciale etc. ) ,evitând,astfel,situații neprevăzute ce pun in pericol vieți omeneș ti.

3. De asemenea,pre zenta lucrare poate fi utilizată î n domeniul s pionajului.De
exemplu,se poate i nterveni asupra robotul ui cu diferite componente:cameră de fotografiat ,aparat de
înregist rat imagine sau sunet,pentru obținerea informaț iilor audio si video.Astfel,necesitatea
obținerii informațiilor utile este reprezentată de depistarea reț elelor de trafic uman,trafic de
droguri,criminali,atentate,furturi etc. .

4. Un robot controlat de la distanță poate fi utilizat pen tru ajutorarea persoanelor in
vârstă sau cu dizabilități.Acest robot poate înlocui un câ ine dre sat special pentru ajutorarea
vârstnicilor sa u a persoanelor cu dizabilități,dintre avantaje enumerăm prețul redus al
robotului,faptul că nu necesită îngrijire ,dar ș i disponibilitatea ac estui robot spre deosebire de
câini,pentru care se întocmesc lungi liste d e așteptare,iar dresajul acestora este c ostisitor și de
durată .

5. În cazul unor dezastre naturale, precum cutremurele, un astfel de dispozitiv
comandat de la distanță, modificat corespunzător pentru a avea acces ușurat în zone dificile, poate
fii fol osit pentru căutarea supraviețuitorilor prin dărâmături și spațiile înguste. De exemplu,
adăugându -se dispozitive de înregistare audio, video, infraroșu și alți senzori necesari, precum și
modificarea sistemului de conducere (roți mai mari sau șenile, moto are mai puternice, acumulatori
cu durată de viață mult mărită), sistemul poate fi folosit cu succes pentru detectarea persoanelor
blocate.

Prin urmare,pre zenta lucrare poate fi utilizată în diverse scopuri,având diferite
funcționalități în fun cție de necesităț i.Asadar,robotul creat constituie baza diferitelo r sisteme
conduse de la distanță la care se pot adă uga elemente auxiliare,senzori,ec hipamente de monitorizare
etc. De altfel,lucrarea poate fi redirecționată și modificată în funcție de dome miul aplicat,însă
singurul impediment îl constituie achiziț ionarea diverselor echipamente costisitoare.

Capitolul 1
Prezentarea generală a proiectului

Pentru realizarea proiectului am folosit urmatoarele componente:
-Kit robo t cu 4 motoare
-Bluno Nano (Aduino Nano si Bluetooth v.4.0)
-Modul cu Driver de Motoare Dual L298N
-Mini Breadboard
-suport baterii
-fire

Pasul 1

Am construit șasiul mașinii ca in instrucțiunile kit -ului

Figura 1.1. Șasiul mașinii

Pasul 2

Am adaugat pe șasiu placa Bluno Nano,Driverul de Motoare,suportul de baterii si Mini Breadboard –
ul

Figura 1.2. Componentele adăugate pe șasiu

Pasul 3

Am creat legături intre toate componentele montajului

Figura 1.3. Montajul final

Capitolul 2
Comunicația Bluetooth

Bluetooth este o tehnologie wireless promitatoare care vizează sprijinirea dispozitivelor
electronice pentru a fi interconectate instantaneu în rețele ad -hoc cu rază scurtă de acțiune.
Protocolul de control al accesulu i la mediul Bluetooth se bazează pe conceptul Master / Slave în
care orice comunicare între dispozitivele slave trebuie să treacă prin Master. În timp ce acest model
oferă simplitate, are loc o întârziere mai lungă între oricare două dispozitive slave dato rită unei
transmiteri optime a pachetelor, a utilizării dublei lărgimi de bandă și a pierderii suplimentare de
energie la Master. Mai mult, dacă mai mult de două dispozitive doresc să comunice ca grup, acest
lucru poate fi realizat numai prin transmisii mu ltiple de unicast sau printr -o difuzare de tip piconet,
rezultând în mod clar ineficiență. În această lucrare, propunem o schemă nouă de atribuire a
sloturilor dinamice (DSA), prin care dispozitivul Master atribuie în mod dinamic sloturi pentru
slavi, astf el încât să le permită să comunice direct unul cu celălalt fără intervenția Master. Această
arhitectură de comunicație propusă prevede, de asemenea, cerințe privind calitatea serviciului
(QoS), controlul admiterii și conversația cu mai multe dispozitive, p rin care o comunicare
multicast -like este implementată într -un piconet. Prin intermediul unei simulări ample, observăm că
DSA îmbunătățește dramatic performanța Bluetooth în termeni de întârziere și de transfer, reducând
în același timp semnificativ consum ul de energie la comandă și la piconetul general.

Figura 2.1. Emblema Bluetooth

Cu ajutorul unei rețele de tip Bluetooth se poate face schimb de informații între dispozitive
electronice ce au implementată această tehnologie, precum laptopuri, calcula toare personale,
telefoane mobile, camere foto/video, imprimante.
Bluetooth este un protocol standard de înlocuire a comunicației prin fir proiectat pentru
consum mic de putere și pe distanțe mici, care depind de clasa de putere, așa cum e prezentat în
tabelul de mai jos:

Clasă Puterea maximă permisă Distanță (m)
(mW) (dBm)
Clasa 1 100 mW 20 dBm ~100 m
Clasa 2 2,5 mW 4dBm ~10 m
Clasa 3 1mW 0dBm ~1 m
Tabelul 2.1. Clasele de putere Bluetooth

Raza efectică depinde de condițiile de propagare, confi gurarea antenei, baterie și alte
influențe. De obicei, raza de comunicație a unui aparat înzestrat cu un modul de clasă 2 poate fi
mărită atunci când comunică cu un aparat cu modul de clasă 1, prin mărirea sensibilității
dispozitivului de clasă 1.

Prezent are generală Bluetooth și motivare

Bluetooth este o tehnologie de legătură fără fir cu rază scurtă de acțiune (până la 10 m)
destinată înlocuirii cablurilor care conectează telefoane, laptop -uri, PDA -uri și alte dispozitive
portabile. Bluetooth funcționea ză în banda de frecvențe ISM începând de la 2.402 GHz și terminând
la 2.483 GHz în SUA și în majoritatea țărilor europene. Sunt definite 79 de canale RF cu o lățime
de 1 MHz, unde rata de date brute este de 1 Mbit / s. O tehnică de separare în timp a spați ului
(TDD) împarte canalul în sloturi de 625 μs și, cu o rată a simbolurilor de 1 Mbit / s; Un slot poate
transporta p ână la 625 de biți. Transmiterea are loc în pachete, unde pachetele DHx (fără corecție de
eroare înainte) și DMX (cu corecție de eroare în ainte) sunt utilizate, de obicei, pentru traficul de
date, în timp ce pachetele HVx sunt utilizate pentru aplicațiile vocale. Aici, x reprezintă numărul de
sloturi și poate fi egal cu 1, 3 sau 5.
Specificația Bluetooth [1] definește două tipuri diferite de linkuri pentru aplicații de date și voce.
Primul tip de conexiune orientat pe conexiune sincronă (SCO) este tratat ca un trafic punct -la-punct
cu comutarea circuitelor, în timp ce cel de -al doilea tip de conexiune Asynchronous Connectionless
Link (ACL) ac ționează ca un trafic de date punct -la-punct cu comutare de pachete . De obicei,
legăturile SCO sunt utilizate pentru aplicații audio cu cerințe stricte de calitate a serviciului, unde
pachetele sunt transmise la intervale regulate predefinite, în timp ce legăturile ACL sunt adesea
folosite în aplicațiile de date unde nu există o astfel de cerință strictă privind întârzierea finală. Cele
mai multe trei conexiuni SCO pot fi acceptate într -un piconet și ciclul de vot variază atunci când
există conexiuni de ac est tip, variind de la 6 pentru pachetele HV3 la 3 pentru pachetele HV1.
Declarația că pachetele SCO de la o conexiune dată au un ciclu de polling de 6 sloturi înseamnă că
un pachet SCO trebuie trimis la fiecare 6 sloturi, pentru a obține o lățime de bandă de 64 Kbps
necesară pentru aplicațiile vocale. Pe de altă parte, conexiunile ACL nu au astfel de cerințe și ciclul
de votare poate fi extins sau micșorat în funcție de numărul de sclavi într -un piconet și de cerințele
lor de trafic. Pentru simplitate, pre supunem că fiecare conexiune SCO folosește pachete HV3 care
au un ciclu de votare de 6 sloturi, chiar dacă schema noastră se aplică oricărui tip de pachet SCO.

Prin urmare, considerăm că pentru dispozitivele wireless și mobile existente, care au o
puter e limitată a bateriei și pentru eficiența aplicațiilor, paradigma Master / Slave a Bluetooth nu ar
trebui adoptată în forma sa actuală.
Mai mult, în cazul în care slave S1 dorește să trimită pachete (de exemplu, o carte de vizită) atât la
S3 cât și la S4, trebuie să trimită două pachete unicast. În plus, aceste pachete multi -slave ar trebui
să fie păstrate în memoria tampon a unui dispozitiv pentru cât mai multe cicluri de interogare ca și
numărul de destinatari, deoarece un dispozitiv se poate adresa doar unei alte unități într -un ciclu de
votare dat. Rețineți că difuzarea la nivel de piconet poate fi o opțiune fezabilă, cu toate acestea,
deoarece comandantul este singurul dispozitiv capabil să trimită o transmisie, pachetele vor trebui
totuși să fie transm ise de aceasta. În plus, compromisul dintre momentul de angajare a mai multor
unicast -uri sau o difuzare este încă neclar, deoarece sclavii dintr -un piconet sunt apatrizi. Prin
urmare, având în vedere importanța și aplicabilitatea largă a multicastului, ar trebui să se ofere, de
asemenea, un sprijin fundamental pentru comunicarea în grup.

Figura 2.1. Packet transmission in Bluetooth

Fig. 2.2 Master/Slave communication in Bluetooth

Schema de alocare a canalelor dinamice (DSA)

Pentru a aborda aceste deficiențe majore în designul Bluetooth, păstrând simplitatea
paradigmei Master / Slave, vă propunem o schemă nouă de atribuire a sloturilor dinamice (DSA).
Ideea de bază din spatele DSA este gestionarea adecvată a ciclului de vot efectuat de comandantul
piconetului. Pe măsură ce dispozitivele inițiază sau termină comunicarea între ele în cadrul
piconetului, restructuram ciclul de votare piconet (extinzându -l cu o nouă conexiune sau
micșorându -l la terminare), construindu -ne programul de trans misie pentru fiecare unitate și apoi
propagând programul rezultat la membri Din piconet. În acest fel, sclavii știu exact în ce slot să
transmită și / sau să asculte. Prin urmare, nu numai comunicarea directă

Între dispozitivele slave suportate, dar și o comunicație asemănătoare cu multicastul prin
faptul că sclavii destinați să asculte același slot sunt atinși. Din punct de vedere matematic, dacă
presupunem o distribuție uniformă a cererilor de conectare într -un piconet, putem concluziona că
comunicarea slave -slave va fi prezentă în aproximativ 75% din toate conexiunile, accentuând astfel
nevoia de a susține și optimiza astfel de cazuri.

1. Cererea de conectare, eliberarea și controlul admiterii

Pentru ca masterul piconet să aloce și să rezerveze în mo d optim sloturile pentru dispozitivele
piconet, ar trebui să știe cerințele Quality of Service (QoS) pentru fiecare conexiune. În DSA, ori de
câte ori un dispozitiv slave dorește să stabilească o conexiune cu un alt dispozitiv (fie un alt Slave
sau chiar u n master), Acesta trimite un mesaj CONNECTION_REQ către masterul piconet,
specificând în sarcina sa utilă:
1) destinația (dacă unicast) (Dacă este multicast) adresa la care dispozitivul dorește să
stabilească o conexiune;
2) tipul de pachet de bandă de bază care va fi utilizat în transmisia sa;
3) viteza de transmisie dorită;
4) viteza de transmisie acceptabilă.
De exemplu, atunci când sclavul S1 dorește să stabilească o conexiune FTP cu slave S3, ar putea
trimite o cerere de conexiune către masterul să u M, ca CONNECTION_REQ (S3, DH5, 30, 50), în
timp ce ar trimite o conexiune CONNECTION_REQ (S3, 30, 50) pentru o conexiune FTP multicast
la sclavii S3 și S4. Rata de transmisie definește frecvența (în numărul de sloturi) pe care un
dispozitiv dorește să o transmită. În ultimul nostru exemplu, slave S1 notifică comandantului că
dorește să transmită un pachet DH5 la fiecare 30 de sloturi, dar acceptă să transmită în fiecare 50 de
sloturi dacă rata de transmisie dorită nu poate fi acceptată.
Atunci când o coma ndă ajunge la comandă, se ia adresa slave solicitantă (conținută în antetul
pachetului), tipul de pachet – care identifică tipul de conexiune (voce sau date) solicitat – adresa de
destinație conținută în sarcina utilă și Ratele de transmisie. Dacă comandan tul poate acorda această
solicitare, acesta alocă un identificator unic conexiunii, recalculează orarul corespunzător (detaliat
în următoarea subsecțiune) și difuzează informațiile de programare tuturor sclavilor activi. Dacă
conexiunea nu poate fi accepta tă cu acest nivel QoS, masterul returnează un mesaj
CONNECTION_REJ înapoi la sursă. În exemplul nostru anterior, solicitarea unui pachet DH5 nu
garantează slavei că cererea sa va fi acordată. Așa cum am explicat mai târziu, pe baza traficului
curent și a p rogramului, comandantul decide ce pachet este cel mai bun și răspândește această
informație tuturor sclavilor cu o emisiune. De asemenea, vom vedea că tipul de trafic influențează
alocarea slotului, deoarece pachetele SCO trebuie să fie programate periodic datorită
constrângerilor lor de timp, fără a exista o astfel de restricție pentru conexiunile ACL.
O problemă importantă apare în cazul fluxurilor bidirecționale (de exemplu traficul TCP), deoarece
sloturile trebuie rezervate pentru traficul invers. În ac est caz, depinde de dispozitivul de destinație
să detecteze prezența traficului invers la sursă și, în mod similar, să facă rezervarea unui slot printr –
un mesaj CONNECTION_REQ. Cu toate acestea, deoarece acest mesaj este trimis ca răspuns la un
flux bidire cțional, acesta este gestionat diferit de către comandantul care alocă imediat sloturile
necesare specificate în cerere (de exemplu, DH3 pentru TCP ACK -uri) pentru a fi utilizate în sens
invers. Dacă comandantul nu poate satisface această solicitare de con ectare inversă dat fiind absența
unor resurse suficiente, acesta returnează un mesaj CONNECTION_REJ înapoi la sursă și, de
asemenea, renunță la conexiunea înainte asociată, împreună cu sloturile sale rezervate, care au
generat acest flux bidirecțional.

Similar cererilor de conectare, slave trimite mesaje de terminare a conexiunii la dispozitivul
principal. Un slave transmite un mesaj CONNECTION_REL, specificând identificatorul conexiunii
așa cum a fost alocat inițial de către commandant.

2 Programarea și a signarea de sloturi

De fiecare dată când comandantul unui piconet primește fie o cerere de conectare, fie o terminare,
ea calculează un program nou pentru dispozitive. Acest program conține informații despre sloturile
care aparțin dispozitivului și în ce slot trebuie să asculte un anumit slave. Cu acest mecanism,
dispozitivele sunt capabile să vorbească direct unul cu celălalt, fie printr -o comunicare unicastă, fie
ca o comunicație multicast.
Programarea trebuie transmisă tuturor dispozitivelor slave, astf el încât fiecare dintre ei să poată
determina când să transmită și când să asculte. Pentru simplitate, presupunem că mesajele difuzate
sunt fiabile. Mai multe abordări ar putea fi utilizate pentru a obține fiabilitatea, cum ar fi difuzarea
aceluiași mesaj de mai multe ori. În implementarea noastră, presupunem că fiabilitatea poate fi
obținută prin retransmisia aceluiași mesaj de difuzare de trei ori.

Figura 2.3 Scheduling message format (numbers expressed in bits)

3. Formatarea mesajelor de program are a sloturilor

Fig. 2.3 ilustrează un format propus al mesajului de planificare utilizat în DSA, cu mărimea fiecărui
câmp în biți așa cum este indicat. Cu acest format de mesaj unic, se pot furniza atât comunicații
unicast, cât și comunicații multicast în cadrul unui piconet. După cum se poate vedea din Fig. 2.3,
mesajul de programare constă din trei părți: antetul, informațiile despre noua solicitare de conectare
care au cauzat programarea acestui nou mesaj și informații despre alocarea sloturilor în co nexiunile
ACL noi și existente. După cum vom vedea, conexiunile SCO sunt tratate diferit deoarece au un
program fix. Partea din antet a mesajului este compusă din trei câmpuri. Primul câmp indică dacă
cererea de conectare, care a determinat transmiterea ac estei noi emisiuni de programare, a fost
conexiunea ACL sau SCO. În mod alternativ, acest câmp determină dacă informațiile despre noua
conexiune conținute în a doua parte a mesajului sunt legate de o conexiune SCO sau ACL. Aceasta
face diferența în planifi carea sloturilor deoarece conexiunile ACL pot fi programate în orice
moment, în timp ce conexiunile SCO trebuie să apară la fiecare ciclu de polling, unde un ciclu de
interogare este egal cu 6 în Bluetooth. Al doilea câmp al antetului indică numărul de des tinații
vizate de această nouă solicitare de conectare. În cazul unei comunicări slave -slave, acest câmp ar fi
egal cu unul, în timp ce ar fi egal cu dimensiunea grupului într -o comunicație cu mai multe
dispozitive. Dacă acest mesaj difuzat este rezultatul unei terminări a conexiunii, acest câmp conține

zero. Al treilea și ultimul câmp din antet indică numărul de conexiuni ACL din cea de -a treia parte a
mesajului de planificare. Cu alte cuvinte, acest câmp este folosit pentru a determina limitele
mesajului.
A doua parte a mesajului de programare oferă informații despre solicitarea de conectare care a
cauzat generarea acestei emisiuni de programare, iar absența acestei părți implică o terminare a
conexiunii. După cum am menționat mai devreme, comunicațiile un icast și multicast sunt susținute
de acest mesaj de planificare. Având în vedere acest lucru, primul câmp indică sursa de date pentru
conexiune (adică dispozitivul care a generat solicitarea de conectare), urmat de un număr de
dispozitive de destinație spe cificate în câmpul numărului de destinații din antet. Deoarece fiecare
adresă membră activă Bluetooth este de 3 biți [1], mărimea acestui câmp este un multiplu de 3. În
continuare apare câmpul care indică câte sloturi au fost alocate de către comandant pen tru
transmiterea de la sursa conexiunii. Rețineți din secțiunea 3.1 că, împreună cu mesajul de solicitare
a conexiunii, dispozitivul solicitant specifică și tipul de pachet pe care dorește să îl utilizeze în
transmisiile sale. În funcție de modelul de traf ic și de prezența sau absența conexiunilor SCO,
comandantul poate sau nu poate răspunde solicitării dispozitivului. De exemplu, presupuneți că un
dispozitiv S1 este implicat în prezent într -un SCO
Conexiune cu dispozitivul S2. Între timp, un alt S3 solicit ă să stabilească o conexiune cu S4 pentru
un transfer de fișiere prin utilizarea pachetelor DH5. Este bine cunoscut faptul că conexiunile SCO
sunt programate periodic în fiecare ciclu de votare din cauza
Cerințele stricte ale acestora. Deoarece ciclul slot ului Bluetooth este egal cu 6 și două dintre aceste
6 sloturi sunt deja utilizate pentru o conexiune SCO între S1 și S2, masterul nu poate satisface
cererea slave S3 de a utiliza pachetele DH5, deoarece sunt disponibile numai 4 sloturi din 6 . Prin
urmare, în acest caz, comandantul ar răspunde cu o valoare 3 în acest câmp, indicând astfel că S3
poate folosi cel mult pachetele cu 3 sloturi. În cele din urmă, ultimul câmp din această parte a
mesajului este dedicat atribuirii unui identificator de conexiune un ic la fiecare conexiune din cadrul
piconetului. Alocarea acestui identificator este gestionată de comandant și comunicată sclavilor în
acest mesaj difuzat. Acesta este numărul care este utilizat de către sursa Slave atunci când trimite un
mesaj de eliberar e a conexiunii către comandant și este, de asemenea, utilizat în a treia parte a
programării mesajelor.
Cea de -a treia și ultima parte a mesajului de planificare conține informațiile despre programul în
sine, adică atunci când fiecare dispozitiv trebuie să transmită și / sau să primească.
Primul câmp conține liste ale tuturor identificatorilor de conexiune prezenți în prezent în
piconet, iar ordinea în care apare un identificator de conexiune în acest câmp determină ordinea în
care dispozitivele asociate cu acest identificator (fie ca sursă, fie ca destinație) au Sloturile atribuite.
Pentru a indica sclavi slotul de pornire pentru transmisie (în cazul sursei unei conexiuni) sau
recepție (în cazul destinației (destinațiilor)), folosim câmpul numit TxSlot (slo tul de transmisie).
Valorile permise pentru TxSlot sunt 1, 3 sau 5, în funcție de tipul de pachet pe care îl utilizează o
conexiune. În sfârșit, după cum am menționat deja, în DSA folosim o schemă în care extindem sau
micșorăm ciclul sloturilor în funcție de numărul de conexiuni ACL din piconet. Prin urmare,
transmiterea informațiilor despre ciclul sloturilor tuturor sclavilor este obiectivul ultimului câmp,
denumit ciclu de sloturi, așa cum se arată în Fig. 3. Acest câmp este întotdeauna un multiplu de 6,
deoarece această valoare este periodicitatea necesară a conexiunilor SCO.

Versiuni :
Bluetooth v1.0 și v1.0B
o aceste versiuni au avut multe probleme tehnice și producătorii au avut mari
probleme pentru a face dispozitivele interconectabile.

Blueto oth v1.1
o ratificat ca standard IEEE 802,15,1 -2002
o au fost corectate multe erori

o a fost adăugat un indicator al puterii semnalului
o a fost adăugată posibilitatea de folosire a canalelor necriptate
Bluetooth v1.2
o conexiune mai rapidă
o descoperire mai rapidă
o a fost mărită viteza de transmisie, până la 721 kbit/s
Bluetooth v2.0
o implementată în 2004
o viteză de transmisie de până la 3 ori mai mare, teoretic de 3,2Mbps, dar rata de
transfer efectivă de 2,1 Mbit/s
o consum de energie mai mic, aproape la jumătate
o rata e rorilor de transmisie mult mai scăzută
Bluetooth v2.1
o implementată în 2007
o securitate mai simplu de implementat,dar mai eficientă
o îmbunătățirea legăturii între dispozitive
o reducerea consumului
Bluetooth v3.0
o implementată în 2009
o viteză de transmisie mult m ărită, de până la 24Mbit/s
Bluetooth v4.0
o implementată în iunie 2010
o consum de energie redus
o reducerea costurilor de fabricare
o securitate îmbunătățită
Pentru a evita interferența cu alte protocoale ce folosesc banda 2.45GHz, protocolul
Bluetooth divide ban da în 79 de canele, fiecare având 1MHz și schimbă canalele, în medie, de
800 de ori pe secundă.

Tehnologia Bluetooth oferă următoarele servicii:

1. Bluetooth SerialPort, o conexiune wireless serială între două dispozitive. Aplicațiile de pe
ambele cal culatoare trebuie configurate în așa fel încât să poată primi și trimite date prin
porturile seriale Bluetooth COM asignate. Conexiunea serială wireless poate fi folosită de
aplicații ca și cum dispozitivele ar fi conectate printr -un cablu serial.

2. Dial -Up Network ing: Este o conexiune prin care se poate folosi un modem care este fizic
conectat la un alt dispozitiv Bluetooth.

3. Fax:Este o conexiune prin care se pot trimite faxuri la distanță, folosind un Bluetoot h conectat la
un modem, telefon mobil sau calculator.

4. File Transfer: Este o conexiune prin care se pot face operațiuni de navigare, deschidere sau
copiere de fișiere pe un alt sistem conectat cu Bluetooth. Când se dorește trimiterea un fișier
către celălalt calculator conectat wireless, se selectează fișierul sau fișierele, se dă un clic k
dreapta, se selectează Send To și apoi un clic k pe Bluetooth, după care se deschide o fereastră
unde trebuie ales calculatorul care este conectat prin Bluetooth. La final, un clic k pe OK pentru
a se face tr imiterea datelor. Atenție, se pot transfera numai fișiere, nu și directoare.

5. Information Exchange: Este o conexiune care permite schimbul de mesaje e -mail, cărți de
afaceri, note de calendar etc. între două dispozitive Bluetooth.

6. Network Access:Es te conexiune a prin care dispozitiv ele Bluetooth pot accesa rețeaua locală
folofindu -se de un al doilea Bluetooth, acesta fiind fizic conectat la o rețea, sau pe rmite unui
dispozitiv aflat la distanță să devină parte în rețeaua ad -hoc

Figura 2.4. Logo -ul Bluetooth

Capitolul 3
Placa de dezvoltare Bluno Nano

Iată si cel de al doilea membru care face parte din categoria DFRobot Bluno – Bluno Nano.
Acesta are dimensiunea unei gume, care este perfect pentru proiectele BLE, având un spațiu și
greuta te limitată.
Familia Bluno a familiei DFRobot este primul de acest gen în integrarea modulului BT 4.0 (BLE)
în Arduino Uno, făcându -l o platformă ideală de prototipare pentru dezvoltatori pentru a merge
fară fir. Veți putea dezvolta brățara dvs. in teligentă, pedometrul inteligent și multe altele. Prin
tehnologia Bluetooth 4.0 cu putere redusă, comunicarea în timp real cu energie redusă poate fi
foarte usoară.
Bluno Nano integrează de asemenea un chip TI CC2540 BT 4.0 cu placă de dezvoltare
Arduino UNO. Acesta permite programarea fară fir prin BLE, acceptă Bluetooth HID, suportă
comanda AT pentru a configura BLE și puteți actualiza cu ușurință firmware -ul BLE. Bluno este,
de asemenea, compatibil cu toți pinii Arduino Uno, ceea ce înseamnă că o rice proiect realizat cu
Uno poate merge direct wireless! În plus, am dezvoltat aplicația pentru Bluno (atât Android cât si
IOS) si sunt complet deschise, astfel încât să puteți modifica și dezvolta propria platformă
hardware -software.

Figura 3.1. Placa Bluno Nano

SPECIFICAȚII
• Cip BLE: TI CC2540
• Programare wireless prin BLE
• Suport Bluetooth HID
• Suportă comanda AT pentru a configura BLE
• Comunicare transparentă prin Serial
• Actualizați cu ușurință firmware -ul BLE
• Alimentare cu curent continu u: cu alimentare USB sau externa 7V ~ 12V DC
• Microcontroler: Atmega328
• Bootloader: Arduino Uno
• Compatibil cu cartografiere Arduino Uno
• Dimensiune: 53x19x12mm (2.09×0.75×0.47 ")
• Greutate: 20g

3.1 Arduino Nano

Arduino Nano este o platfo rmă de dimensiuni reduse, compatibilă cu breadboard -uri și
construită în jurul microcontrollerului Atmega328. Are mai mult sau mai puțin aceleași
funcționalități ca o platformă Arduino UNO, diferența fiind lipsa mufei de alimentare și faptul că
această pla tformă utilizează un cablu Mini USB.

Figura 3.2. Placa Arduino Nano

Specificații tehnice
-Microcontroler ATmega328
-Arhitectură AVR
-Tensiune de operare 5 V
-Memorie Flash 32 KB din care 2 KB folosită de bootloader
-SRAM 2 KB
-Ceas de viteză 16 MHz
-Pini de intrare / iesire analogici 8
-EEPROM 1 KB
-Curent continuu pe pinii de intrare / iesire 40 mA (pinii I / O)
-Tensiune de intrare 7 -12 V
-Pini digitali I / O 22
-Producția PWM 6
-Consum de energie 19 mA
-Dimensiune PCB 18 x 45 mm
-Greutate 7 g
-Cod produs A000005

Putere

Arduino Nano poate fi alimentată prin conexiunea USB Mini -B, sursa externă de alimentare
nereglementată 6 -20V (pinul 30) sau sursa externă de alimentare reglată de 5V (pinul 27).
Sursa de alimentare este selectată automat la cea mai înaltă sursă de tensiune.

Memorie

ATmega328 are 32 KB, (și cu 2 KB pentru bootloader). ATmega328 are 2 KB de SRAM și
1KB de EEPROM.

Intrare și ieșire

Fiecare dintre cei 14 pini digitali de pe N ano poate fi folosit ca intrare sau ieșire, utilizând
funcțiile pinMode (), digitalWrite () si digitalRead (). Acestea funcționează la 5 volți. Fiecare pin
poate furniza sau primi un maxim de 40 mA și are un rezistor intern de tracțiune (deconectat în
mod implicit) de 20 -50 kOhm. În plus, unii pini au funcții specializate:
• Serial: 0 (RX) si 1 (TX). Folosit pentru a primi (RX) si a transmite (TX) date TTL. Acești pini
sunt conectați la pinii corespunzători ai cipului FTDI USB -to-TTL Serial.s
• Întrerupe ri externe: 2 si 3. Acestea pot fi configurate pentru a declanșa o întrerupere la o valoare
scăzută, o margine în creștere sau în scădere sau o modificare a valorii. Consultați funcția
attachInterrupt () pentru detalii.
• PWM: 3, 5, 6, 9, 10 si 11. Asigu rați ieșirea PWM pe 8 biți cu funcția analogWrite ().
• SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Acești pini acceptă comunicarea SPI, care, deși
furnizată de hardware -ul de bază, nu este inclusă în prezent în limba Arduino.

• LED -ul: 13. Există un LE D încorporat conectat la pinul digital 13. Când pinul este HIGH, LED –
ul este pornit, când pinul este LOW, este oprit.
Nano are 8 intrări analogice, fiecare dintre acestea oferind 10 biți de rezoluție (adică 1024
valori diferite). În mod implicit, se maso ară de la sol la 5 volți, deși este posibil să se schimbe
capătul superior al intervalului lor folosind funcția analogReference (). Pinii 6 si 7 analogi nu pot
fi utilizați ca ieșiri digitale. În plus, unii pini au funcționalități specializate:
• I2C: A4 (SDA) și A5 (SCL). Suportă comunicarea I2C (TWI) folosind biblioteca Wire
(documentația de pe site -ul Wiring).

Există și câțiva alți pini pe tablă:
• AREF. Tensiunea de referință pentru intrările analogice. Folosit cu analogReference ().
• Reset. Aduceț i această linie LOW pentru a reseta microcontrollerul. În mod obișnuit, pentru a
adăuga un buton de resetare la scuturile care blochează cel de pe placa.

Comunicare
Arduino Nano are o serie de facilități pentru a comunica cu un computer, un alt Ar duino sau cu
alte microcontrollere. ATmega328 furnizează comunicație serială UART TTL (5V), disponibilă pe
pinii digitali 0 (RX) si 1 (TX). Un FTDI FT232RL pe placa de canale, această comunicare serială
prin USB si driverele FTDI (incluse cu software -ul Ar duino) oferă un port virtual al software -ului
de pe computer. Software -ul Arduino include un monitor serial care permite transmiterea de date
textuale simple către și de la bordul Arduino. LED -urile RX și TX de pe placă vor clipi când datele
sunt transmise prin intermediul cipului FTDI și conexiunii USB la computer (dar nu și pentru
comunicația serială pe pinii 0 si 1).
O bibliotecă SoftwareSerial permite comunicarea serială pe oricare dintre pinii digitali ai lui
Nano.ATmega328 suportă, de asemenea, comunicarea I2C (TWI) si SPI. Software -ul Arduino
include o bibliotecă Wire pentru simplificarea utilizării magistralei I2C.
Programare
Arduino Nano poate fi programat cu software -ul Arduino. Selectați "Arduino Duemilanove sau
Nano w / ATmega328" din meniul Tools> Board (în funcție de microcontrolerul de pe placa dvs.).
ATmega328 de pe Arduino Nano vine preburnat cu un bootloader care vă permite să încărcați un
nou cod la el fără a utiliza un programator hardware extern. Acesta comunică utilizând protocolul
STK500 original.De asemenea, puteți ocolii bootloaderul și programați microcontrollerul prin
intermediul antetului ICSP (In -Circuit Serial Programming) folosind ISD Arduino sau similar.

Resetare automata (software)

Mai degrabă do ar necesită o apăsare fizică a butonului de resetare înainte de încărcare.
Arduino Nano este proiectat într -un mod care să permită resetarea acestuia prin software -ul care
rulează pe un computer conectat. Una dintre liniile de control al fluxului hardware (DTR) ale
FT232RL este conectată la linia de resetare a ATmega328 printr -un condensator de 100
nanofarazi. Când această linie este afirmată (scazuta), linia de resetare scade suficient de mult
pentru a reseta cipul. Software -ul Arduino utilizează această c apacitate pentru a vă permite să
încărcați cod prin simpla apăsare a butonului de încărcare din mediul Arduino. Aceasta înseamnă
că bootloader -ul poate avea un interval de timp mai scurt, deoarece scăderea DTR poate fi bine
coordonată cu începutul încărcăr ii.

Această configurație are și alte implicații. Atunci când Nano este conectat la un computer care
rulează Mac OS X sau Linux, acesta se resetează de fiecare dată când se face o conexiune cu
software -ul (prin USB). Pentru următoarea jumătate de secun dă sau cam asa ceva, bootloaderul
rulează pe Nano. În timp ce este programată să ignore datele defectuoase (adică orice altceva decât
încărcarea unui nou cod), va intercepta primii câțiva octeți de date trimiși plăcii după deschiderea
unei conexiuni. Dacă o schiță care rulează pe placă primește o configurație unică sau alte date la
prima pornire, asigurați -vă că software -ul cu care comunică așteaptă o secundă după deschiderea
conexiunii și înainte de a trimite aceste date.

Figura 3.3. Schema bloc Arduin o Nano

3.1.1 Microcontroller -ul ATmega328

ATmega328 este un microcontroller cu un singur chip creat de Atmel în familia
megaAVR.

Figura 3.4. ATmega328

Specificații

Microcontrollerul Atmel pe 8 biți AVR RISC combină memoria flash 32 kB I SP cu capabilități
de scriere în timp real, 1 kB EEPROM, 2 kB SRAM, 23 linii I / O de uz general, 32 registre de
lucru cu scop general, contoare cu moduri de comparare, întreruperi interne si externe, USART
serial programabil, interfață serială orientată pe două fire, port serial SPI, convertor A / D cu 6
canale de 10 biți (8 canale în pachete TQFP și QFN / MLF) , Cronometru programabil de
supraveghere cu oscilator intern și cinci moduri de economisire a energiei selectabile.
Dispozitivul funcționează între 1,8 și 5,5 volți. Dispozitivul atinge o viteză de transfer apropiată
de 1 MIPS pe MHz.

Figura 3.5. Schema bloc ATmega328

Parametrii cheie
Parametru Valoare
Tip CPU 8-biți AVR
Performanță 20 MIPS at 20 MHz[2]
Memorie flash 32 kB
SRAM 2 kB
EEPROM 1 kB
Pin count 28-pin PDIP, MLF, 32 -pin TQFP, MLF[2]Frecvență maximă de procesare
20 MHz
Numărul de canale 16
Hardware QTouch Acquisition No
Pinii I/O 26
Întreruperi externe 2
Interfață USB No
Viteză USB –

Serii alternative
O alternati vă comună la ATmega328 este "picoPower" ATmega328P. O listă completă a
tuturor celorlalți membrii ai seriei megaAVR poate fi gasită pe site -ul Web Atmel
Aplicații
Începând cu 2013, ATmega328 este utilizat în mod obișnuit în multe proiecte și în sist eme
autonome în care este nevoie de un microcontroller simplu, cu putere redusă, cu costuri reduse.
Poate că implementarea cea mai comună a acestui cip este pe platforma populară de dezvoltare
Arduino, și anume modelele Arduino Uno si Arduino Nano.

Evalu area fiabilității arată că rata eșecului de reținere a datelor proiectate este mult mai mică
de 1 PPM timp de 20 de ani la 85 ° C sau 100 de ani la 25 ° C.

Semnalul de Numele pinului I/O Functia
programare
RDY/BSY PD1 O MCU este pregătit pentru o comandă nouă
OE PD2 I Ieșire activată
WR PD3 I Scrie Pulse
BS1 PD4 I Bit selectat 1 ("0" = bit scăzut, "1" = bit înalt)
XA0 PD5 I Bitul de acțiune XTAL 0
XA1 PD6 I Bitul de acțiune XTAL 1
PAGEL PD7 I Încărcarea paginii d e date EEPROM
BS2 PC2 I Bit selectat 2 ("0" = bit scăzut, "1" = al II lea bit înalt)

DATA PC[1:0]:PB[5:0] I/O Magistrală de date bidirecțională

Programare serie Pin I / O Descriere
MOSI PB3 I Date de serie în trare
MISO PB4 O Date de serie ieșire
SCK PB5 I Ceas serial

Datele seriale la MCU sunt tactate pe marginea în creștere și datele de la MCU sunt tactate pe
marginea descendentă. Puterea este aplicată la VCC în timp ce RESET și SCK sunt setate la zero.
Așteptați cel puțin 20 ms și apoi instrucțiunea de activare a programelor 0xAC, 0x53, 0x00, 0x00
este trimisă la pinul MOSI. Cel de -al doilea octet (0x53) va fi reluat de MCU.

3.2 Modulu l Bluetooth v.4.0

Figura 3.6. Bluetooth v.4.0

Bluetooth SIG a finalizat versiunea 4.0 Bluetooth Specification Core (numita Bluetooth Smart)
și a fost adoptată la 30 iunie 2010. Acesta include tehnologia Bluetooth clasică, Bluetooth de
viteză mare și protocoalele de energie redusă Bluetooth. Viteza Bluetooth este bazată pe Wi -Fi,
iar Bluetooth clasic este alcatuit din protocoalele Bluetooth vechi.
Bluetooth low energy, cunoscut anterior sub numele de Wibree,este un subset de Bluetooth
v4.0 cu o sti vă de protocol complet nouă pentru crearea rapidă a legaturilor simple. Ca
alternativă la protocoalele standard Bluetooth care au fost introduse în Bluetooth v1.0 to v3.0,
se adresează aplicațiilor de putere foarte scazută care rulează pe o celula de moned e. Design –
urile chipsetului permit două tipuri de implementări, versiuni anterioare, dual -mode, single –
mode și îmbunătațite.
Numele provizoriu Wibree și Bluetooth ULP (Ultra Low Power) au fost abandonate, iar numele
BLE a fost folosit pentru o perioadă. L a sfârșitul anului 2011, au fost introduse noile sigle
"Bluetooth Smart Ready" pentru gazde și "Bluetooth Smart" pentru senzori ca fiind fata publică
generală a BLE.
• Într -o implementare cu un singur mod, se implementează doar stiva de protocoale cu co nsum
redus de energie. STMicroelectronics, AMICCOM, CSR,Nordic Semiconductor și Texas
Instruments au lansat soluții de energie cu un consum redus de energie cu un singur mod.
• În implementarea cu două moduri, funcția Bluetooth inteligentă este integrată într-un
controler clasic Bluetooth clasic. Începând cu luna martie 2011, următoarele companii de
semiconductori au anuntat disponibilitatea cipurilor care respectă standardele: Qualcomm –
Atheros, CSR, Broadcom și Texas Instruments. Arhitectura compatibilă î mpartășește toate
caracteristicile radioului si funcționalității existente de la clasicul Bluetooth, rezultând o
crestere a costurilor neglijabilă în comparație cu clasicul Bluetooth.

Cipurile cu un singur mod redus de cost, care permit dispozitive ext rem de integrate și
compacte, au un strat de legătură ușor, care oferă o funcționare în regim de funcționare inactiva în
regim redus, descoperire simplă a dispozitivului și transfer de date punct -la-punct de încredere cu
economii avansate de energie și si guranța conexiunii criptate la cel mai mic cost posibil.
Îmbunătățirile generale din versiunea 4.0 includ modificările necesare pentru a facilita modurile
BLE, precum și serviciile Generic Profile (GATT) și Security Manager (SM) cu criptare AES.

Specific ația principală Addendum 2 a fost prezentată în decembrie 2011; Conține îmbunatățiri
ale interfeței controlerului audio gazda și stratului de adaptare a protocolului de mare viteză
(802.11).
Specificația principală Addendum 3 revizuirea 2 are o dată de adoptare din 24 iulie 2012.
Specificația principală Addendum 4 are o dată de adoptare din 12 februarie 2013.

Capitolul 4
Componente

4.1 Modulul cu Driver de Motoare Dual L298N

Modulul conducătorului auto dublu H utilizează driverul ST L298N dual full -bridge, un circuit
monolitic integrat într -un pachet de 15 conduceri Multiwatt și PowerSO20. Acesta este un driver
de înaltă tensiune, cu curent de înaltă tensiune dual, proiectat să accepte niveluri logice standard
TTL și să ac ționeze sarcini inductive cum ar fi releele, solenoizii, DC și motoarele pas cu pas. Sunt
furnizate două intrări de activare pentru a activa sau a dezactiva dispozitivul independent de
semnalele de intrare. Emițătorii tranzistorilor inferiori ai fiecărui p od sunt conectați împreună, iar
terminalul extern corespunzător poate fi utilizat pentru conectarea unui rezistor de detecție extern.
O sursă suplimentară de alimentare este furnizată astfel încât logica să funcționeze la o tensiune
mai mică.

Figura 4.1.Modulul cu Driver de Motoare L298N

Specificații

Driver: L298N
Controler de alimentare: + 5V ~ + 46V
Driver Io: 2A
Putere logică Vss: + 5 ~ + 7V (alimentare internă + 5V)
Curent logic: 0 ~ 36mA
Nivel de control: Low -0.3V ~ 1.5V, mare: 2.3V ~ Vss
Activați nivelul semnalului: Low -0.3V ~ 1.5V, mare: 2.3V ~ Vss
Putere maximă: 25 W (Temperatură 75 cesus)
Temperatura de lucru: -25 ° C ~ + 130 ° C
Dimensiune: 60mm * 54mm
Greutatea conducătorului auto: ~ 4 8g
Alte prelungiri: sonda curentă, indicatorul de direcție de control, comutatorul de rezistență prin
tragere, sursa de alimentare logică.

Diagrama Hardware

Figura 4.2.Diagrama hardware

CSA: pinul actual de testare pentru motorul A, acest pin poate fi cablat cu un rezistor
pentru testare curentă sau legat un jumper pentru al dezactiva.
CSB: pinul actual de testare pentru motorul B, acest pin poate fi cablat cu un rezistor
pentru testare curentă sau legat un jumper pentru al dezactiva.
VMS: VMS este sursa de alimentare de 5V -35V pentru motor. VMS este pozitiv, GND
este negativ.
5V: Intrare de alimentare pentru circuitul logic de pe placă.
5V-EN: jumper de sursa 5V. Când se pune jumperul, sistemul 78M05 furnizează energia
de 5V pentru circuitul logic de pe placa de la portul VMS (7V <VMS <18V). Puterea circuitului
logic al plăcii este alimentată de portul 5V atunci când acest jumper este oprit.
U1 / 2/3/4: Trageți rezistența în sus pentru IN1 / 2/3/4. Punerea pe jumperul per mite
rezistența de tracțiune pentru microcontroler, scoaterea din funcția de dezactivare.
EA / EB: EA / EB este clema de acționare pentru cele două motoare A / B, viteza
motorului poate fi de asemenea controlată de PWM -ul acestui pin.
IN1 / 2/3/4 : IN1 / 2/3/4 este pinul pentru comanda motorului. Motorul B este același ca
motorul A.

Figura 4.3. Shema bloc L298N

Schema următoare prezintă cum este controlat un astfel de modul. 6 biți sunt folosiți pentru a
controla cele două motoare. 4 biți de termină direcția motoarelor și 2 biți determină starea
motoarelor (pornit/oprit). 1 bit este folosit pentru voltajul de referință, alt bit pentru alimentarea
motoarelor. Incă 4 biți sunt folosiți pentru conexiunea motoarelor, iar restul de 3 biți sunt GND.
Driverul L298N constă în 4 amplificatoare operaționale, folosite în pereche câte două
pentru a modifica polaritatea pentru a controla motoarele
Trebuie menționat că un dezavantaj al acestei unități este lipsa protecției la spikuri de
voltaj. Pentru aceast a, pe placă au fost folosite 8 diode Schotky 1N5819, câte 4 pentru fiecare
motor.
Viteza de rotație a motoarelor este controlată prin PWM, așa cum este explicat în
capitolul “ PWM – Pulse width modulation – Modularea impulsurilor în durată”

Valorile maxime absolute ce se pot aplica acestei unități sunt:

Tabelul 4.3.1. Valorile maxime absolute pentru driverul de motoare L298N (17)

Figura 4.4. Diagrama bloc a driverului de motoare L298N Simbol Parametru Valoare Unitate
VS Tensiunea de alimentare 50 V
VSS Tensiune de alimentare a circuitelor logice 7 V
VI,Ven Tensiunea pentru input / e nable -0,3 : 7 V
IO Curent continuu 2 A
Vsens Voltaj sensibilitate -1 : 2,3 V
Ptot Puterea totală disipată la temperatura T case = 75°C 25 W
Top Temperatura de operare a joncțiunii -25 : 130 °C
Tstg, Tj Temperatura de depozitare -40 : 150 °C

Funcțiile pinilor sunt explicate în tabelul următ or:

Tabelul 4.3.2. Funcțiile pinilor driverului de motoare L298N

Conectarea și controlul motoarelor se realizează astfel:

Figura 4.5 Controlul motorului DC cu ajutorul L298N (20) Pin Num e Funcție
1, 8, 15 GND Ground
2, 3 Out 1 , Out 2 Ieșirile punții A
4 VS Tensiunea de alimentare a motoarelor
5, 7 Input 1, Input 2 Intrările compatibile TTL ale punții A
6, 11 Enable A,
Enable B Intrările compotibile TTL pentru a porni/opri punțile A
și/sau B
9 VSS Tensiunea de alimentare pentru blocurile logice
10, 12 Input 3, Input 4 Intrările compatibile TTL ale punții B
13, 14 Ieșirile punții B

Tabelul 4.3.3. Controlul motorului DC cu ajutor ul L298N (21) Intrări Funcție

Ven = H C = H D = L Față
C = L D = H Spate
C = D Oprire rapidă a motorulu i
Ven = L C = X D = X Oprire motor

4.2 Kit Robot cu 4 Motoare

Figura 4.6. Kit robot cu 4 motoare

Kit-ul de robot cu 4 motoare stă la baza realizării unui robot. Pornind de la acest kit, se pot
adăuga diferite module pentru diferite tipuri de roboți (senzori de dist antă, de linie etc).
Kit-ul conține:
 Două șasiuri;
 Patru roți;
 Patru motoare ce pot fi dotate cu sistem de encoder;
 Soclu 4 baterii AA;
 Suporți motoare;
 Suruburi, piulițe necesare asamblării.
Dimensiuni: 15.5cm x 26cm.

4.3 Baterii

Pentru a funcțio na corect, acesta are nevoie de o tensiune de alimentare de minim 7V.
Am folosit 8 baterii alcaline GP LR6/AA

Figura 4.7. Baterii

4.4 Mini Breadboard

Acest Mini Breadboard este o modalitate foarte bună de a vă prototipa proiectele mici! Cu
170 de puncte de legătură, este suficient spațiu pentru a construi și a testa circuite simple; Sunt,
de asemenea, minunat pentru ruperea pachetelor IC pentru pachetele DIP! Dacă rămâneți în
afara camerei, nu vă faceți griji, aceste mini -panouri pot fi rupte îm preună pentru a forma
porțiuni mai mari de bord. Are un suport adeziv pentru lipire și lipire, precum și două găuri de
montare pentru șuruburile M2, astfel încât să îl puteți ancora.

Figura 4.8. Mini Breadboard

Capitolul 5
PWM – Modularea impulsurilor în durată

Modularea impulsurilor în durată este o tehnică frecvent folosită pentru a controla
puterea către dispozitive electrice inerțiale.
Valoarea medie a tensiunii și a curentului este controlată prin pornirea și oprirea foarte
rapidă a alimentării d ispozitivului.
Principalul avantaj al folosirii acestei tehnici de alimentare este pierderea foarte mică de
putere, deoarece atunci când comutatorul este deschis, practic nu trece curent, iar atunci când
este închis nu există pierderi de tensiune pe comuta tor. Puterea pierdută, fiind produsul
intensității și al tensiunii, în ambele cazuri tinde la zero.
Termenul ” duty cycle” (factor de umplere) descrie proporția între durata de timp cât
comunatorul este în poziția on și perioada în care acesta este oprit. O valoare mică a factorului
de umplere corespunde unei puteri mici, deoarece comutatorul este în marea parte a timpului
deschis.
Factorul de umplere este exprimat în procente, valoarea de 100% reprezentând valoarea
maximă. (35)
Figura 5.1. PWM în motorul de curent alternativ (36)

Valoarea V reprezintă tensiunea de alimentare a motorului, iar B ,prezentă sub forma
unui grafic asemănător cu o undă sinusoidală reprezintă densitatea fluxului din circuitul
magnetic al motorului.
Modularea în durată a impulsuri lor folosește unde rectangulare a căror durată este
modulată, rezultând o valoare medie a undei.
Considerăm un impuls f(t) , având valoarea minimă ymin,valoarea maximă ymax și un
factor de umplere D, ca în figura:
Figura 5.2. Reprezentarea impulsului f(t) (37)

Valoarea medie a undei este:

ym =

ym = D • y max + (1-D)• ymin

Pentru y min = 0 ⇒

ym = D • ymax

Evident, se observă că valoarea medie, y m , este direct dependentă de valoarea factorului
de umplere, D.

Figura 5.3. Valoarea medie a tensiuni i în funcție de factorul de umplere (38)

Figura 5.4.Exemple pentru valoarea medie a tensiunii (39

Capitolul 6
Aplicatii

6.1 Arduino

”Arduino” este un mediu de programare open -source, ce poate rula pe sisteme de operare
precum Windows, Ma c OS X și Linux. Este scris în limbajul de programare Java și este bazat pe
Processing și avr -gcc. Programul facilitează scrierea de cod și uploadul pe placă. Programarea se
face în limbajul ”Arduino programming language”, care este bazat pe ”Wiring”. Proi ectele
Arduino pot comunica și cu alte programe ce rulează în calculator, de exemplu Flash, Processing,
MaxMSP.
Programele Arduino pot fi divizate în 3 mari părți componente:
o structuri
o variabile și constante
o funcții
Figura 6.1. Fereastra principală a soft ului Arduino

6.2 Codul sursa

In continuare am explicat codul implementat in microcontroller.

int IN_1 = 5; //am definit valoarea de intrare pentru input 1 cu 5
int IN_2 = 6; //am definit valoarea de intrare pentru input 2 cu 6
int IN_3 = 9; //am definit valoarea de intrare pentru input 3 cu 9
int IN_4 = 10; //am definit valoarea de intrare pentru input 4 cu 10
int spd = 100; //am definit sensory processing disorder cu 100
int state = 'C'; //AM ATRIBUIT STAREA DE PORNIRE CU C

void setup()
{
Serial.begin(115200); // AM INIȚIALIZAT PORTUL PENTRU INTRARE
pinMode(IN_1, OUTPUT); // am configurat pinul specificat să se comporte ca ieșire
pinMod e(IN_2, OUTPUT);
pinMode(IN_3, OUTPUT);
pinMode(IN_4, OUTPUT);
}

void loop() //dacă avem cazul void loop se execută următoarea secvență de
cod
{
if(Serial.available()>0){ // dacă funcția serial.available este mai mare ca zero
state = Serial.read(); //atunci starea este serial.read
}

if(state=='U') // dacă avem cazul în care stării i se atribuie U execută următoarea
secvență de cod – merge înainte
{
Serial.println(state);
analogWrite(IN_1, spd); //spd= Serial Presence Detect
analogWrite(IN_2, 0); //atribuie 0
analogWrite(IN_3, 0);
analogWrite(IN_4, spd);
}

if(state=='D') // merge în spate

{
analogWrite(IN_1, 0);
analogWrite(IN_2, spd);
analogWrite(IN_3, spd);
analogWrite(IN_4, 0);
}

if(state=='C') // se opreste tot
{
Serial.println(state);
analogWrite(IN_1, 0);
analogWrite(IN_2, 0);
analogWrite(IN_3, 0);
analogWrite(IN_4, 0);
}

if(state=='R') // merge la dreapta
{
Serial.println(state);
analogWrite(IN_1, spd);
analogWrite(IN_2, 0);
analogWrite(IN_3 , spd);
analogWrite(IN_4, 0);
}

if(state=='L') // merge la stanga
{
Serial.println(state);
analogWrite(IN_1, 0);
analogWrite(IN_2, spd);
analogWrite(IN_3, 0);
analogWrite(IN_4, spd);
}

}

6.3 Bl uno Remote

Pentru controlul mașinii se vor folosi datele oferite de accelerometrul unui telefon cu sistem
de operare Android. Atât accesul la informațiile oferite de senzorii din telefon, cât și comunicația cu
circuitul mașinii se realizează cu ajutorul aplicatiei Bluno Remote.

Pentru interconectarea telefonului cu circuitul din mașină, se urmăresc următorii pași:
1. Se intalează aplicația “Bluno Remote” în telefon.
2. Se deschide aplicația “Bluno Remote”.

Figura 6.2. Aplicația Bluno Remote

3. Se apasă butonul ” Scan ” pentru adăugarea unui dizpozitiv bluetooth nou.

Figura 6.3. Scanarea Bluno Remote

4. Se așteaptă căutarea dispozitivului și se selectează atunci când acesta a fost găsit.

Figura 6.4. Conectarea Bluno Remote

5. Se apasă pe dispozitivul găsit pentru conectarea cu acesta.

Opțional se poate bifa butonul “Gyro”. Acesta permite controlul mașinii prin înclinarea telefonului.

Figura 6.5. Butonul “Gyro” Bluno Remote

Capitolul 7
Rezul tate și concluzii

Se mai pot adăuga multe informații despre tema aleasă, informații tehnice despre
componentele acestui sistem, detalii mai ample despre modul cum funcționează fiecare
dispozitiv, amănunte despre modul de fabricație și altele, însă scopul acestei lucrări este
prezentarea bazei de la care se poate porni către construcția de dispozitive specializate pentru
rezolvarea multor probleme actuale.
Am reușit construcția unei mașini ce este controlată prin interfața bluetooth a unui
dispozitiv mobil, în cazul de față un telefon mobil inteligent ce folosește sitemul de operare
Android.
Următorul pas a fost adăugarea tuturor componentelor și realizarea tuturor conexiunilor
aferente acestora. Dintre acestea, le putem enumera pe cele mai importante: plac a de dezvoltare
Bluno Nano si driverul de motoare L298N.
Am tratat fiecare componentă majoră în parte, explicând rolul ei în sistem și prezentând o
descriere sumară a modului de funcționare, a elementelor importante din datasheet,
caracteristicile princip ale, configurația și descrierea pinilor, circuitul intern, condițiile de operare
și nu în ultimul rând modul de interconectare și comunicație cu restul componentelor din sistem.
Am prezentat de asemenea și teoria din spatele tehnologiei de comunicației blu etooth
precum și elementele cele mai importante legate de aceasta. De asemenea, a fost prezentată o
descrierea teoretică a modului de control al motoarelor, folosind tehnica de modulare a
inpulsurilor în durată (PWM), modul de funcționare și de calcul al a cesteia.
Un alt element important al acestui document este aplicația instalată în telefon și anume
Bluno Remote. Rolul acesteia de a prelua datele de la o multitudine de senzori dar si comunicația
și transmiterea de date către modulul de control al mașinii este vital pentru realizarea acestui
proiect.

La fel de important este și softul Arduino ce permite folosirea limbajului de programare
cu același nume, ce permite scrierea, testarea, debugul și uploadul programului de control al
mașinii în microcontrolle rul ATmega328.
Ultima parte a acestui document este dedicată prezentării și explicării elementelor ce
compun programul -sursă folosit de microcontroller pentru a efectua cu succes toate cerințele
impuse.

Trebuie menționat că pornind de la acest modul de ba ză, se pot dezvolta aplicații foarte
complexe, singurul impediment fiind posibilitățile financiare. La elementele deja existente se pot
adăuga o multitudine de senzori, elemente de acționare, dispozitive de înregistrat sunet sau
imagine, într -un mod foarte ușor.
Un exemplu comun ar fii adăugarea de senzori de distanță pentru a permite măsurarea
distanței până la anumite obiecte ce trebuiesc evitate, sau dimpotrivă, găsite. De asemnea, un alt
rol este evitarea coliziunii cu alte elemente din mediu sau urmări rea unui traseu predefinit.
Pentru mărirea distanței de comunicare se poate folosi un modul bluetooth clasa 1, ce
extinde distanța maximă de comunicație până la 100 de metri. Pentru control la distanțe și mai
mari se pot folosi module wi -fi într -un mod ide ntic cu cele bluetooth.

De asemenea se pot folosii motoare mai mari, mai puternice, ce pot executa manevre mai
dificile și acțiuni ce necesită o forță mai mare. Evident, aceste componente adiționale măresc
consumul total al mașinii și se recomandă folosire a unor acumulatori ce au ca principale avantaje
o capacitatea mult mai mare decât bateriile obșnuite și faptul că se pot reîncărca.
Un alt element ce poate fi adăugat este un dispozitiv de înregistrare și/sau transmisie de
informații audio, foto sau imagin i video.
În concluzie, lucrarea practică prezentată poate fii folosită în scopuri mulitple, putându -se
adauga multe alte funcționalități față de cele incorporate în momentul de față, în funcție de
necesități. Practic, aceasta reprezintă baza oricărui siste m condus de la distanță, la care se poate
adăuga o multitudine de senzori, elemente auxiliare, echipamente de monitorizare și așa mai
departe, în funcție de scopul destinat aplicației. Lucrarea poate fi dezvoltată foarte ușor spre
specializarea către un an umit domeniu, singurul impas fiind resursele necesare pentru
achiziționarea echipamentelor necesare.

Similar Posts