This is an old revision of the document!


Explorobot

Introducere

Explorobot este un robot complet autonom, care reuseste singur, fara asistenta unui om, sa exploreze spatiul din jurul sau fara a se lovi de obstacolele care ar putea sa ii blocheze calea.Scopul acestui robotel este sa fie capabil sa se adapteze la diverse scenarii de drum, evitand obstacolele cu usurinta fara interventia umana.Ideea de la care am pornit era una simplista, de a crea un vehicul care evita obstacolele.Insa, pentru a exista mai multe functionalitati si pentru a creste fiabilitatea produsului, Explorobot pune accentul si pe interactivitatea si accesibilitatea dintre robotel si om, pentru a oferi o experienta cat mai placuta in utilizarea sa.Astfel, produsul poate fi util atat pentru mine, cat si pentru cei din jurul meu, deoarece poate fi dezvoltat pe nevoile fiecaruia.

Descriere generală

Explorobot este un robot autonom coneput pentru a explora mediul inconjurator fara interventia umana.Echipat cu senzori si tehnologie de control, acest robot poate detecta si evita obstacolle din calea sa.Utilizand Arduino UNO ca unitate centrala de control, senzori ultrasonici si motoare pentru propulsie, Explorobot poate naviga prin medii variate, permitand utilizatorului sa observe sau sa interactioneze cu mediul incojurator prin intermediul modulului Bluetooth.

Hardware Design

Piese folosite:

  • Plaza dezvoltare Uno R3 ATmega328P
  • Modul driver L298N
  • Doua carcase cu suport pentru 4 baterii (1,5V fiecare)
  • Bateria 9V
  • Fire
  • Breadboard
  • Seznor ultrasonic HC-SR04
  • Modul Bluetooth HC-05
  • Micro servo motor SG90
  • 2 motoare 3-6V DC cu roti
  • Regulator de tensiune LM2596
  • Rezistente\
  • Ecran OLED

Aici puneţi tot ce ţine de hardware design:

Software Design

Descriere: Robotul asteapta sa fie pornit dupa conectarea modului bluetooth la telefon, printr-o aplicatie care ii transmite ca poate porni.Dupa aceea, robotul isi incepe procesul autonom de a merge si a ocoli obstacolele, cu ajutorul senzorului de distanta si a servo motorului care ii permite senzorului de distanta sa analizeze imprejurimile.

Biblioteci folosite:

  • 'Servo.h'.Am folosit aceasta bilioteca pentru controlul precis al servo-motorului,deoarece miscarea acestuia la unghiuri specifice permite senzorului ultrasonic sa gaseasca mai multe date despre obstacole.
  • 'SoftwareSerial.h'.Am folosit aceasta biblioteca pentru a crea interfata seriala suplimentara pentru modulul Bluetooth HC-05, astfel putand folosi pini digitali.

Mediu de dezvoltare: Arduino IDE

Link video:

https://youtube.com/shorts/ZvYVPEI_7ec?feature=share

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Rezultatul este cel dorit.Robotelul reuseste sa mentina conexiunea bluetooth cu aplicatia de pe telefon, fiind disponibila comunicarea.Robotelul porneste din aplicatie, iar dupa reuseste sa evite singur obstacolele care ii sunt in cale si se plimba autonom.

Concluzii

Din punct de vedere software, totul a mers destul de bine si de intuitiv, insa partea de hardware a venit la pachet cu cateva provocari.In principal, acesta au aparut in momentul incercarii montarii modului Bluetooth care parea ca nu mentine conexiunea cu telefonul.Problema era ca HC-05 are nevoie de tesniune stabila de 5V pentru a functiona cum trebuie, iar placuta Arduino nu reusea sa genereze acest voltaj, avand la aceasta conectate atat servo-motorul, cat si senzorul ultrasonic.Astfel, prin adaugarea unui nou set de baterii, unui regulator de tensiune si a unui divizor de tensiune,conexiunea bluetooth ramanea stabila.In plus, pozitionarea componentelor hardware a fost un aspect important, pentru a evita dezechilibrul robotelului, lucru ce ar fi putut avea un impact si asupra puterii motoarelor.

In concluzie, desi proiectul mi-a pus cateva probleme, am reusit sa le rezolv si sa ajung la un produs final functional, atingand toate punctele dorite.

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

pm/prj2024/aungureanu/delia_ioana.craciun.1716539310.txt.gz · Last modified: 2024/05/24 11:28 by delia_ioana.craciun
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0