This shows you the differences between two versions of the page.
pm:prj2023:apredescu:maze_solver [2023/05/20 23:23] andrei.bulica |
pm:prj2023:apredescu:maze_solver [2023/05/30 08:04] (current) andrei.bulica |
||
---|---|---|---|
Line 31: | Line 31: | ||
- | Arduino UNO ATMEGA328P | + | * Arduino UNO ATMEGA328P |
- | Senzori Ultrasonici HC-SR04 | + | * Senzori Ultrasonici HC-SR04 |
- | Fotorezistente | + | * Fotorezistente |
- | 2 motoare electrice | + | * 2 motoare electrice |
- | Rezistente | + | * Rezistente |
- | Baterie | + | * Baterie |
- | Un buton | + | * Un buton |
- | Led-uri | + | * Led-uri |
- | Buton | + | * Buton |
Schema Electrica: | Schema Electrica: | ||
- | {{:pm:prj2023:apredescu:pm_proiect_hardware_design.png?600|}} | + | |
+ | Design-ul circuitului: | ||
+ | |||
+ | |||
+ | |||
+ | {{:pm:prj2023:apredescu:maze_solver_design.png?700|}} | ||
+ | |||
+ | |||
+ | {{:pm:prj2023:apredescu:maze_solver_schema_electrica.png?700|}} | ||
+ | |||
===== Software Design ===== | ===== Software Design ===== | ||
+ | |||
+ | Proiectul este realizat utilizand mediul de dezvoltare Arduino IDE. | ||
+ | |||
+ | Descrierea codului aplicaţiei: | ||
+ | |||
+ | void setup() - se configureaza intreruperile hardware si citirea analogica impreuna cu calibrarea senzorilor de lumina: | ||
+ | ISR(INT0_vect): intrerupere generata la apasarea butonului PD2 pentru finalizarea procesului de calibrare a senzorilor de lumina. | ||
+ | setupADC() - configureaza citirea analogica de pe pinii PA0 si PA1 pentru fotorezistente. | ||
+ | Cat timp robotul de afla in modul de calibrare, se calculeaza minimul si maximul indicati de senzorii de lumina. | ||
+ | |||
+ | |||
+ | void loop() - se verifica nivelul de luminozitate, iar in cazul in care se depaseste un prag, vitezele motoarelor se vor seta direct proportional cu valorile citite de la senzori, urmarind astfel sursa de lumina. In acelasi timp, se calculeaza distanta indicata de fiecare senzor de proximitate (getDistLeft(), getDistMid(), getDistRight()) si in functie de acestia, robotul va evita orice obstacol. Pentru rezolvarea labirintului, robotul va vira mereu la dreapta atunci cand este posibil. | ||
- | <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 ===== | ||
+ | {{:pm:prj2023:apredescu:maze_solver_robot.jpeg?400|}} | ||
+ | |||
+ | {{:pm:prj2023:apredescu:maze_solver_view_robot_maze.jpeg?400|}} | ||
+ | |||
+ | {{:pm:prj2023:apredescu:maze_solver_viewup.jpeg?400|}} | ||
- | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | ||
- | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | ===== Download ===== | + | Acest proiect a reprezentat o oportunitate pentru a pune in aplicare cunostintele dobandite la laboratoare. Modul de abordare pentru a imbina partea hardware cu cea software si de a le folosi la o capacitate cat mai mare, m-a ajutat sa realizez cat de importanta este proiectarea atenta a proiectului inainte de implementare. |
+ | Pentru o solutie mai eficienta in rezolvarea labirintului ar fi fost necesar un sasiu mai mic/mai usor de manevrat in viraje. | ||
- | <note warning> | ||
- | 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**. | + | ===== Download ===== |
- | </note> | + | |
+ | {{:pm:prj2023:apredescu:pm_maze_solver.zip|}} | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | + | * 04.05 - Scriereaa documentatiei |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | * 21.05 - Adaugare Hardware design |
- | </note> | + | * 28.05 - Adaugare Software design |
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== |