Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2025:iotelea:elena.maholea [2025/05/28 01:03]
elena.maholea
pm:prj2025:iotelea:elena.maholea [2025/05/28 03:11] (current)
elena.maholea
Line 20: Line 20:
  
  
-{{ :​pm:​prj2025:​iotelea:​diagrama_alexiam.png?400 | Diagrama Smart Vacuum Cleaner }}+{{ :​pm:​prj2025:​iotelea:​diagrama_alexiamah.png?400 | Diagrama Smart Vacuum Cleaner }}
  
  
Line 40: Line 40:
 | Suport pentru baterie | -                    | 1         | | Suport pentru baterie | -                    | 1         |
 | Fire jumper ​        | -   | -         | | Fire jumper ​        | -   | -         |
-| Senzor de vibrații ​    ​| ​SW-420 ​                          | 1         |+| Senzor de vibrații ​    ​| ​Senzor de vibratii ceramic ​                          | 1         |
 | LED                    | LED 5mm albastru (pentru semnalizare) ​                  | 1         | | LED                    | LED 5mm albastru (pentru semnalizare) ​                  | 1         |
  
-{{ :​pm:​prj2025:​iotelea:​alexiam_pm2.png?800 | Diagrama ​Smart Vacuum Cleaner }}+{{ :​pm:​prj2025:​iotelea:​schematicfinal2.png?800 | Schematic ​Smart Vacuum Cleaner }}
  
  
Line 184: Line 184:
 ==== • Librării și funcții utilizate ==== ==== • Librării și funcții utilizate ====
  
-  * pinMode(), digitalWrite(),​ analogRead(),​ analogWrite() – pentru controlul părților hardware+  * pinMode(), digitalWrite(),​ analogRead(),​ analogWrite() – pentru ​configurarea și controlul părților hardware: motoare, LED, senzor de vibrații, ventilator.
  
-  * pulseIn() – pentru măsurarea impulsurilor de la senzorul ultrasonic+  * pulseIn() – pentru măsurarea ​duratei ​impulsurilor de la senzorul ultrasonic ​HC-SR04, folosită în calculul distanței față de obstacole.
  
-  * millis() – pentru temporizarea aprinderii LED-ului+  * millis() – pentru temporizarea aprinderii LED-ului ​fără blocarea execuției (spre deosebire de delay()). 
 + 
 +  * Serial.begin(),​ Serial.print(),​ Serial.println() – pentru inițializarea și trimiterea de mesaje în consola serială, utile pentru debugging și afișarea distanței și vibrațiilor detectate. 
 + 
 +  * delayMicroseconds() – pentru generarea impulsurilor precise necesare funcționării corecte a senzorului ultrasonic. 
 + 
 +  * delay() – folosit în timpul întoarcerii robotului pentru a permite o rotație controlată (ex: delay(1100) în cazul obstacolelor).
  
-  * Serial.begin(),​ Serial.println() – pentru mesaje de debugging în consolă 
  
 ==== • Mediu de dezvoltare ==== ==== • Mediu de dezvoltare ====
Line 203: Line 208:
   * `Serial.begin()`,​ `Serial.println()` – pentru mesaje de stare și debugging în consolă   * `Serial.begin()`,​ `Serial.println()` – pentru mesaje de stare și debugging în consolă
   * `pinMode()`,​ `digitalWrite()`,​ `analogRead()` – pentru configurarea și controlul părților hardware   * `pinMode()`,​ `digitalWrite()`,​ `analogRead()` – pentru configurarea și controlul părților hardware
- 
- 
-<note tip> 
-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 
-</​note>​ 
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
Line 219: Line 215:
 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. 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.
  
-[[https://​drive.google.com/​drive/u/2/my-drive ​| Smart Vacuum Cleaner DEMO]]+[[https://​drive.google.com/​file/d/1Wte0fMdgGPsbugWVTxkHbJ1yJlkrOVbb/view?​usp=sharing ​| Smart Vacuum Cleaner DEMO]]
  
 ===== Concluzii ===== ===== Concluzii =====
 +
 +Proiectul **Smart Vacuum Cleaner** a reprezentat o experiență practică valoroasă în integrarea componentelor electronice și programarea lor cu ajutorul platformei Arduino. Am reușit să construiesc un **robot funcțional** care poate **detecta obstacole**,​ **se deplasează autonom** și **semnalează aspirarea obiectelor** printr-un LED de avertizare.
 +
 +Implementarea controlului vitezei motoarelor prin pinii **PWM** a îmbunătățit controlul mișcării, iar integrarea **senzorului de vibrații** a adăugat un plus de funcționalitate practică. Am înțeles mai bine importanța gestionării resurselor hardware și a debug-ului serial în **proiecte embedded**.
 +
 +Proiectul poate fi extins în viitor prin adăugarea unui **sistem de mapare a spațiului**,​ **control prin aplicație mobilă** sau chiar utilizarea unor senzori suplimentari pentru o **navigație mai inteligentă**.
 +
 +===== Jurnal =====
 +
 +^ Data ^ Activitate desfășurată ^
 +| 08.05.2025 | Alegerea temei proiectului – „Smart Vacuum Cleaner” și definirea funcționalităților de bază. |
 +| 10.05.2025 | Comandarea componentelor electronice:​ Arduino UNO, senzor ultrasonic, motoare, driver L298N, senzor vibrații, ventilator, MOSFET, LED-uri și fire jumper. |
 +| 13.05.2025 | Schițarea diagramei hardware și testarea separată a senzorului ultrasonic și a senzorului de vibrații. |
 +| 15.05.2025 | Montarea pe breadboard a componentelor principale și testarea individuală a motoarelor DC cu driverul L298N. |
 +| 17.05.2025 | Configurarea MOSFET-ului pentru controlul ventilatorului și testarea ventilatorului la 12V. |
 +| 20.05.2025 | Implementarea funcției de evitare obstacole și a logicii pentru aprinderea LED-ului în caz de vibrații. |
 +| 22.05.2025 | Integrarea tuturor modulelor într-un singur sketch și optimizarea vitezei motoarelor cu PWM. |
 +| 25.05.2025 | Realizarea primei versiuni de montaj final – fixarea componentelor pe suport, cablare permanentă (lipire). |
 +| 26.05.2025 | Testare finală în condiții reale – verificarea comportamentului robotului pe suprafață plană și în jurul obstacolelor. |
  
 ===== Arhivă ===== ===== Arhivă =====
 +
 +Pentru descărcare:​ {{:​pm:​prj2025:​iotelea:​alexia-maholea_333cd_smart-vacuum2.zip|}}
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
Line 251: Line 268:
   * [[https://​components101.com/​transistor/​irf520-mosfet|IRF520 MOSFET Datasheet]] – pentru controlul ventilatorului de 12V.   * [[https://​components101.com/​transistor/​irf520-mosfet|IRF520 MOSFET Datasheet]] – pentru controlul ventilatorului de 12V.
  
-  * [[https://​components101.com/​sensors/​sw-420-vibration-sensor-module|SW-420 ​Vibration Sensor Datasheet]] – documentație pentru senzorul piezoelectric de vibrații.+  * [[https://​components101.com/​sensors/​piezoelectric-sensor|Piezoelectric ​Vibration Sensor Datasheet]] – documentație pentru senzorul piezoelectric de vibrații.
  
   * [[https://​components101.com/​resistor|Resistor – Components101]] – informații despre utilizarea rezistorilor (ex: cu LED).   * [[https://​components101.com/​resistor|Resistor – Components101]] – informații despre utilizarea rezistorilor (ex: cu LED).
  
  
pm/prj2025/iotelea/elena.maholea.1748383430.txt.gz · Last modified: 2025/05/28 01:03 by elena.maholea
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