ROBOT MOBIL COORDONAT PRIN BLUETOOTH COORDONATOR ȘTINȚIFIC: ABSOLVENT: S.I.DR.ING.FLORINA POP SOLOMA DENIS-IURA TIMISOARA 2020 CUPRINS SCOPUL… [305993]
UNIVERSITATEA POLITEHNICA TIMIȘOARA
FACULTATEA DE MECANICĂ
DEPARTAMENT DE MECATRONIĂSI ROBOTICĂ
SPECIALIZAREA MECATRONICA
LUCRARE DE LICENTA
ROBOT MOBIL COORDONAT PRIN BLUETOOTH
COORDONATOR ȘTINȚIFIC: ABSOLVENT:
S.I.DR.ING.[anonimizat] 2020
CUPRINS
SCOPUL LUCRĂRII
Lucrarea are ca scop dezvoltarea unui robot mobil controlat prin bluetooth de pe telefonul mobil dintr-o aplicatie pentru android
INTRODUCERE
Robotica și mecatronica
Mecatronica
Termenul "mecatronică" a fost utilizat pentru prima dată în anul 1975 [anonimizat] o prescurtare a [anonimizat]-Informatică.
[anonimizat] a fost înțeleasă ca o completare a [anonimizat].
[anonimizat]-a schimbat sensul și și-a extins aria de definiție: mecatronica a [anonimizat], electronicii si informaticii. [anonimizat].
Totuși, mecatronica nu este același lucru cu automatica sau cu automatizarea producției. [anonimizat]. Mecatronica poate fi definită ca o concepție inovatoare a tehnicii de automatizare pentru nevoile ingineriei și educației.
Mecatronica s-a născut ca tehnologie și a devenit filosofie care s-a răspândit în întreaga lume. [anonimizat]: știința mașinilor inteligente.
Ca o concluzie, [anonimizat] o sferă interdisciplinară a [anonimizat]. Totuși, [anonimizat], cum ar fi: electrotehnica, energetica, [anonimizat], tehnica reglării și altele.
Fig. .
Exemple de produse și sisteme mecatronice
Practic tot ceea ce numim produs de înalta tehnicitate este produs mecatronic. [anonimizat], [anonimizat], [anonimizat], [anonimizat], [anonimizat]-video, mașinile agricole moderne etc. , sunt exemple reprezentative de produse mecatronice.
Fig. .
Una dintre cele mai vechi variante a fost găsită în mormântul lui Amenhotep I îngropat în jurul anului 1500 înainte de Hristos. [anonimizat]-un rezervor determina o creștere a nivelului funcție de timp. În acest mod se punea în evidență pe cale mecanică trecerea timpului. Se utilizează cu succes regulatorul cu plutitor (float regulator) inventat de grecul Ktesibios.
Fig. .
[anonimizat]. [anonimizat], iar persoana care lucrează în acest domeniu a ajuns să fie cunoscută ca robotician sau inginer în robotică. Denumirea de robot a fost introdusa pentru prima oara de către Karel Čapek în anul 1921 în lucrarea sa "Roboții universali ai lui Rossum", în 1921 plecând de la cuvântul ROBOTA, muncă, activitate de rutina, preluat de către Isaac Asimov, în povestirea științifico-fantastică "Fuga în cerc" (1941). Robotii sunt mecanisme care îndeplinesc diferite sarcini, singure.
Roboții sunt realizați mai ales prin combinația disciplinelor: mecanică, electrotehnică și informatică. Între timp s-a creat din legătura acestora mecatronica. Pentru realizarea de sisteme autonome (care să găsească singure soluții) este necesară legătura a cât mai multor discipline de robotică. Aici se pune accent pe legătura conceptelor de inteligență artificială sau neuroinformatică (parte a informaticii) precum și idealul lor biologic biocibernetică (parte a biologiei). Din legătura între biologie și tehnică s-a dezvoltat bionica.
itatea acestora în mediu și o dirijare cât mai precisă. Un robot nu trebuie neapărat să poată să acționeze autonom, fapt pentru care se distinge între roboții autonomi și cei teleghidați. Tipuri de roboți:
Robot mobil
Robot autonom
Robot umanoid
Robot industrial
Robot de servicii
Robot jucărie
Robot explorator
Robot pășitor
Robot militar
Fig. .
Robotică mobilă
Robotica mobilă este o subcategorie a roboticii, care se axează pe realizarea, implementarea și îmbunătățirea roboților mobili. Spre deosebire de roboții normali, roboții mobili se pot deplasa prin diverse mijloace.
Primii roboți mobili au fost Elmer (1948) și Elsie (1949), construiți de Wiliam Grey Walter, roboții fiind capabili să caute sursa de lumină și să evite obstacole.
Fig. .
În 1951 Grey Walter prezintă la un festival din Marea Britanie un robot țestoasă, triciclu. Tot în 1951 Edmund Berkeley inventează un robot mic, “veverița”, capabil să adune nuci sau mingi de golf. Era primul robot cu un braț aflat sub control automat, primul robot automat care putea efectua o sarcină, alta decât a se îndrepta spre lumină.
Odată cu războiul rece, progresul tehnologic atingea limite nemaiîntâlnite până atunci. Transpuse în lumea roboticii mobile, noile descoperiri aveau să dea lumii roboți ce foloseau ultrasunete pentru detecția obiectelor (1980), roboți cu mișcări mult mai precise (Zero-2, 1984) sau chiar roboți cu 6 picioare, capabili să susțină un om și având suspensii reglabile (Adaptive Suspension Vehicle, 1986).
În 1988 apare Shadow Walker, un robot humanoid, bazat pe mersul cu ajutorul unor motoare pneumatice.
În 1996 apare P2 de la Honda, primul robot cu autocontrol, humanoid. Putea merge pe cele două picioare, având 1,80 m și 210 kg, folosea tehnologie wireless, putea chiar să urce și să coboare scările, putând opera independent.
Stadiul actual și realizările importante ale sistemelor robotice comandate de la distanță
Oamenii au căutat întotdeauna metode prin care a-și face munca mai ușoară, mai sigură sau mai eficientă. Din această cauză au apărut roboții sau sistemele robotice. De exemplu, pentru a afla mai multe despre planeta Marte, oamenii au trimis un robot denumit Spirit.
Robot industrial
Robotul industrialreprezintă un sistem fizic, programabil ce este capabil să realizeze diferite operațtii și secvențe de operații de manipulare a unor scule, piese sau subansamble.
Fig. .
Robotul ASIMO
La ora actuală, ASIMO este printre cei mai inteligenți roboți din lume, având o inteligența artificială minimă, putând reține fețe și apoi recunoaște și chiar poate purta o conversație.
Momentan, nu poate fi achiziționat într-o variantă de uz casnic, dar pe termen lung are mari șanse să ne facă viața mai ușoară.
De la distanță, pare a fi un tânăr astronaut în costumul celor de la NASA. Are 1,3 metri înălțime și 50 de kilograme, iar numele său este o variantă prescurtată pentru ,,Pas avansat în mobilitate inovativă” (Advanced Step in Innovative Mobility). Arată uman și tocmai din acest motiv, în cadrul debutului său la New York, la un hotel din Manhattan, ASIMO a întâmpinat audiența cu mesajul ,,Hello New York! Thank you for coming today!”. Aceasta a fost o înregistrare audio ce folosea vocea unui copil.
ASIMO poate să meargă, să alerge și să urce pe scări. Viteza sa maximă de deplasare atinge o limită decentă de 9 kilometri la oră. Este suficient de flexibil și ponderat în manifestarea forței de care e capabil încât să poată deschide o sticlă și o poate turna într-un pahar. În ultima perioadă, a învățat să vorbească foarte bine în limbajul semnelor și tinde să devină din ce în ce mai autonom.
Dacă totul continuă să evolueze în același ritm, în doar câțiva ani va fi capabil să ajute un bătrân singur în casă la toate activitățile zilnice.
Fig. .
Robot explorator
Roboții exploratori sunt roboți care operează în locații greu accesibile și periculoase teleghidați sau parțial autonom. Aceștia pot lucra de exemplu într-o regiune aflată în conflict militar, pe Lună sau Marte. O navigare teleghidată de pe pământ în ultimele două cazuri este imposibilă din cauza distanței. Semnalele de comunicatie ajung la destinatie in cateva ore , iar receptionarea lor dureaza la fel de mult. În astfel de situații roboții trebuie să fie programați cu mai multe tipuri de comportare, din care ei să aleagă pe cel mai adecvat și să-l execute.
Acest tip de robot dotat cu senzori a fost folosit și la cercetarea puțurilor din piramide. Mai mulți cryoboți au fost deja testați de NASA în Antarctica. Acest tip de robot poate pătrunde până la 3.600 de m prin gheață. Cryoboți pot fi astfel folosiți în cercetarea capelor polare pe Marte și Europa în speranța descoperirii de viață extraterestră.
Fig. .
Robot militar iRobot
iRobot, un robot mic, foarte ușor, care ajută soldații să aibă o viziune de ansamblu în cadrul unei misiuni fără a fi descoperiți, a fost lansat de FirstLook. Acesta este dotat cu două brațe ce îl ajută pe robot să se poată ridica și să evite micile obstacole, sau să urce scări de 20 cm înălțime.
Dotat și cu o cameră video care oferă o imagine de 360 de grade, robotul poate transmite aceste imagini către un ecran cu touchcreen ce se montează pe încheietura mâinii, care are și rol de operator al unității de control.
Fig. .
Robotul are dimensiunile de 26 cm lungime, 23 cm lățime și 10 cm înălțime și căntărește sub 2.5 kg. Acesta poate evita obstacole de 20 cm, poate rezista la o cădere de la o înălțime de aproximativ cinci metri, poate sta sub apă până la o adâncime de un metru și poate atinge o viteza de 5.5 km/h.
Pe lângă echipamentul video montat pe micul robot, există și un echipament audio, care va ajuta soldații să asculte ceea ce se întâplă în jurul robotului, dar și să poată trimite mesaje oamenilor de pe câmpul de luptă.
Robotul are autonomie timp de șase ore în care se poate deplasa oriunde este necesar, dar poate rezista până la zece ore în stare pasivă, în timp de observație.
Fig. .
Robot patruped de lupta Spot
Cea mai recentă versiune a unui robot patruped de luptă de la Boston Dynamics, constructorul de roboți militari deținut de Google X, a fost testat de Marina SUA săptămâna trecută.
Spot cântărește aproximativ 70 kg, funcționează cu energie electrică și se deplasează pe patru picioare hidraulice. Robotul este controlat wireless de către un operator ce se poate afla la o distanță de până la 500 de metri, conform website-ului PC World.
Robotul a fost supus unor teste și încercări la baza marinei din Quantico în Virginia, ca parte a unor evaluări efectuate de Marina SUA asupra viitoarei utilizări militare a tehnologiei robotice. Într-o serie de misiuni, robotul a fost evaluat pe un teren variat care a inclus dealuri, zone împădurite și zone urbane.
Spot este ultima versiune dintr-o linie de roboți dezvoltată de Boston Dynamics. Comparativ cu versiunile anterioare – LS3 și Big Dot – Spot este mai agil și mai silențios.
Armata SUA este interesată de utilizarea roboților în timpul luptelor, deoarece aceștia pot fi trimiși cu mai multă încredere în situații periculoase, fără teama pierderii de vieți omenești.
Într-unul dintre testele de la Quantico, robotul a fost trimis într-o clădire înaintea soldaților Marinei pentru a cerceta locul și pentru a identifica inamici sau diverse amenințări.
Pe lângă tehnologia sa robotică, Spot include un mic senzor laser LIDAR (Light Detection And Ranging), care este similar cu senzorul instalat pe capota mașinilor automate (fără șoferi) de la Google.
Testele au fost desfășurate de către Marine Corps Warfighting Lab și Defense Advanced Research Projects Agency (DARPA), care au finanțat Boston Dynamics pentru a efectua cercetări și pentru a construi roboții.
În trecut, armata americană a discutat despre utilizarea acestor tipuri de roboți pentru a însoți soldații pe câmpul de luptă sau pentru a se îndrepta spre locații dinainte programate cu echipamente grele pe spate.
Robot jucarie Powerman
Powerman este o jucarie interactiva care vorbeste, spune fabule, canta si danseaza, arunca cu discuri zburatoare la o simpla apasare de buton!
Caracteristici:
Il poti controla in toate directiile cu telecomanda
Raspunde la ghicitorile sale amuzante si fascinante despre numere, animale, cuvinte si multe alte teme fascinante.
Poate inregistra si reda sunete. Apasa butonul si el va repeta dupa tine.
Fig. .
Robot casnic
Fig. .
Compania Amazon a anunțat faptul că vrea să lanseze primul său robot care să joace rolul unui asistent în treburile casnice ale familiei. Astfel, un robot domestic – ce se va numi Vesta, nume ales după zeița protectoare a căminului din mitologia romană ar putea fi lansat chiar anul viitor, în 2019.
Dispozitivul, ce urmează să fie comercializat la scară largă, va avea funcții complexe ce îi vor permite să facă multe lucruri prin casă: va fi dotat cu senzori, camere video și softuri care îi permit să se plimbe asemenea unei mașini autonome.
Surse susțin că proiectul Amazon va fi testat anul acesta chiar de unii angajați în propriile case. Cel mai cunoscut așa-zis robot casnic de până acum este Roomba, un aspirator lansat de iRobot în 2002. Însă este o piață în continuă dezvoltare. Până în 2023, se estimează că aceasta va crește până la 15 miliarde de dolari.
Fig. .
APLICABILITATEA ROBOȚILOR
Aplicații ale sistemelor robotice comandate de la distanță
În general, roboții comandați de la distanță își au rolul în medii periculoase pentru om, cum ar fi mediile toxice, mediile cu temperaturi extreme, mediile cu radiații ș.a. Medii greu accesibile sunt, de asemenea, medii în care roboții comandați de la distanț
Mediile industriale, spre deosebire de altele (extraterestre, subacvatice, urbane, agricole, forestiere etc.), au caracteristici specifice care au determinat folosirea unor structuri dedicate ale roboților industriali ficși și, în ultimul timp, induc personalizări specifice privind dezvoltarea și implementarea roboților mobili universali ca roboți mobili industriali. Printre caracteristicile și cerințele specifice ale mediilor industriale legate de implementarea roboților, în special, a celor mobili, se evidențiază: structurarea parțială a locațiilor de lucru, nivelul crescut de securitate, necesitatea unui sistem senzorial extern precum și necesitatea unor sistemele auxiliare.
La proiectarea, dezvoltarea și implementarea roboților industriali se urmărește, pe de-o parte, mărirea eficienței acțiunilor asupra mediilor tehnologice prin creșterea vitezei și preciziei de execuție și, pe de altă parte, înlocuirea operatorilor umani care execută operații simple repetitive sau care lucrează în medii austere (căldură/frig, lumină/întuneric, vibrații/zgomote etc.) și nocive (cu radiații, poluate etc.) sau scoaterea operatorului uman din mediul respectiv, controlând robotul de la distanță.
În perioada 2000-2003, numărul de unități de roboți pentru servicii este estimat la peste 49,400 unități, din care 40,000 sunt roboți domestici (excluzând cei de curățenie cu vacuum) și aproximativ 5,000 sunt roboți medicali. Roboții domestici destinați uzului casnic cu sistem de vacuum sunt introduși pe piață la sfâșsitul anului 2000. De asemenea apar de la zi la zi roboți miniaturizați ce vor intra într-o mulțime de case și vor suplini o parte din activitățile umane. Mai mult de atât, tehnologia actuală poate fi folosită în scopul complementării asistenței umane în cazuri dificile prin intermediul roboților de asistență ce suplinesc cu succes asistenții persoanelor cu handicap. În cadrul sectorului roboți de serviciu, prețul destul de ridicat este încă un impediment, însă avantajele multiple care le oferă în timp justifică investiția. Exact cum ne folosim acum de telefoane mobile, PC-uri așa ne vom putea folosi de "bucătarii inteligente" sau "case inteligente", în care diverse echipamente vor fi conectate la un PC care va coordona "muncile" în casă, prin intermediul roboților de serviciu. De exemplu : robot de curățenie, robot subacvatic, robot cositoare; robot de curățat cu vacuum. În funcție de serviciile pentru care au fost creați, din totalul analizat în 1999, la un număr de 6600 de unități s-au numărat 50%, roboți domestici, 14% roboți subacvatici, 12% roboți medicali, 6% roboți pentru curățenie și restul de 23% au fost în categoria "altele"
Fig. .
Descrierea robotului mobil
Robot mobil cu Arduino, comandat din telefonul mobil folosind Bluetooth
Folosind același kit robot, dar aplicând alte principii, obținem un alt proiect. Este vorba despre un robot mobil cu Arduino, comandat din telefonul mobil, folosind Bluetooth.
Este un proiect mai simplist și în același timp mai limitat.
Fig. .
Fig. .
Practic, este tot un robot mobil, controlat de la distanță folosind telefonul mobil dintr o aplicatie pentru android cu un senzor ultra sonic pentru a evita ciocnirea cu orice fel de obstacole, dar distanța în cauză este mult mai mică, datorită limitărilor modulului Bluetooth
Bluetooth
Bluetooth este un set de specificații (un standard) pentru o rețea personală (engleză: personal area network, PAN) fără fir (wireless), bazată pe unde radio. Tehnologia Bluetooth a fost creata în 1994.
„Bluetooth” este o traducere în engleză a cuvântului scandinav Blåtand/Blåtann, cum era supranumit regele viking Harald I al Danemarcei din sec. al X-lea. Harald I a unit Norvegia și Danemarca; el era renumit ca fiind foarte comunicativ și se pricepea să îi facă pe oameni să comunice între ei. În română bluetooth s-ar traduce „dinte albastru”.
Specificația Bluetooth a fost formulată pentru prima dată de Sven Mattisson și Jaap Haartsen, muncitori în orașul Lund, Suedia, la divizia de telefonie mobilă a companiei Ericsson. La 20 mai 1998 a fost fondată gruparea Bluetooth Special Interest Group (SIG), care azi are rolul de a vinde firmelor tehnologia Bluetooth și de a urmări evoluția acestei tehnologii.
Printr-o rețea Bluetooth se poate face schimb de informații între diverse aparate precum telefoane mobile, laptop-uri, calculatoare personale, imprimante, camere foto și video digitale sau console video printr-o unde radio criptate (sigure) și de rază mică, desigur numai dacă aparatele respective sunt înzestrate și cu Bluetooth.
Aparatele care dispun de Bluetooth comunică între ele atunci când se află în aceeași rază de acțiune. Ele folosesc un sistem de comunicații radio, așa că nu este nevoie să fie poziționate față în față pentru a transmite; dacă transmisia este suficient de puternică, ele pot fi chiar și în camere diferite.
Fig. .
Conectare Bluetooth laArduino
Mai întâi conectăm modulul la Arduino, folosim o conectare serială virtuală ca să nu mai deconectăm modulul în momentul programării placii Arduino
Fig. .
După conectare și alimentare ledul modulului începe să clipească
Adică Serial virtual cu numele „blue_serial” (sau oricare nume doriți), pin RX de la modul la pin 9 Arduino, respectiv pin TX de la modul la pin 10 Arduino (sau oricare pini doriți).
Dacă se conectează ledul modulului nu mai clipește și este gata de comunicare cu Arduino.
Acum la orice aplicație trebuie setată și corelată cu codul butoanele sau consola, pentru că pe serial se trimit în special „caractere”
Schema conectare bluetooth la arduino
Fig. .
Componentele folosite
Arduino UNO R3
Sasiu
Senzor ultrasonic
Driver motoare L298
Suport 4 baterii AA
2 motoare
Arduino UNO
Arduino este o companie open-source care produce atât plăcuțe de dezvoltare bazate pe microcontrolere, cât și partea de software destinată funcționării și programării acestora. Pe lângă acestea include și o comunitate uriașă care se ocupă cu creația și distribuirea de proiecte care au ca scop crearea de dispozitive care pot sesiza și controla diverse activități sau procese în lumea reală.
Proiectul este bazat pe designul plăcilor cu microcontroler produse de câțiva furnizori, folosind diverse tipuri de microcontrolere. Aceste plăci pun la dispoziția utilizatorului pini I/O, digitali și analogici, care pot fi interfațați cu o gamă largă de plăcuțe numite scuturi (shield-uri) și/sau cu alte circuite. Plăcile au interfețe de comunicații seriale, inclusiv USB pe unele modele, pentru a încărca programe din calculatoarele personale. Pentru programarea microcontrolerelor, Arduino vine cu un mediu de dezvoltare integrat (IDE) bazat pe proiectul Processing, care include suport pentru limbaje de programare ca C și C++.
Primul Arduino a fost lansat în 2005, având ca țintă asigurarea unei soluții ieftine și simple pentru începători și profesioniști spre a crea dispozitive capabile să interacționeze cu mediul, folosind senzori și sisteme de acționare. Cele mai comune exemple sunt dispozitivele pentru utilizatorii începători precum: roboții simpli, termostatele și/sau detectoarele de mișcare.
Plăcuțele Arduino sunt disponibile comercial sub formă pre asamblată sau sub forma unor kituri de asamblat acasă (do-it-yourselfe). Specificațiile schemelor sunt disponibile pentru orice utilizator, permițând oricui să fabrice plăcuțe Arduino.
Fig. .
Senzorul Ultrasonic
Unul dintre cei mai folositori senzori pentru proiectele de robotică este un senzor de distanță. HC-SR04 este un senzor de distanță ultrasonic ieftin care vă poate ajuta robotul să navigheze în jurul unei încăperi. Cu puțină atenție și o componentă suplimentară poate fi folosit și ca dispozitiv de măsurare.
HC-SR04 poate fi conectat direct la un microcontroler Arduino sau alt microcontroler și funcționează la 5V. Poate fi folosit și cu Raspberry Pi, însă deoarece HC-SR04 necesită o logică de 5V, veți avea nevoie de câteva rezistoare pentru a interfața cu portul GP de 3.3V Pi.
Acest senzor de distanță cu ultrasunete este capabil să măsoare distanțele între 2 cm și 400 cm (care este de aproximativ 1 cm până la 13 metri). Este un dispozitiv cu curent redus, deci este potrivit pentru dispozitive cu baterie.
Cum functioneaza HC-SR04?
Senzorul de distanță ultrasonic folosește pulsații ultrasonice (sunet deasupra domeniului de auz uman) pentru a detecta distanța dintre acestea și obiectele solide din apropiere. Senzorii se compun din două componente principale:
Un transmițător cu ultrasunete – acesta transmite impulsurile de sunet ultrasonice, funcționează la 40 KHz
Un receptor ultrasonic – Receptorul asculta impulsurile transmise. Dacă le primește, produce un impuls de ieșire a cărui lățime poate fi folosită pentru a determina distanța parcursă de impulsuri
HC-SR04 are următoarele patru conexiuni:
VCC – Aceasta este sursa de alimentare de 5 V pozitivă
Trig – Acesta este pinul "declanșator", cel condus pentru a trimite impulsurile cu ultrasunete.
Echo – Acesta este pinul care produce un impuls când semnalul reflectat este recepționat. Lungimea impulsului este proporțională cu timpul necesar pentru detectarea semnalului transmis
. GND – Acesta este pinul de pamantare
Fig. .
Senzorul functioneaza astfel:
Se aplică un impuls de 5 V cu durată de cel puțin 10 uS (10 microsecunde) pe pinul Trigger
HC-SR04 răspunde prin transmiterea unei explozii de opt impulsuri la 40 KHz. Acest model de 8 pulsuri face ca semnătura "ultrasonică" să fie unică, permițând receptorului să facă diferența între modelul transmis și zgomotul de fond ultrasonic
Cele opt impulsuri cu ultrasunete se deplasează prin aer din transmițător. Între timp, pinul Echo merge în sus pentru a începe formarea începutului semnalului echo-back
Dacă pulsul nu este reflectat înapoi, atunci semnalul Echo va fi expirat după 38 mS (38 milisecunde) și va reveni la un nivel scăzut. Acest lucru produce un impuls de 38 mS care nu indică nicio obstrucție în raza de acțiune a senzorului
Dacă pulsul IS se reflectă înapoi, pinul Echo se micșorează când semnalul este recepționat. Aceasta produce un impuls a cărui lățime variază între 150 uS și 25 mS, în funcție de timpul necesar pentru primirea semnalului
Lățimea impulsului primit este folosită pentru a calcula distanța față de obiectul reflectat. Amintiți-vă că pulsul indică timpul necesar pentru ca semnalul să fie trimis și reflectat înapoi pentru a obține distanța de care aveți nevoie pentru a vă împărți rezultatul pe jumătate
Fig. .
Fig. .
Imaginea de mai jos prezintă dimensiunile senzorului de distanță cu ultrasunete HC-SR04, precum și unghiul efectiv de funcționare. După cum puteți vedea senzorul este cel mai precis atunci când obiectul care urmează să fie detectat este direct în fața acestuia, dar obțineți un răspuns de la obiecte într-o "fereastră" de 45 de grade.Documentația recomandă limitarea ferestrei la 30 de grade (15 grade pe fiecare parte) pentru citiri exacte.
Fig. .
Conectarea senzorului ultrasonic la Arduino UNO
Conectarea lui HC-SR04 la Arduino este destul de ușoară. Veți avea nevoie de câteva porturi I / O digitale și o conexiune la pinii 5V și Ground Arduino.
Fig. .
De fapt, dacă nu aveți nici un pin, puteți conecta atât pinii Trigger și Echo al HC-SR04 la un singur pin digital I / O de pe Arduino și utilizați codul pentru a comuta pinul între ieșire (pentru a trimite impulsul de 10 uS ) și intrare (pentru a primi pulsul Echo). Unii senzori cu ultrasunete au de fapt un singur pin care face atât Trigger, cât și Echo.Voi da un exemplu mai jos. Majoritatea exemplelor pe care vi le voi arăta aici utilizează metoda mai convențională cu două pini. Orice Arduino și orice pinii I / O digitali care sunt gratuite pot fi utilizați astfel încât dacă doriți să îl conectați la un set diferit de pinii I / O, schimbați pur și simplu schițele pentru a reflecta aceste modificări. Pentru demonstrația noastră vom folosi un Arduino Uno și pinul 10 pentru Trigger și pinul 13 pentru Echo.
Trebuie să ști că pin-ul trebuie să fie conectat înainte de a fi conectat la VCC(5 V), deci dacă vrei să faci experimente pe o plăcuță trebuie să ai în vedere această opțiune.Deci, acum că ne-am cuplat senzorul de distanță cu ultrasunete, este timpul să scriem un cod și să-l testez.
Alimentarea unui Arduino UNO
Arduino UNO poate fi alimentat prin intermediul conexiunii USB sau cu o sursă de alimentare externă. Sursă de alimentare este selectată automat.
Alimentarea externă(non-USB)poate veni fie de la un adaptor AC-la-DC sau baterie.Adaptorul poate fi conectat printr-un conector de 2.1 mm cu centru pozitiv. Conectare de la o baterie poate fi realizată legând la GND si V’in capetele de la conectorii de alimentare.
Placa de dezvoltare poate opera pe o sursă externă de 6-20 volți. Dacă este alimentată la mai puțin de 7V,există posibilitatea ,ca pinul de 5V să furnizeze mai puțin de cinci volți și placa să devină instabilă. Dacă se alimentează cu mai mult de 12V,regulatorul de tensiune se poate supra-încalzi acest lucru ducând la deteriorarea plăcii. Intervalul de tensiune recomandat de către producător este de 7-12 volți.
Pinii de tensiune și alimentare sunt după cum urmeaza:
-V’in. Tensiune de intrare pe placa de dezvoltare atunci când este utilizată o sursă de alimentare externă (spre deosebire de 5 volți de la conexiunea USB sau alte surse de energie stabilizată).
Se pot introduce tensiuni de alimentare prin intermediul acestui pin sau în cazul în care tensiunea de alimentare se face prin intermediul conectorului de alimentare externă, o puteți accesa prin acest pin -5V. Regulator de tensiune utilizat pentru alimentarea microcontrolerului și a altor componente de pe placa de dezvoltare. Aceasta poate fi alimentată fie de la VIN printr-un regulator de pe placa de dezvoltare , fie furnizat de către USB sau de o altă sursă de tensiune de 5V.
Curentul maxim ce îl furnizează este de 50 mA.
-GND.Pini de împamantare.
Driver motoare
Driverul de motoare interfața între Arduino și motoarele pe care le face să se rotească cu viteza dorită
Fig. .
Tensiune motoare: 5V-35V;
Tensiune circuite logice:5V;
Curent motoare:2A(max)
Curentul logic:36mA
Frecvență maximă pwm:40kHz
Fig. .
Driver-ul conține și un limitator de tensiune liniar, astfel că atunci când tensiunea de alimentare a motoarelor este >7V, nu este nevoie să alimentăm separat partea de logică.
Driver-ul este unul dual, putând să controleze două motoare. El poate fi folosit și pentru motoare pas cu pas
Chiar dacă are dimensiuni mai mari, este util prin faptul că beneficiază de un radiator destul de mare și disipă o cantitate mare de caldură
Doua motoare
Fig. .
Fig. .
Motoarele electrice din acest kit sunt motoare electrice de curent continuu, dotate cu câte o cutie de viteze cu raport 1:120 și prezintă următoarele specificații:
Tensiune nominala: 6 V
Curent nominal: < 300 mA
Viteza de rotație: 100 RPM
Cuplu: 1 kgf/cm
Conectarea driverul-ui L298 la Arduino UNO
Fig. .
Pentru a controla motoarele DC cu driverul L298N ne asigurăm că pinii EnA și EnB nu sunt conectați la 5V. Pe aceștia îi vom conecta la pinii PWM 3 și 10 pentru a controla turația motoarelor.
Pentru a controla sensul motoarelor: pe In1 scriem HIGH, iar pe In2 scriem LOW și motorul va merge înainte. Pentru a inversa sensul scriem LOW, respectiv HIGH pe In1, In2. Similar pentru motorul B.
De asemenea, GND-ul driverului trebuie conectat cu GND-ul plăcuței Arduino pentru a funcționa.
Schema de conectare al robotului mobil
Fig. .
Functionare
Robotul mobil se deplasează cu ajutorul motoarelor de curent continuu. Motoarele primesc curent de la shield-ul ULN2803,
Când unul dintre butoanele de pe aplicația android este apăsat, robotul mobil se deplasează în direcția aferentă butonului. Cât timp butonul este ținut apăsat, robotul își continuă deplasarea, iar când butonul este eliberat, robotul se oprește.
Stop
Start/Conectare
Inainte
Inapoi
Afisare distanta coliziune
Reglare distanta coliziune
Stanga
Dreapta
Anexe
//biblioteca pentru comunicarea cu modulul bluetooth
#include <SoftwareSerial.h>
//am pus modulul bluetooth pe pinul 8
SoftwareSerial bluetooth(8, 0);
//pinii de la L298N
#define A1 3
#define A2 2
#define B1 4
#define B2 5
//pinii de la ultrasonic
#define TRIG 6
#define ECHO 7
//variabila in care tinem minte ce distanta e setata de la aplicatie
int d = 5;
//functie pentru mers fata-spate-stanga-dreapta
void go(int, int);
//functie care masoara distanta
int distance(void);
void setup() {
//bluetooth-ul are o frecventa de 9600bits/secunda
bluetooth.begin(9600);
//pinii de la L298N sunt toti ca OUTPUT
pinMode(A1, OUTPUT);
pinMode(A2, OUTPUT);
pinMode(B1, OUTPUT);
pinMode(B2, OUTPUT);
//pinul de trigger e OUTPUT
pinMode(TRIG, OUTPUT);
//pinul de echo e INPUT
pinMode(ECHO, INPUT);
//oprim robotul
go(0, 0);
}
void loop() {
//am primit ceva de la bluetooth
if(bluetooth.available()){
//citim ce am primit
char c = (char)bluetooth.read();
//am primit o noua valoare pentru distanta minima, o salvam
if(isdigit(c))
d = c – '0';
//masuram distanta
int dist = distance();
if(c == 'S'){//nu e apasat niciun buton
go(0, 0);//stam pe loc
}else if(c == 'F'){//fata
if(dist > (d + 1)* 5)//avem loc in fata
go(1, 1);//mergem in fata
else
go(0, 0);//oprim robotul
}else if(c == 'B'){//spate
go(-1, -1);//mergem in spate
}else if(c == 'L'){//stanga
go(1, -1);//ne rotim pe loc la stanga
}else if(c == 'R'){//dreapta
go(-1, 1);//ne rotim pe loc la dreapta
}else if(c == 'G'){//fata-stanga
if(dist > (d + 1)* 5)//avem loc in fata
go(1, 0);//mergem la stanga(nu ne rotim pe loc)
else
go(0, 0);//oprim robotul
}else if(c == 'I'){//fata-dreapta
if(dist > (d + 1)* 5)//avem loc in fata
go(0, 1);//mergem la dreapta(nu ne rotim pe loc)
else
go(0, 0);//oprim robotul
}else if(c == 'H'){//spate-stanga
go(-1, 0);//mergem la stanga cu spatele(nu ne rotim pe loc)
}else if(c == 'J'){//spate-dreapta
go(0, -1);//mergem la dreapta cu spatele(nu ne rotim pe loc)
}
}
}
//functie care misca robotul
//a > 0, motorul merge in fata
//a < 0, motorul merge in spate
//a = 0, motorul sta pe loc
void go(int a, int b){
//motorul stang
digitalWrite(A1, a < 0);
digitalWrite(A2, a > 0);
//motorul drept
digitalWrite(B1, b < 0);
digitalWrite(B2, b > 0);
}
//functie care masoara distanta
int distance(){
//trimitem un impuls scurt pe trigger
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(5);
digitalWrite(TRIG, LOW);
//masuram cat timp i-a luat impulsului sa se intoarca
int duration = pulseIn(ECHO, HIGH);
//sunetul parcurge dus-intors un cm in 58ms
if(duration<58000 and duration > 0)
return duration/58;
return 0;
}
Concluzii
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: ROBOT MOBIL COORDONAT PRIN BLUETOOTH COORDONATOR ȘTINȚIFIC: ABSOLVENT: S.I.DR.ING.FLORINA POP SOLOMA DENIS-IURA TIMISOARA 2020 CUPRINS SCOPUL… [305993] (ID: 305993)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
