Sojimaru

Introducere

Sojimaru este un aspirator smart care se plimba liber prin casa, evitand obstacolele folosindu-se de senzori, care poate fi controlat prin bluetooth. Senzorii ultrasonici ii permit sa calculeze distanta fata de posibile obstacole in directia de mers, iar senzorii infrarosu sunt folositi pentru ca robotul sa nu poata sa cada pe scari.

Utilitatea robotului vine prin economisirea timpului pe care l-ar petrece cineva pentru a aspira camerele din casa, timp care poate fi folosit mai productiv.

Descriere generală

In cazul in care robotul este in modul autonom, acesta se foloseste de senzorii sai pentru a stabili directia in care sa se deplaseze, evitand obstacolele. Acesta va primi comenzi de la un telefon mobil prin intermediul modulului bluetooth care foloseste UART in comunicarea cu microcontrollerul.

Hardware Design

Lista componente si utilitatea acestora:

  • Arduino UNO (ATMega328p)
  • Adafruit Motor Shield
  • 2 motoare cu reductor - actionare roti
    • conectate la M1 si M4 pe Motor Shield
  • 1 motor brushless - actionare ventilator pentru aspirare
    • conectat la ESC prin mufe banana
  • 1 ESC - control pentru motorul brushless
    • alimentat la baterii si conectat la SERVO_1(D10) la Arduino
  • 3 senzori ultrasonici - detectare de coliziuni in directia de mers
    • Trig si Echo conectate la pinii A0-A5
  • 1 senzor obstacole IR - detectare podea
    • conectat la SERVO_2(D9)
  • 1 modul bluetooth - comutare mod de functionare
    • Rx si Tx conectate la Tx si Rx din Arduino
  • fire
  • 4 baterii 18650

Software Design

Mediul de dezvoltare folosit: Arduino IDE

Librarii utilizate:

  1. Servo.h: pentru controlul ESC-ului
  2. AFMotor.h: pentru controlul celorlalte motoare
  3. NewPing.h: pentru interfata cu senzorii ultrasonici

Implementare:

Sojimaru isi face initializarile pentru motoare si senzori, iar apoi ramane in modul de repaus pana primeste o comanda prin bluetooth pentru a porni. Odata pornit, se misca autonom, evitand obstacolele folosind distantele citite de senzorii ultrasonici. Ulterior, poate primi o comanda de oprire, moment in care acesta inceteaza orice miscare.

Rezultate Obţinute

Sojimaru este un robot aproape functional:

  • se deplasează autonom evitând obstacolele folosind senzorii ultrasonici, cu mici erori de viteza.
  • senzorul IR previne căderea robotului de pe margini.
  • modulul bluetooth permite controlul robotului prin intermediul unui telefon mobil.

Lucruri care il scot in evidenta:

  • sasiu realizat integral din LEGO.
  • sisteme de prindere pentru componentele digitale.
  • posibilitati de cable management.

Functionalitati ramase de implementat:

  • functia de aspirare nu este foarte eficienta, va fi necesara o reproiectare.
  • este necesara o alimentare mai buna a robotului.

Concluzii

  • Proiectarea este un pas foarte important care poate usura ulterior munca depusa.
  • Integrarea functionalitatilor propuse s-a dovedit a fi mai costisitoare din punct de vedere al timpului decat ma asteptam.

Download

Codul sursa: sojimaru_code.zip

pm/prj2024/cpatru/alexandru.vidu.txt · Last modified: 2024/05/27 07:57 by alexandru.vidu
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