1.1.1. Scurt istoric, definiții Unul din cele mai importante aspecte în evoluția ființei umane este folosirea uneltelor care să simplifice munca… [310291]

CAPITOLUL I

Introducere

1.1.Generalități

1.1.1. [anonimizat]. [anonimizat] o poziție privilegiată datorită complexității lor.

Noțiunea de robot datează de peste 4 mii de ani. Omul și-a imaginat dispozitive mecanizate inteligente care să preia o parte însemnată din efortul fizic depus. Astfel a construit jucării automate și mecanisme inteligente sau și-a [anonimizat], filme "SF" etc.

Revoluția informatică a marcat saltul de la societatea industrializată la societatea avansat informatizată generând un val de înnoiri în tehnologie și în educație. Acest lucru a dus și la apariția roboților.

Termenul "robot" a fost folosit în 1920 de cehul Karel Capek într-o piesa numită "Robotul universal al lui Kossum". Ideea era simplă: omul face robotul după care robotul ucide omul. Multe filme au continuat să arate că roboții sunt mașinării dăunătoare și distrugătoare.

Termenul de “robotics” (în traducere liberă robotică) se referă la știința care se ocupă de studiul și utilizarea roboților. Acest termen a [anonimizat], într-o scurtă povestioară numită “Runaround”, în anul 1942. Această poveste scurtă a fost apoi inclusă într-o colecție numită “I, Robot”, care a fost publicată în 1950.

[anonimizat]. [anonimizat], [anonimizat].

Domeniile de aplicare a [anonimizat], [anonimizat], în cunoașterea oceanului și a [anonimizat].

1.2. Studiu privind stadiul roboților mobili

1.2.1 Roboți mobili

Robotul mobil este un sistem complex care poate efectua diferite activități într-o varietate de situații specifice lumii reale. El este o combinație de dispozitive echipate cu servomotoare și senzori (aflate sub controlul unui sistem ierarhic de calcul) [anonimizat], marcat de o serie de proprietăți fizice (de exemplu gravitația care influențează mișcarea tuturor roboților care funcționează pe pământ) și care trebuie să planifice mișcările astfel încât robotul să poată realiza o sarcină în funcție de starea inițială a [anonimizat].

Succesul în îndeplinirea acestor sarcini depinde atât de cunoștințele pe care robotul le are asupra configurației inițiale a [anonimizat].

Problemele specifice ce apar la roboții mobili ar fi următoarele: [anonimizat], planificarea unei traiectorii optime de mișcare.

În cazul unui sistem robotic automat distribuit pozițiile spațiale sunt de o extremă importanță și de ele depinde îndeplinirea scopurilor dorite și funcționarea întregului sistem. [anonimizat]-[anonimizat] a îndeplini o sarcină, în funcție de aranjamentul momentan al obiectelor din spațiul de lucru.

Planificarea mișcărilor nu constă dintr-o problemă unică și bine determinată, ci dintr-un ansamblu de probleme dintre care unele sunt mai mult sau mai puțin variante ale celorlalte.

Evitare coliziunii cu obstacole fixe sau mobile (de exemplu alți roboți mobili) aflate în spațiul de lucru al robotului se poate face prin mai multe metode:realizarea unei apărători mecanice care prin deformare oprește robotul, folosirea senzorilor care măsoară distanța până la obstacolele de pe direcția de deplasare, folosirea senzorilor de proximitate, folosirea informațiilor corelate de la mai multe tipuri de senzori.

Localizarea obiectelor se poate realiza și prin contact fizic, dar acesta impune restricții asupra vitezei de mișcare a structurii manipulate. Contactul fizic dintre robot și obiectele din mediu generează forțe de reacțiune care modifică starea robotului. Vitezele mari de lucru fac ca efectele dinamice ale unui contact fizic cu obstacole sau obiecte manipulate să fie riscante (pot duce la deteriorarea obiectelor sau a robotului).

Navigarea robotului este posibilă și fără o determinare a poziției și orientării față de un sistem de coordonate fix, dar această informație este utilă pentru sisteme de comandă a mișcării. Dintre metodele de navigație mai des utilizate se pot menționa: măsurarea numărului de rotații făcute de roțile motoare, folosirea de acceleratoare și giroscoape, geamanduri electromagnetice instalate în teren, semnalizatoare pasive sau semipasive de tip optic sau magnetic.

1.2.2. Caracteristici ale roboților mobili

Roboții mobili au următoarele caracteristici comune:

structura mecanică este un lanț cinematic serie sau paralel respectiv tip “master-slave”;

sistemul de acționare utilizat este electric pentru sarcini mici și medii și hidraulic pentru sarcini mari;

sistemul senzorial utilizează senzori interni (de turație, poziție, efort) la nivelul articulațiilor, senzori externi(camere TV) pentru scanarea mediului și senzori de securitate (de proximitate, de prezență cu ultrasunete);

sistemul de comandă este ierarhizat, de obicei multiprocesor;

limbajele de programare utilizate sunt preluate de la roboții staționari.

1.2.3. Clasificarea roboților mobili

Roboții mobili se clasifică astfel:

În funcție de dimensiuni: macro, micro și nano-roboți;

În funcție de mediul în care acționează: roboți tereștri – se deplasează pe sol; roboți subacvatici – în apă; roboți zburători – în aer; roboți extratereștri – pe solul altor planete sau în spațiul cosmic;

În funcție de sistemul care le permite deplasarea în mediul în care acționează.

roboți pe roți sau șenile

Fig.1.1. Roboti mobili pe senile

2.roboți pășitori: bipezi, patrupezi, hexapozi, miriapozi;

Fig.1.2. Roboti mobili pasitori

3.roboți târâtori: care imită mișcarea unui șarpe, care imită mișcarea unei râme etc.;

Fig.1.3. Roboti taratori

4.roboți săritori, care imită deplasarea broaștelor, cangurilor etc.;

Fig.1.4. Roboți săritori

5.roboți de formă sferică (se deplasează prin rostogolire) etc.

1.2.4. Utilizări ale roboților mobili.

Utilizările pentru care au fost, sunt și vor fi concepuți roboții mobili sunt dintre cele mai diverse. Mulți roboți din zona micro își găsesc utilizarea în medicină, fiind capabili să se deplaseze de-a lungul vaselor și tuburilor corpului omenesc, în scopul investigațiilor, intervențiilor chirurgicale, dozării și distribuirii de medicamente etc. La fel de spectaculoase sunt și multe utilizări ale macro-roboților:

În domeniul industrial, agricol, forestier: în domeniul industrial roboții mobili sunt reprezentați de AGV-uri (Automated-Guided Vehicles), vehicule pe roți, cu ghidare automată, care transportă și manipulează piese, constituind o alternativă flexibilă la benzile de montaj; în agricultură există tractoare și mașini agricole fără pilot, capabile să execute singure lucrările pe suprafețele pentru care au fost programate; în domeniul forestier roboții mobili pot escalada copacii înalți

Fig.1.5. Roboti mobili utilizati in domeniul industrial

În domeniul militar: este luată în considerare de către armata americană perspective înlocuirii soldaților combatanți cu roboți, pentru a reduce riscul pierderilor umane în luptă; roboți mobili de cele mai ingenioase și robuste configurații sunt aruncați în clădiri și incinte din zone de conflict, în scopuri de investigare și chiar anihilare a inamicului; Armata Statelor Unite face uz de două tipuri majore de vehicule de teren semi-autonome și autonome: vehiculele de dimensiuni mari , cum ar fi tancuri, camioane și HUMVEE-uri și vehicule mici, care pot fi transportate de către un soldat într-un rucsac.(packbot) și se deplaseaza prin mers ca tancurile mici. PackBot-ul este echipat cu camere și echipamente de comunicații și poate include manipulatoare (brate); este proiectat pentru a găsi și a detona explozivele improvizate salvand astfel viați (atât civili cât și militari), precum și pentru a efectua recunoastere. Dimensiunile sale mici îi permit să intre clădiri, sa raporteze ocupanții posibili, și să declanșeze capcane. Vehiculele robot armate tipice sunt (1) Talon SWORDS (Special Weapons Observation Reconnaissance Detection System) făcute de Foster Miller, care pot fi echipate cu mitraliere, lansatoare de grenade sau lansatoare de rachete anti tanc, precum și camere și alți senzori și noul MAARS (Modular Advanced Armed Robotic System). În timp ce vehicule cum ar fi SWORDS și MAARS sunt capabile sa navigheze autonom catre obiectivele specifice prin sistem global de pozitionare (GPS), în prezent declansarea oricarei arme aflate la bord se face de către un soldat situat la o distanță sigură. MAARS foloseste o mitralieră mai puternică decât originalul SWORDS. Deși inițial SWORDS cantareste aproximativ 150 kg., MAARS cantareste aproximativ 350 kg. Acesta este echipat cu un manipulator nou capabil să ridice 100 livre, permitandu-i astfel să-și înlocuiască arma platformei cu o unitate de identificare și neutralizare IED( Improvised explosive device).

b)

Fig. 1.6. Vehicule terestre militare : a) Packbot b) SWORDS

PACKBOT-urile sunt unități mici om portabile controlate de un procesor Pentium care a fost special conceput pentru a rezista la tratamentul dur, șasiu PACKBOT are un sistem GPS, o busolă electronică și senzori de temperatură construit în IRobot producătorul PACKBOT, spune despre ei că se pot deplasa cu mai mult de 13 km / h, pot fi instalați în câteva minute și pot rezista la o cădere de 1,8 metri pe beton, echivalentul a 400 grame-forță a lui. Soldații americani profită de această robustețe, PACKBOT sunt aruncați, prin ferestrele clădirilor dușmanilor și apoi utilizați pentru a căuta și găsi unde combatanții inamici se ascund. Chiar dacă terenurile sunt denivelate, PACKBOT cu ajutorul brațelor puternice pot trece peste obstacole mari și la urcarea treptelor.

În domeniul distractiv și recreativ: sunt roboții-jucării, roboții pentru competiții.

În domeniul serviciilor: Există posibilități deosebit de largi de implementare. Sunt roboți pentru: deservirea bolnavilor în spitale, ajutorarea persoanelor bătrâne sau cu diferite handicapuri, ghidarea și informarea publicului în muzee, aspirarea și curățirea încăperilor, spălarea geamurilor și a pereților clădirilor.

1.2.5. Proiecte anterioare în domeniul temei

Lucrarea de față nu își propune să abordeze toate tipurile de roboți mobili. Acest lucru nu numai că nu ar fi posibil datorită volumului extrem de documentație necesar, dar datorită evoluției pe scara largă a fenomenului, chiar dacă s-ar realiza acest lucru, lucrarea ar fi depășită în câteva luni de zile. De aceea, se vor prezenta câteva exemple de roboți mobili, special alese pentru a sublinia extraordinara lor importanță în secolul al XXI-lea. Se va insista, deci, asupra unui singur tip de roboți mobili, și anume roboții mobili care urmăresc o anumită traiectorie.

Fig.1.7. Minirobot AIRAT 2.

AIRAT 2 este un robot micromouse care folosește un procesor CPU 8051.AIRAT 2, folosește senzori pentru a o recepta când se întoarce înapoi. Placa CPU folosește o placă JS8051-A2. Placa JS8051-A2 este foarte bine construită. Folosește resurse externe de putere cum ar fii LCD, ADC, douǎ ceasuri externe, auto-Flash scriere și altele.

AIRAT 2 utilizează șase senzori oferindu-i astfel posibilitatea de a se deplasa pe diagonală. Un simulator PC este prevăzut,oferindu-i posibilitatea utilizatorului de a întelege mai bine nivelul înalt de căutare algoritmică a mouse-ului. Codul sursa C este implementat astfel încât programatorul poate dezvolta mai ușor algoritmi care pot fi testați cu ajutorul unui simulator și apoi implementat mouse-ului.

În plus, LCD, comunicație serială, controlul mouse-ului precum și alte funcții sunt furnizate sub formă de librărie și fișiere sursă. Pentru cei ce vor să învețe mouse-ul la un nivel înalt, AIRAT2 furnizează un mediu excelent de dezvoltare, teste algoritmice, precum și multe altele.

AIRAT 2 a apărut pe coperta publicației franceze MICROS&ROBOTS.

Caracteristici AIRAT 2:

capabil de reglare proprie, învață din mers;

folosește 6 senzori dându-i posibilitatea de a se deplasa pe diagonală;

ușor de asamblat/dezasamblat;

port de reîncărcare;

instrucțiuni de asamblare și manual al utilizatorului;

include un simulator PC pentru accelerarea dezvoltării;

librării, coduri sursa C;

AIRAT2 baterie (NiMh-450) Descriere.

Fig.1.8. Minirobot AIRAT 2

Alte proiecte:

Fig.1.9. Miniroboti “Line Follower”

Capitolul 2. Arduino

2.1 . Istoric Arduino

Figura 2.1. Placa de dezvoltare Arduino

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 calculatorele 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ă preasamblată sau sub forma unor kituri de asamblat acasă (do-it-yourself). Specificațiile schemelor sunt disponibile pentru orice utilizator, permițând oricui să fabrice plăcuțe Arduino. Adafruit Industriesestimase la mijlocul anului 2011 că peste 300.000 de plăcuțe oficiale Arduino au fost produse, iar în 2013 700.000 de plăcuțe oficiale erau în posesia utilizatorilor.

Arduino a început în 2005 ca un proiect al unui student al Institutului de Interacțiune a Designului din Ivrea, Italia. La acea vreme studenții foloseau o plăcuță de dezvoltare BASIC Stamp care costau 100 de dolari, ceea ce era considerat foarte scump pentru studenți. Massimo Banzi, unul dintre fondatori, era student la Ivrea. Numele "Arduino" provine de la un bar din Ivrea, locul unde o parte din fondatori obișnuiau să se întâlnească.

Studentul columbian Hernando Barragán a creat platforma de dezvoltare Wiring care a servit ca bază pentru Arduino. După finalizarea platformei Wiring, mai multe versiuni, mai light și mai ieftine, au fost create și puse la dispoziția comunităților open-source. Din echipa inițială Arduino au făcut parte Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino și David Mellis.

2.2. Hardware

Figura 2.2. Placa reală de dezvoltare Arduino

Una dintre primele plăcuțe Arduino cu interfață de comunicații serială RS-232 (stânga sus) și un microcontroler Atmel ATmega8(cu negru, dreapta jos); Cei 14 pini digitali de intrare/ieșire sunt localizați în partea de sus, iar cele 6 intrări analogice sunt pe partea dreaptă, jos sub microcontroler.

plăcuță Arduino este compusă dintr-un microcontroler Atmel AVR de 8-, 16- sau 32-biți (deși începând cu 2015 s-au folosit microcontrolere de la alți producători) cu componente complementare care facilitează programarea și încorporarea în alte circuite. Un aspect important la Arduino este că acesta dispune de conectori standard, care permit utilizatorului să conecteze plăcuța cu procesorul la diferite module interschimbabile numite shield-uri. Unele shield-uri comunică cu Arduino direct prin pinii digitali sau analogici, dar altele sunt adresabile individual prin magistrala serială I²C permițând utilizarea mai multor module în paralel. Până în anul 2015 plăcuțele Arduino oficiale au folosit cipuri Atmel din seria megaAVR, în special ATmega8, ATmega168, ATmega328, ATmega1280 și ATmega2560, iar în 2015 au fost adăugate cipuri de la alți producători. O multitudine de alte procesoare au fost folosite de dispozitive compatibile Arduino.

Multe plăcuțe includ un regulator liniar de 5 V și un oscilator cu cuarț de 16 MHz (sau un rezonator ceramic în unele variante), deși anumite plăcuțe, cum ar fi LilyPad, funcționează la 8 MHz și nu necesită regulator, datorită restricțiilor de formă. Un microcontroler instalat pe Arduino vine preprogramat cu un bootloader care simplifică încărcarea programelor pe memoria flash a cipului, în comparație cu alte dispozitive care necesită programatoare externe. Acest aspect face Arduino o soluție simplă, permițând programarea de pe orice computer ordinar. În prezent, bootloader-ul optiboot este bootloader-ul implicit instalat pe Arduino UNO.

La nivel conceptual, când se folosește mediul de dezvoltare integrat Arduino, programarea tuturor plăcuțelor se face prin conexiune serială. Implementarea acesteia diferă în funcție de versiunea hardware. Unele plăcuțe Arduino au implementate convertoare de nivel logic pentru a realiza conversia între nivelele logice RS-232 și cele TTL. Plăcuțele Arduino din prezent sunt programate prin USB, având integrate cipuri de conversie USB-serial, cum ar fi FTDI FT232. Unele modele UNO, mai noi, folosesc un cip AVR separat programat să funcționeze ca un convertor USB-serial, care poate fi reprogramat printr-un port ICSP dedicat.

Alte variante, cum ar fi Arduino Mini și versiunea neoficială Boarduino, folosesc adaptoare detașabile USB-serial, cabluri, Bluetooth sau alte metode.

Figura 2.3. Placa reală de dezvoltare Arduino UNO

Plăcuța Arduino are expuși mulți dintre pinii de intrare/ieșire ai microcontrolerului, pentru ca aceștia să fie folosiți de alte circuite. Diecimila, Duemilanove și UNO oferă 14 pini digitali de intrare/ieșire, dintre care 6 pot produce semnale PWM și 6 intrări analogice care, de asemenea, pot fi folosite ca intrări/ieșiri digitale. Acești pini sunt accesibili prin partea superioară a plăcuței, prin intermediul unor barete mamă cu pasul între pini de 2,54 mm.

2.3. Softwar

Programele Arduino pot fi scrise în orice limbaj de programare cu un compilator capabil să producă un cod mașină binar. Atmel oferă un mediu de dezvoltare pentru microcontrolerele sale, AVR Studio și mai nou, Atmel Studio.

Proiectul Arduino oferă un mediu integrat de dezvoltare (IDE), care este o aplicație cross-platform, scrisă în Java. Acesta își are originile în mediul de dezvoltare pentru limbajul de programare Processing și în proiectul Wiring. Este proiectat pentru a introduce programarea în lumea artiștilor și a celor nefamiliarizați cu dezvoltarea software. Include un editor de cod cu funcții ca evidențierea sintaxelor, potrivirea acoladelor și spațierea automată și oferă mecanisme simple cu un singur click, pentru a compila și a încărca programele în plăcuța Arduino. Un program scris în IDE pentru Arduino se numește sketch. Arduino IDE suportă limbajele de programare C și C++ folosind reguli speciale de organizare a codului. Arduino IDE oferă o librărie software numită Wiring, din proiectul Wiring, care oferă multe proceduri comune de intrare și ieșire. Un sketch tipic Arduino scris în C/C++ este compus din două funcții care sunt compilate și legate cu un ciot de program main(), într-un program executabil cu o execuție ciclică:

-setup: o funcție care este rulată o singură dată la începutul programului, când se inițializează setările.

-loop: o funcție apelată în mod repetat până la oprirea alimentării cu energie a plăcuței.

După compilarea și legarea cu GNU toolchain inclus, de asemenea, în IDE, mediul de dezvoltare Arduino trimite comandă către programul avrdude pentru a converti codul executabil într-un fișier text codat hexazecimal, care poate fi încărcat în placa Arduino de un program de încărcare.

Capitolul 3. Proiectare hardware

Schema bloc a proiectului

Figura 3. Schema bloc

Schema bloc a proiectului poate fi văzută mai sus .

În primul rând, dorim să montam Shieldul L293D pe Arduino UNO.

M1 conectam la motorul din stânga.

M2 conectam la motorul din dreapta.

(Dacă facem acest lucru invers, pur și simplu dorim să comutam mai târziu motoarele în cod)

Servo 1 conectam la Serv1 pe ecranul L293D.

Modulul HC-06 Bluetooth dorim să conectam Rx la Tx al Arduino, apoi Tx al lui HC-06 la Rx al Arduino așa cum este arătat mai sus.

MQ-2 AOUT (ieșire analogică) conectam la pinul A0.

Modulele DHT11 OUT conectam la pinul 5.

Modulele I2C SCL și SDA conectam direct la SCL & SDA ale Arduino.

Modulul Trig Pin al modulului HC-SR04 trebuie conectat la pinul 13 și pinul Echo conectam la pinul 12.

Capitolul 4. Proiectare software

Figura 4. Organigrama schemei bloc

Bibliotecile necesare pentru ca acest cod să funcționeze sunt:

1. dht.h Biblioteca pentru modulul DHT11.

2. Biblioteca LiquidCrystal_I2C.h pentru controlul LCD-ului folosind modulul I2C.

3. Biblioteca Servo.h pentru controlul Servo

4. Biblioteca AFMotor.h pentru utilizarea ecranului motor L293D

5. Biblioteca Wire.h care permite comunicarea cu modulele I2C

6. Biblioteca LCD.h pentru utilizarea generală a ecranului LCD.

Capitolul 5. Realizarea machetei

5.1. Date tehnice ale componetelor

5.1.1. UNO R3 (ATmega328p + ATmega16u2) – Placa de Dezvoltare Compatibila cu Arduino

Diagrama pinilor regasiti pe un Arduino

Pinii pe care ii regasim pe microsistemul arduino se impart in pini analogici si digitali, dupa cum se poate observa in poza de mai jos:

Figura 5.1. Diagrama pinilor pe Arduino UNO R3

Caracteristici tehnice:

Microcontroler: ATmega328

Tensiune de funcționare: 5V;

Tensiune de alimentare Jack: 7V – 12V;

Tensiune de intrare (limita): 6-20V

Pini de I/O(digitali): 14;

Pini PWM(analogici): 6 (din cei 14 de I/O);

Pini ADC: 8;

Memorie flash: 32kB (8 ocupați de bootloader);

Comunicație TWI, SPI și UART;

SRAM: 2 KB (ATmega328)

EEPROM: 1 KB (ATmega328)

Frecvență de funcționare: 16 MHz.

Alimentare

ARDUINO UNO poate fi alimentat prin intermediul conexiunii USB sau cu o sursa de alimentare externa. Sursa de alimentare este selectata automat.

Alimentarea externa (non-USB) poate veni fie de la un adaptor AC-la-DC sau baterie. Adaptorul poate fi conectat printr-un conector de 2.1mm cu centru-pozitiv. Conectare de la o baterie poate fi realizata legand la GND si V’in capetele de la conectorii de alimentare.

Placa de dezvoltare poate opera pe o sursa externa de 6-20 volti. Daca este alimentata la mai putin de 7V, exista posibilitatea, ca pinul de 5V sa furnizeze mai putin de cinci volti si placa sa devina instabila. Daca se alementeaza cu mai mult de 12V, regulatorul de tensiune se poate supra-incalzi acest lucru ducand la deteriorarea placii. Intervalul de tensiune recomandat de catre producator este de 7-12 volti.

Pinii de tensiune si alimentarea sunt dupa cum urmeaza:

– V’in. Tensiune de intrare pe placa de dezvoltare atunci cand este utilizata o sursa de alimentare externa (spre deosebire de 5 volti de la conexiunea USB sau alte surse de energie stabilizata). Puteti introduce tensiuni de alimentare prin intermediul acestui pin, sau, in cazul in care tensiunea de alimentare se face prin intermediul conectorului de alimentare externa, o puteti accesa prin acest pin.

– 5V. Regulator de tensiune utilizat pentru alimentarea microcontrolerului si a altor componente de pe placa de dezvoltare. Aceasta poate fi alimenta fie de la VIN printr-un regulator de pe placa de dezvoltare, fie furnizat de catre USB sau de o alta sursa de tensiune de 5V.

– 3V3. O alimentare de 3.3 volti generat de catre regulatorul de tensiune de pe placa. Curentul maxim ca il furnizeaza este de 50 mA.

– GND. Pini de impamantare.

Memoria

ATmega328 are 32 KB (cu 0,5 KB utilizate pentru bootloader). Ea are, de asemenea, 2 KB SRAM si 1 KB de EEPROM.

Această plăcuță de dezvoltare reprezintă o bază a multor proiecte inovative de electronică. Utilizând o astfel de plăcuță și câțiva senzori sau module de ethernet/bluetooth, puteți face un mic roboțel sau să va automatizați casa.

Cu ajutorul IDE-ului oferit de Arduino puteți scrie coduri sursă foarte ușor, având și exemple.

5.1.2. Modul senzor de gaz MQ-2

Figura 5.2. Modulul sensor de gaz MQ-2

Caracteristici tehnice:

Tensiune: 5V;

Curent: 150mA;

Rezistență heater: 33R;

Temperatură de lucru: -20oC – 50oC;

Output digital sau analogic.

Dimensiuni: 33 x 14 x 1.6mm;

Modulul este folosit pentru a detecta scurgerile de gaze în încăperi mici sau mari și reprezintă o metodă de precauție pentru incendii sau pentru intoxicații.

Senzorul are o sensibilitate ridicată și principalele gaze pe care le vizează sunt GPL-ul, izobutan, propan, metan, alcool, hidrogen și fum.

Senzorul dispune de un comparator, astfel că puteți citi date analogice în timp real sau puteți afla dacă concentrația de gaz a depășit o anumita limită.

5.1.3 Modul Senzor de Temperatura și Umiditate DHT11

Figura 5.3. Modulul sensor de temperature si umiditate

Caracteristici tehnice:

Tensiune de alimentare: 3.3V – 5V;

Curent: 2.5mA (maxim);

Gama de măsurare a umidității: 20% – 95% RH;

Acuratețea măsurării umidității: ±5% RH;

Gama de măsurare a temperaturii: 0 oC – 60 °C;

Acuratetea măsurării temperaturii: ±2 oC;

Nu funcționează sub 0°C.

Dimensiuni: 32mm x 14mm.

Temperatura este măsurată de un NTC, iar umiditatea relativă este măsurată folosind un senzor capacitiv. Aceste elemente sunt pre-calibrate, iar ieșirea este oferită ca semnal digital.

Acest senzor este compatibil cu cele mai populare plăcuțe de dezvoltare, precum Arduino.

Senzorul de temperatură și umiditate DHT11 este foarte convenabil, oferind precizie bună, simplitate în utilizare și dimensiuni reduse la un preț mic.

Senzorul poate măsura umiditatea în intervalul 20% – 90% cu o precizie de 5% și temperatura în intervalul 0 – 50 ˚C cu o precizie de 2 ˚C.

5.1.4. Senzor ultrasonic HC-SR04

Figura 5.4. Senzor ultrasonic HC-SR04

Caracteristici tehnice:

Tensiune de alimentare: 5V;

Curent consumat: 15mA;

Distanță de funcționare: 2cm – 4m;

Unghiu de măsurare: 15o;

Eroare de doar 3mm;

Durată semnal input: 10us.

Dimensiuni: 45mm x 20mm x 15mm.

Senzorul ultrasonic HC-SR04 este unul dintre cei mai populari și ușor de utilizat senzori de distanță. Este compatibil cu Arduino și prezintă câteva avantaje față de senzorii de distanță analogici: necesită doar pini I/O digitali, are imunitate mai mare la zgomot.

5.1.5. Modul Bluetooth de transmisie seriala HC-06

Figura 5.5. Modulul Bluetooth de transmisie seriala HC-06

Caracteristici tehnice:

Tensiune de alimentare: 3.6 – 6V;

Curent consumat: maxim 30mA;

Pinii de I/O sunt compatibili pentru 3.3V (insa in testele noastre a functionat si la 5V);

Comunică pe serială UART;

Baudrate: 9600 – 460800 bps;

Distanță de transmisie până la 10m;

Putere de transmisie: +4dBm;

Senzitivitate recepție: -80dBm.

Dimensiuni: 35.7 x 15.2 mm.

Modulul bluetooth HC-06 este unul de înaltă performanță și consumă foarte puțină energie. De asemenea, dimensiunile acestuia sunt mici.

Produsul poate fi utilizat în proiectele dumneavoastră inovative unde aveți nevoie să transmiteți foarte ușor date, dar nu prin cablu, la distanțe rezonabile, de până la 10m.

Un foarte întâlnit exemplu îl reprezintă comunicația între laptop și un robot de la care doriți să culegeți date în timp real. De exemplu, puteți vedea cum se comportă un robot de tip line follower chiar în timp ce merge pe traseu și să remediați anumite probleme.

Procedura pentru a intra în modul AT este următoarea:
– se alimentează modulul
– se apasă pe butonul mic (nu e nevoie sa se mentină apăsarea), ledul trebuie sa inceapă sa clipeasca rapid de aproximativ 5 ori pe secundă
– modulul intră in modul AT cu baud rate de 9600 (care poate fi modificat ulterior)

HC-06 Pini:
VCC: +5v
RXD: Arduino Transmit Serial (3.3V nivel HIGH)
TXD: Arduino Transmit Serial
GND: Arduino Ground

5.1.6. Shield cu Driver de Motoare L293D

Figura 5.6. Shield cu driver de motoare L293D

L293D Motor Drive Shield este un driver monolitic integrat, de înaltă tensiune, de curent înalt, cu 4 canale.

Practic aceasta înseamnă utilizarea pe care acest cip poate utiliza motoare de curent continuu și surse de alimentare de până la 25 de volți, asta niște motoare destul de mari si cip poate furniza un curent maxim de 600mA pe canal, cipul L293D este, de asemenea, ceea ce este cunoscut ca un tip de H -Pod.

Podul H este în mod obișnuit un circuit electric care permite aplicarea unei tensiuni pe o sarcină în ambele direcții către o ieșire, de ex. motor.

2 pentru Servo 5V conectat la temporizatorul dedicat de înaltă rezoluție Arduino – fără jitter.

Până la 4 motoare DC bidirecționale cu selecție individuală a vitezei pe 8 biți.

Până la 2 motoare pas cu pas (unipolar sau bipolar) cu o singură bobină, bobină dublă sau trepte intercalate.

4 punți H: pe punte asigură o protecție termică de 0,6 A (1,2 A), poate rula motoarele de la 4,5V la 25V DC.

Culoare: arată ca imagine.

5.1.7. Micro Servomotor SG90 90°

Figura 5.7. Micro servomotor SG90 90°

Caracteristici tehnice:

Tensiune de alimentare: 4.8V – 6V;

Consum redus de curent;

Viteza de funcționare: 0.12 s/60o @ 4.8 V;

Cuplu în blocare la 4.8V: 1.8 kgf*cm;

Frecvență PWM: 50Hz;

Temperatura de funcționare: -30° C – +60° C.

Dimensiuni: 21.5 x 11.8 x 22.7 mm

Acest mini servo motor este proiectat special pentru aplicații de mică putere, cum ar fi roboți sau jucării telecomandate. De exemplu, îl puteți folosi la o mașinuță pentru a mișca roțile din față pentru a coti.

5.1.8. SODIAL (R) 1pcs 20X4 caractere LCD modul de afișare albastru de iluminare din spate pentru Arduino LCD HD44780

Figura 5.8. SODIAL (R) 1pcs 20X4 caractere LCD modul de afișare albastru de iluminare din spate pentru Arduino LCD HD44780

LCD-ul poate sa afiseze  80  caractere pe 4 randuri (alb / albastru), si dispune de un backpack I2C care permite conectare la Arduino folosind doar 2 fire. Pentru a-l utiliza cu Arduino, se inlocuieste libraria LiquidCrystal din folder-ul "libraries" cu cea din link-ul de mai jos. Este foarte important ca vechea librarie LiquidCrystal sa nu mai existe in folder-ul "libraries" (nici macar sub alt nume) (o puteti copia in alta parte pe disk pentru backup, insa nu in folder-ul "libraries"). Dispune de 8 adrese distincte, ceea ce inseamna ca poti comanda pana la 8 LCD-uri folosind doar doi pini Arduino. Pentru a seta adresa, conectati cei trei jumperi de pe spatele placii (sau doar o parte din ei).

Caracteristici tehnice:

Modulul poate fi ușor interfațat cu un MCU;

Format de afișare: 20 caractere x 4 linii;

Este fantastic pentru proiectul bazat pe Arduino ;

Tensiunea de alimentare: 5V ;

Complet asamblat și testat modul Serial LCD 20×4 ;

Text alb, Lumină de fundal albastru ;

Interfață analogică;

Caseta originală: Nu;

Culoarea neagra;

Greutate neta: 78g.

Dimensiunea articolului: 98 * 60 * 12mm.

5.1.9. Afișaj 1602LCD Afișează modul IIC / I2C / TWI / SP I pentru placa de interfață serială pentru Arduino

Figura 5.9. Afișaj 1602LCD Afișează modul IIC / I2C / TWI / SP I pentru placa de interfață serială pentru Arduino

Aceasta este o altă mare interfață serială IIC / I2C / TWI / SPI. Deoarece resursele de pin ale controlerului Arduino sunt limitate, proiectul dvs. ar putea să nu poată utiliza scutul LCD normal după conectarea cu o anumită cantitate de senzori sau card SD. Cu toate acestea, cu acest modul de interfață I2C, veți putea realiza afișarea datelor prin intermediul a numai 2 fire. Dacă aveți deja dispozitive I2C în proiectul dvs., acest modul LCD nu mai costa deloc resurse. Este fantastic pentru proiectul bazat pe Arduino.

Adresa I2C: 0X20 ~ 0X27 (adresa originală este 0X20, o puteți schimba singură)

Tensiunea de alimentare: 5V

lumina de fundal și contrastul sunt reglate de potențiometru

Vino cu 2 interfețe IIC, care pot fi conectate prin cablu DuPont Line sau IIC dedicat

Adresa I2C: 0x27 (Adresa I2C: 0X20 ~ 0X27 (adresa originală este 0X27, o puteți modifica singură)

Compatibil pentru LCD 1602

Greutate: 5g

Dimensiune: 5.5×2.3×1.4cm

5.1.10. 2WD V8 inteligent de detectare a vitezei șasiului auto de urmărire Robot de evitare a controlului la distanță

Figura 5.10. 2WD V8 inteligent de detectare a vitezei șasiului auto de urmărire Robot de evitare a controlului la distanță

Pachetul include:

Roată universală x1

Codul discului x2

M3 * 3 cm șuruburi x2

Roată x2

M3 * 2 cm șuruburi x4

Plăci de mașini x1

Piuliță M3 x6

Suporturi acrilice x4

Parametri:

Diametrul mare al pneurilor: aproximativ 6 cm

Dimensiuni reduse ale pneurilor: aproximativ 2 cm

Grosimea plăcii: aproximativ 3 mm

Lungime: aproximativ 13 cm

Lățime: aproximativ 7.5 cm

CAPITOLUL 6. Etape de realizare a machetei

Pasul 1. Montarea modulului Servo & HC-SR04 pe șasiu

Figura 6.1.

Acum că șasiul a fost construit, primul pas este montarea Servo și HC-SR04 pentru evitarea obstacolelor.

În funcție de șasiul pe care ne-am ales, plasarea poate varia.

În cazul meu, șasiul meu nu este simetric, așa că am decis să-mi montez servo-ul cu adeziv fierbinte deasupra roții universale, vedeti în imaginile de mai sus.

Folosind două coliere am atașat modulul HC-SR04 la servomotorul dublu armat văzut mai sus.

Pasul 2: Conectarea ecranului arduino

Figura 6.3

Figura 6.4

Odată ce am conectat ecranul motor L293D la Arduino UNO, putem începe conectarea motoarelor. Este posibil să avem nevoie să conectam conexiunile la terminalele pozitive și negative.

Apoi conectam servo motorul direct la portul servo 1 al ecranului motor L293D.

Pasul 3: Conectarea modulului I2C la ecranul LCD și la alimentarea cu energie electrică

Figura 6.6

Figura 6.7

Modulul I2C va trebui să fie lipit pe ecranul LCD, acesta fiind extrem de simplu, rezultatul final poate fi văzut mai sus.

Pasul 4: Conectarea modulelor transmițătoare MQ-2, DHT11 și Bluetooth

Figura 6.9

Figura 6.10

Figura 6.11

Am conectat toate modulele cu mama la cabluri tata jumper, ceea ce însemnă că am avut libertatea de a le muta în orice poziție pe care am vrut-o pe șasiul de robot. Aceasta a însemnat că am libertatea de a poziționa pozițiile de citire a gazului, temperaturii și umidității care ar putea afecta acuratețea acestora. Conexiunile de lipire după cum se arată în pasul următor.

Pasul 5: Conectarea tuturor senzorilor la plăci

Figura 6.12

Imaginea de mai sus arată toate conexiunile, cu excepția modulelor MQ-2. Aceste conexiuni sunt cele din schema de circuite prezentată în capitolul 3.

Am lipit toate conexiunile, cu excepția conexiunilor modulului LCD I2C, direct pe ecranul motorului L293D.

Deoarece ecranul motorului L293D nu trece prin conexiunile SDA & SCL, a trebuit să le introduc în mod direct în Arduino UNO așa cum am văzut mai sus.

Pasul 6: Aplicația Android

Concluzia proiectului

Figura

În acest moment ar trebui să aveți un robot automat de navigare care să poată transmite datele senzorului înapoi pe dispozitivul dvs. Android indicând condițiile de mediu din jurul robotului.

Bibliografie

https://www.instructables.com/id/Automated-Navigation-Robot-With-Gas-Temperature-Hu/

https://dokumen.site/download/robot-mobil-autonom-a5b39f06571db9

https://edoc.pub/minirobot-mobil-cu-senzori-pentru-detectare-obstacole-pdf-free.html

https://ro.wikipedia.org/wiki/Arduino

https://edoc.pub/proiect-roboti-mobili-pdf-free.html

Conducerea roboților, Ivan Bogdanov, editura Orizonturi Universitare, 2009

Conducerea cu calculatorul a actionarilor electrice, I. Bogdanov, editura Orizonturi universitare, 2004

Similar Posts