This shows you the differences between two versions of the page.
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). | ||