This shows you the differences between two versions of the page.
pm:prj2024:sseverin:ioan.sturzoiu [2024/04/28 22:46] ioan.sturzoiu [Descriere generală] |
pm:prj2024:sseverin:ioan.sturzoiu [2024/05/27 14:50] (current) ioan.sturzoiu [Download] |
||
---|---|---|---|
Line 7: | Line 7: | ||
Robotul se va deplasa pe 4 roti. Senzorul ultrasonic de distanta primeste in permanenta informatii si le analizeaza. Cand este suficient de aproape de un obstacol, se roteste. Astfel, parcurge diferite zone din camera in care se afla si masoara constant umiditatea. Daca nu se incadreaza in standardul setat, activeaza un water diffuser pentru a creste nivelul. | Robotul se va deplasa pe 4 roti. Senzorul ultrasonic de distanta primeste in permanenta informatii si le analizeaza. Cand este suficient de aproape de un obstacol, se roteste. Astfel, parcurge diferite zone din camera in care se afla si masoara constant umiditatea. Daca nu se incadreaza in standardul setat, activeaza un water diffuser pentru a creste nivelul. | ||
- | {{:pm:prj2024:sseverin:diagram_general_pm.png?200|}} | + | {{:pm:prj2024:sseverin:diagram_general_pm.png|}} |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
+ | |||
+ | {{:pm:prj2024:sseverin:schematic_pm_teo.png?direct&width=820%|}} | ||
<note tip> | <note tip> | ||
- | Aici puneţi tot ce ţine de hardware design: | + | Piese Hardware: |
- | * listă de piese | + | * Arduino Uno |
- | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | * Sursa de alimentare |
- | * diagrame de semnal | + | * Senzor ultrasonic de distanta |
- | * rezultatele simulării | + | * Driver pentru motor |
+ | * 4 x Motoare pentru roti | ||
+ | * Servomotor | ||
+ | * Roti | ||
+ | * Senzor de umiditate | ||
+ | * Releu | ||
+ | * Diffuser | ||
+ | * Fire conectoare | ||
+ | * Breadboard | ||
</note> | </note> | ||
Line 22: | Line 32: | ||
<note tip> | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | + | Pentru dezvoltarea proiectului am folosit **Arduino IDE**. |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | Bibliotecile utilizate sunt: |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | * **NewPing.h** - pentru senzorul ultrasonic de distanță |
- | * (etapa 3) surse şi funcţii implementate | + | * **Servo.h** - pentru micro servomotor |
+ | * **dht11.h** - pentru senzorul de umiditate și temperatură | ||
</note> | </note> | ||
+ | În funcție de metoda apelată, mașina poate executa următoarele acțiuni: | ||
+ | |||
+ | * să citească distanța de la senzor - funcția **readPing()** | ||
+ | * să se deplaseze în față - funcția **moveForward()** | ||
+ | * să se deplaseze în spate - funcția **moveBackward()** | ||
+ | * să frâneze - funcția **stopMotors()** | ||
+ | * să se rotească la stânga - funcția **turnLeft()** | ||
+ | * să se rotească la dreapta - funcția **turnRight()** | ||
+ | * să evalueze și să decidă noua direcție de deplasare (dacă distanța față de obstacol e prea mică) - funcția **findNewDirection()** | ||
+ | |||
+ | În plus, am scris propriile funcții pentru mișcarea motoarelor (4 funcții) care primesc ca parametru un bool reprezentând direcția de deplasare (Clockwise sau Counterclockwise). | ||
+ | |||
+ | Întreruperea constă în verificarea umidității din cameră și pornirea diffuserului de apă când umiditatea este sub un anumit prag. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | <html> <iframe width="469" height="834" src="https://www.youtube.com/embed/Wa5JyPuGpj4" title="May 27, 2024" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> </html> |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Dupa ore de muncă, robotul își îndeplinește funcțiile de bază: | ||
+ | * evitarea obstacolelor | ||
+ | * umidificarea camerei | ||
+ | Ca experiență, mi s-a părut super interesant să fac propriul meu proiect (Hardware + Software), care să și funcționeze în final. | ||
+ | Am avut și mici momente de "panică", când nu mai mergea un motor (i-am deschis carcasa, dar aparent problema era la conectarea unui fir :-D) sau când nu funcționa senzorul de umiditate așa cum mă așteptasem. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | {{:pm:prj2024:sseverin:robot_umidificare_camera-sturzoiu.zip|}} |
- | 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**. | + | |
- | </note> | + | |
- | + | ||
- | ===== Jurnal ===== | + | |
- | + | ||
- | <note tip> | + | |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
- | </note> | + | |
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | Resursele utilizate sunt: |
+ | * [[https://www.optimusdigital.ro|Magazinul Optimus Digital]] | ||
+ | * [[https://www.youtube.com/watch?v=1n_KjpMfVT0&t=4s|Tutorial masina care evita obstacolele]] | ||
+ | * [[https://www.electronics-lab.com/project/using-sg90-servo-motor-arduino/|Tutorial Servo motor]] | ||
</note> | </note> | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||