This is an old revision of the document!
Autor: Maholea Elena-Alexia
Grupa: 333CD
Github: https://github.com/alexia-maholea/Smart-Vacuum
Proiectul intitulat „Vacuum Cleaner” reprezintă realizarea unui robot autonom de curățenie, construit cu ajutorul unui microcontroler Arduino Uno și mai mulți senzori. Robotul este capabil să se deplaseze pe o suprafață plană, să evite obstacolele cu ajutorul unui senzor ultrasonic și să aspire particule mici de pe jos printr-un ventilator alimentat separat.
Scopul principal al proiectului este dezvoltarea unui sistem funcțional, accesibil ca preț și ușor de reprodus, care să automatizeze procesul de curățenie pentru spații mici sau greu accesibile. Alegerea acestui proiect a fost motivată de dorința de a crea un dispozitiv util, care să combine mai multe concepte și tehnologii pentru a rezolva o problemă reală.
Ideea a pornit de la observația că majoritatea proiectelor cu roboți mobili se limitează la evitarea obstacolelor sau la linii de urmărire, fără o funcționalitate concretă care să simuleze o sarcină reală. Prin adăugarea unui ventilator și a unui senzor de vibrații, proiectul devine mai mult decât un simplu robot de test – devine un prototip de dispozitiv util, care simulează un aspirator portabil și inteligent.
Acest robot poate fi util pentru oricine vrea să înțeleagă cum funcționează dispozitivele care fac viața mai ușoară, cum ar fi aspiratoarele robotizate sau alte gadgeturi inteligente. Pentru mine, proiectul a fost o oportunitate de a pune în practică ce am învățat la curs, să înțeleg mai bine cum se integrează diverse piese și cum pot să creez un dispozitiv care să îndeplinească o sarcină reală. Cred că experiența aceasta mă va ajuta în viitor, mai ales dacă voi dori să lucrez la proiecte care îmbunătățesc viața de zi cu zi sau în domeniul tehnologiilor inovative.
Acest sistem permite construirea unui robot de curățat autonom, care utilizează un Arduino UNO pentru a controla mai multe componente, inclusiv motoare, senzori și un ventilator pentru a aspira particulele de pe suprafețe. Robotul este echipat cu senzori de distanță pentru a detecta obstacolele și a naviga eficient prin încăpere, iar un senzor de vibrații și un LED sunt folosite pentru a semnaliza atunci când robotul trage obiecte mai mari sau mai solide de pe podea.
Acest robot de curățat autonom este util pentru a explora concepte de automatizare și control al motoarelor, interacțiunea cu senzori și gestionarea unui sistem de operare autonom, fiind o metodă practică și interesantă de a învăța cum funcționează aceste tehnologii.
Componente | Model/Cod | Cantitate |
---|---|---|
Microcontroller | Arduino UNO Rev3 | 1 |
Senzor Ultrasonic | HC-SR04 | 1 |
Driver pentru control motoare | L298N Motor Driver Module | 1 |
Ventilator | 5V DC Fan | 1 |
Motor pentru mișcare | Motor DC 3V-6V cu ax de 6mm | 2 |
Baterii | Baterie Li-Ion 18650 3.7V | 2 |
Suport pentru baterii | - | 1 |
Fire jumper | - | - |
Senzor de vibrații | SW-420 | 1 |
LED | LED 5mm alb (pentru semnalizare) | 1 |
Placa Arduino UNO este centrul de control al întregului sistem. Ea gestionează senzorii, motoarele și activarea ventilatorului și LED-ului.
Ventilatorul este alimentat la 12V și este activat printr-un MOSFET conectat la un pin digital al Arduino-ului.
Conectarea pinilor:
Pin Ventilator | Conectare |
---|---|
V+ | 12V (prin MOSFET) |
GND | GND comun |
Control MOSFET (Gate) | D10 Arduino |
Folosit pentru detecția obstacolelor din față.
Conectarea pinilor:
Pin HC-SR04 | Pin Arduino |
---|---|
VCC | 5V |
GND | GND |
Trig | D12 |
Echo | D13 |
Controlează două motoare DC pentru deplasarea robotului.
Conectarea pinilor:
Pin L298N | Pin Arduino |
---|---|
IN1 | D2 |
IN2 | D3 |
IN3 | D4 |
IN4 | D5 |
ENA | Jumper ON (activ permanent) |
ENB | Jumper ON (activ permanent) |
+12V | P+ (de la BMS) |
GND | P− comun cu Arduino și MOSFET |
Detectează obiecte solide aspirate de ventilator. Ieșirea este analogică.
Conectarea pinilor:
Pin Senzor Piezo | Pin Arduino |
---|---|
S (semnal) | A2 |
+ (VCC) | 5V |
– (GND) | GND |
Se aprinde când senzorul detectează vibrații puternice (ex: hârtie sau obiect).
Conectarea pinilor:
Pin LED | Pin Arduino |
---|---|
+ (anod) | A1 |
– (catod) | GND (prin rezistor) |
Pornește/oprește robotul printr-un pin analogic configurat cu INPUT_PULLUP.
Conectarea pinilor:
Pin Switch | Pin Arduino |
---|---|
L1 | A0 |
L2 | GND |
Se configurează toți pinii: motoare, senzor ultrasonic, ventilator, LED, senzor de vibrații și comutatorul.
Se afișează un mesaj în consola serială că robotul așteaptă pornirea.
Când comutatorul este apăsat (LOW cu INPUT_PULLUP), se activează logica principală:
Pornește ventilatorul (pin D10)
Se citește senzorul de vibrații (A2)
Dacă se detectează o valoare peste prag, LED-ul (A1) se aprinde pentru 1.5 secunde
Se trimite un impuls cu Trig (D12) și se citește ecoul cu Echo (D13)
Dacă nu sunt obstacole (distanța > 25cm): robotul merge înainte (IN1–IN4: D2–D5)
Dacă este obstacol: robotul se rotește pentru a ocoli
Când comutatorul este dezactivat (HIGH):
Se opresc motoarele, LED-ul și ventilatorul
Se afișează în consolă „Switch OFF”
Proiectul demonstrează cu succes integrarea mai multor componente hardware și controlul acestora într-un mod coerent și funcțional. Robotul poate fi extins cu funcționalități suplimentare precum mapare, colectare praf reală sau control prin aplicații mobile.
Pe lângă realizarea unui robot funcțional, proiectul a consolidat cunoștințele despre integrarea componentelor electronice și controlul lor logic. A reprezentat un exemplu practic de aplicare a noțiunilor teoretice studiate la curs.
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.