Table of Contents

Mașinuță Roomba (fără aspirare)

Introducere

Proiectul constă în creearea/asamblarea unei mașini cu 4 roți care poate merge liber în spatiu și evită obstacolele dacă le întâlnește. Totodată, acesta semnalează cu ajutorul a 1 led direcția ce urmează sa o ia pentru a evita coliziunea cu obiectele.

Descriere generală

Ideea din spatele acestui proiect este de a folosi o placuță Arduino UNO cu un ATMEGA 328P pentru a pune în funcțiune o mașină. Folosind senzorul ultrasonor aceasta va detecta dacă există obstacole în fața ei . De asemeana motoarele rotilor vor fi ghidate de un motor driver. Mașinuța va fi alimentată de baterii și va folosi un modul de coborâre de tensiune în funcție de ce input/output de curent am nevoie. Apropierea de obstacole va fi semnalata de ledul care va pulsa.

Hardware Design

Componente hardware:

Pins:

Software Design

Descrierea codului aplicaţiei (firmware):

https://github.com/basocnicoletanina/PM-masinuta-roomba-fara-aspirare

Rezultate Obţinute

In primul rand am intampinat dificultati la nivel de alimentare - idee initiala a fost sa folosesc 4 baterii alkaline , ceea ce aparent nu a fost o idee buna aka suficient si nu am putut face rost de baterii Li-ion , deci am venit cu rezolutia de a uni inca doua baterii in serie , iar modulul de coborare de tensiune nu regla tensiunea (probabil era stricat sau l-am stricat eu incercand sa o reglez), deci nu l-am mai integrat in circuit. Plus la acest lucru primul senzor era stricat deci a trebuit sa folosesc un altul care nu imi da valori eronate, dar overall l-am facut sa lucreze Respectiv actual schema arata cam asa: Robotelul aratand asa :

Concluzii

Mi-a placut sa lucrez la proiect dat fiind faptul ca m-am invatat sa lipesc si am inteles mai bien cum se integreaza hardware niste componente. Totodata chiar si codul a fost unul ceva mai challenging decat m-am asteptat dar mi-a placut sa ma joc cu el , si cred ca cel mai important lucru e ca mi-a starnit curiozitatea pentru astfel de idei.

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.

Bibliografie/Resurse

https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf https://docs.arduino.cc/hardware/uno-rev3/ https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/

Export to PDF