Capitolul 1 -Prezentare generală a proiectului Capitolul 2 -Comunicația Bluetooth Capitolul 3 – Placa de dez voltare Bluno Nano 3.1 Placa de… [616271]

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

Scopul prezentei lucrări este realizarea unui robot de tip mașină, controlat cu ajutorul unui
dispozitiv portabil ce dispune de o interfață de comunicație tip bluetooth, în cazul de față, un
telefon mobil având sistemul de operare Android.
Domeniile in care se poate folosi acest robot sunt multiple, câteva exemple mai
importante sunt enumerate în cele ce urmează:
1. Domeniul militar /apărare
2. Ajutorarea persoanelor cu dizabilități
3. Industrie
4. Spionaj
5. Activități de căutare

1. Una din cele mai mari amenințări pentru populație este un atac terorist. Cu ajutorul
unei masini comandate la distanță, se pot inspecta pachetele suspecte abandonate în locuri publice
și aglomerate, precum stații de tren, aeroporturi, cladiri importante, etc. Astfel, nu se pun în
pericol vieți omenești.

2. Un robot inteligent, comandat pentru ușurința utilizării prin o interfață de tip wireless
poate fi folosit cu succes pentru ajutorarea persoanelor în vârstă sau a persoanelor cu dizabilități.
Acesta poate înlocui cu succes locul unui câine dresat special pentru ajutorarea acestor persoane,
avantajele constând în primul rând în prețul mai redus al robotului, faptul că ro botul nu necesită
îngrijire și nu în ultimul rând, poate fi achiziționat în orice moment, spre deosebire de câini,
pentru care sunt întocmite lungi liste de așteptare. De asemenea, câinele trebuie dresat pentru o
perioadă îndelungată, care se poate extinde pe durata câtorva ani.

3. Nu de puține ori apar situații neprevăzute în locuri cu acces dificil, spații strâmte sau
cu posibil potențial periculos. Pentru a venii în ajutorul operatorului uman, se poate controla de la
distanță o mașină pentru a inspecta loc urile în care se bănuiește că există probleme. Spre
exemplu, un robot poate fi comandat din camera de comandă către zone în care accesul uman este
condiționat de factori ce pot dăuna sănătății, locuri cu scurgeri de gaze sau de substanțe
periculoase/radioa ctive. De asemenea se pot inspecta de la distanță diferite instalații, bazine,
încăperi, pentru a se verifica starea acestora.

4. O altă posibilă aplicație a proiectului prezentat este spionajul. Cu un aparat comandat
la distanță, căruia i se pot adăuga com ponente cu felurite funcționalități, cel mai comun exemplu
fiind o cameră de fotografiat, un aparat de înregistrat imagine sau sunet, se pot obține informații
audio și/sau video foarte importante. În acest mod se pot obține detalii legate de rețele de traf ic
uman, trafic de droguri, criminali, furturi, atentate și alte crime împotriva cetățenilor sau a
instituțiilor unui stat.

5. În cazul unor dezastre naturale, precum cutremurele, un astfel de dispozitiv comandat
de la distanță, modificat corespunzător pent ru a avea acces ușurat în zone dificile, poate fii folosit
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, motoare mai puternice, acumulatori cu durată
de viață mult mărită), sistemul poate fi folosit cu succes pentru detectarea persoanelor blocate.

Cu alte cuvinte, lucrarea practică poate fii folosită în scopu ri 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 sistem condus de la distanță, la care se poate adăuga o
multitudine de senzori, elem ente auxiliare, echipamente de monitorizare și așa mai departe, în
funcție de scopul destinat aplicației. Lucrarea poate fi dezvoltată foarte ușor către specializarea
către un anumit domeniu, singurul impas fiind resursele necesare pentru achiziționarea
echipamentelor necesare, reprezentând sume destul de mari.

Capitolul 1
Prezentarea generală a proiectului

Pentru realizarea proiectului am folosit urmatoarele componente:
-Kit robot 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,supor tul 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 wireles s 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 accesului la mediul Bluetooth se bazează pe conceptul Master / Slave în
care oric e 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 datorită 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 multiple 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, astfel î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, prin care o comunicare
multicast -like este implementată într -un piconet. P rin 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 consumul 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, calculatoare personale,
telefoane mobile, camere foto/video, imprimante.
Bluetoo th 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, configurarea antenei, baterie și alte
influențe. De obicei, raza de comunicați e 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.

Prezentare generală Bluetooth și motivare

Bluetooth este o tehnologie de legătu ră 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ționează în banda de frecvențe ISM începând de la 2.402 GHz și terminând
la 2.4 83 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țiului
(TDD) împarte canalul în sloturi de 625 μs și, cu o rată a simboluri lor 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 înainte) sunt utilizate, de obicei, pentru traficul de
date, în timp ce pac hetele 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 orient at 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 acest 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, conexiu nile 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, presupunem că fiecare conexiune SCO folosește pachete HV3 care
au un ciclu d e 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
putere 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 n ivel 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 transmise de aceasta. În plus, compromisul dintre momentul de angajare a mai mu ltor
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 comunicar ea î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 simplitat ea
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 transmisie pentru fiecare unitate și apoi
propagând programul rezultat la memb ri 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, acc entuâ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 mod optim sloturile pentru dispozitivele
piconet, ar trebui să știe cerințe le 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 un 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 conexiu ne 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 comandă ajunge la comandă, se ia adresa slave solicitantă (conținută în antet ul
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ă comandantul poate acorda această
solicitare, acesta alocă un identificator unic c onexiunii, recalculează orarul corespunzător (detaliat
în următoarea subsecțiune) și difuzează informațiile de programare tuturor sclavilor activi. Dacă
conexiunea nu poate fi acceptată 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 programului, 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 acest caz, depinde de dispozitivul de destinație
să detecteze prezența traf icului 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 bidirecțional, acesta este gestionat diferit de către comandantul care alocă im ediat 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 conectare inversă dat fiind absența
unor resurse suficiente, acesta returnea ză 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 conexiun ii 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 asignarea 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, astfel î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 p oate 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 programare a sloturilor

Fig. 2.3 ilustrează un format propus al mesajului de pl anificare 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 conexiunile
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 acestei noi emisiuni de programare, a fost
conexiunea ACL sau SCO. În mod a lternativ, 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 planificarea sloturilor deoarece conexiunile ACL pot fi programate în orice
mome nt, î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 destinații
vizate de această nouă solicitare de conectare. În cazul unei com unică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 ulti mul 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 solicitar ea 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 unicast ș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 specificate î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 pentru
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 trafic ș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 uti lizarea 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 slotului Bluetooth este egal cu 6 și două dintre aceste
6 sloturi sunt deja u tilizate 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, indi câ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 unic la fiecare conexiune din cadrul
piconetului. Alocarea acestui identifi cator 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 eliberare 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 i dentificatorilor 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 atrib uite.
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 (slotul de transmisie).
Valorile permise pentru TxSlot sunt 1, 3 sau 5, în fu ncț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 inform aț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.

Bluetooth 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 erorilor 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 banda în 79 de canele, fiecare având 1MHz și schimbă canalele, în medie, de
800 de ori pe secundă.

Serviciile oferite de Bluetooth sunt:

1. Bluetooth SerialPort, o conexiune wireless serială între două dispozitive. Aplicațiile de pe
ambele calculatoare 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 Networking, o conexiune prin care se poate folosi un modem care este fizic conec tat la
un alt dispozitiv Bluetooth.

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

4. File Transfer, o conexiune prin care se pot face operațiuni de navigare, d eschidere 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 dreapta, se
selectează Send To și apoi un clic pe Bluetooth, după care se deschide o fereastră unde trebuie
ales calculatorul care este conectat prin Bluetooth. La final, un clic pe OK pentru a se face
trimiterea datelor. Atenție, se pot transfera numai fișiere, nu și directoare.

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

6. Network Access, o conexiune prin care un dispozitiv Bluetooth poate accesa rețeaua locală
printr -un al doilea Bluetooth, care este fizic conectat la o rețea, sau permite unui dispozitiv
îndepărtat sa 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 car e 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
greutate limitată.
Familia Bluno a familiei DFRobot este primul de acest gen în integrarea modululu i 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. inteligentă, pedometrul inteligent și multe altele. Prin
tehnologia Bluetooth 4.0 cu putere redusă, com unicarea î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 p entru 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ă orice proiect realizat cu
Uno poate merge direct wireless! În plus, am dezvoltat aplicația pentru Blun o (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 continuu: 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 platformă de dimensiuni reduse, compatibilă cu breadboard -uri și
construită în jurul microcontrollerului At mega328. 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ă platformă utilizează un cablu Mini USB.

Figura 3.2. Placa Arduino Nano

Specificații tehnice
-Micro controler 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). ATmega 328 are 2 KB de SRAM și
1KB de EEPROM.

Intrare și ieșire

Fiecare dintre cei 14 pini digitali de pe Nano poate fi folosit ca intrare sau ieșire, utilizând
funcțiile pinMode (), digitalWrite () si digitalRead (). Acestea funcționează la 5 volți. Fiecar e 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
• Întreruperi 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 modifi care a valorii. Consultați funcția
attachInterrupt () pentru detalii.
• PWM: 3, 5, 6, 9, 10 si 11. Asiguraț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 LED î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, fi ecare dintre acestea oferind 10 biți de rezoluție (adică 1024
valori diferite). În mod implicit, se masoară 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 analo gi 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 pla ca.

Comunicare
Arduino Nano are o serie de facilități pentru a comunica cu un computer, un alt Arduino sau cu
alte microcontrollere. ATmega328 furnizează comunicație serială UART TTL (5V), disponibilă pe
pinii digitali 0 (RX) si 1 (TX). Un FTDI FT2 32RL pe placa de canale, această comunicare serială
prin USB si driverele FTDI (incluse cu software -ul Arduino) 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
Ardui no 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ă permit e 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 P rogramming) folosind ISD Arduino sau similar.

Resetare automata (software)

Mai degrabă doar 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 p rin 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ă capacitate 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ării.

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 secundă 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 n ou 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 se cundă după deschiderea
conexiunii și înainte de a trimite aceste date.

Figura 3.3. Schema bloc Arduino 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 ISP 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 mo duri 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
supraveghe re 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 alternativă comună la ATmega328 este "picoPower" ATmega328P. O listă completă a
tuturor celorlalți membrii ai seriei megaAVR poate fi gasită pe site -ul Web Atme l
Aplicații
Începând cu 2013, ATmega328 este utilizat în mod obișnuit în multe proiecte și în sisteme
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.

Evaluarea 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.

Programming signal Pin Name I/O Function
RDY/BSY PD1 O High means the MCU is ready for a new command
OE PD2 I Output Enable (Active low)
WR PD3 I Write Pulse (Active low)
BS1 PD4 I Byte Select 1 (“0” = Low byte, “1” = High byte)
XA0 PD5 I XTAL Action bit 0
XA1 PD6 I XTAL Action bit 1
PAGEL PD7 I Program memory and EEPROM Data Page Load
BS2 PC2 I Byte Select 2 (“0” = Low byte, “1” = 2nd High byte)
DATA PC[1:0]:PB[5:0] I/O Bi-directional data bus (Output when OE is low)

Serial Pr ogramming Pins I/O Description
MOSI PB3 I Serial data in
MISO PB4 O Serial Data out
SCK PB5 I Serial Clock

Datele seriale la MCU sunt tactate pe marginea în creștere și datele de la MCU sunt tactate pe
marginea descendentă. Puterea es te 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 Modulul 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ă, Bluetoot h 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 Blueto oth
v4.0 cu o stivă 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 monede. 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 pen tru o perioadă. La 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 consum
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. Arhitect ura 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 permi t dispozitive extrem 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 siguranț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 criptar e AES.

Specificaț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 du blu 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 stan dard
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 inferi ori ai fiecărui pod 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 mi că.

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 d e 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: ~ 48g
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 moto rul 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 furnizea ză 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. Punere a pe jumperul permite
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ă m otoare. 4 biți determină 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 aceasta, 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 / enable -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ător:

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 Nume 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 porn i/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 motor ului DC cu ajutorul L298N (21) Intrări Funcție

Ven = H C = H D = L Față
C = L D = H Spate
C = D Oprire rapidă a motorului
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 distantă, 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ționa 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 proiect ele 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 -panour i pot fi rupte împreună 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 – Modul area 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 dispozitivului.
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 t ensiune pe comutator. 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 ac esta 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 d urată a impulsurilor 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. Reprezentare a 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 tensiunii î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, Mac 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”. Proiectele
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 softului 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 p entru 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
pinMode(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.pr intln(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 Bluno 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 realiz ează 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. Conecta rea 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
Rezultate ș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 alt ele, î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: placa 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,
caracte risticile principale, 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 bluetooth
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 acesteia.
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 c ontrol 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 microcontrollerul 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 bază, 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ărirea 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 identic 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 r ecomandă folosirea 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 imagini 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ă ba za oricărui sistem 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
speciali zarea către un anumit domeniu, singurul impas fiind resursele necesare pentru
achiziționarea echipamentelor necesare.

Similar Posts