This shows you the differences between two versions of the page.
pm:prj2024:fstancu:nicoleta_nina.basoc [2024/05/04 23:16] nicoleta_nina.basoc * |
pm:prj2024:fstancu:nicoleta_nina.basoc [2024/05/27 09:01] (current) nicoleta_nina.basoc |
||
---|---|---|---|
Line 3: | Line 3: | ||
- | Proiectul constă în creearea/asamblarea unei mașini cu 4 roți care poate merge liber în spașiu și evită obstacolele dacă le întâlnește. Totodată, acesta semnalează cu ajutorul a 3 leduri direcția ce urmează sa o ia pentru a evita coliziunea cu obiectele. | + | Proiectul constă în creearea/asamblarea unei mașini cu 4 roți care poate merge liber în spatiu și evită obstacolele dacă le întâlnește. Totodată, acesta semnalează cu ajutorul a 1 led direcția ce urmează sa o ia pentru a evita coliziunea cu obiectele. |
===== Descriere generală ===== | ===== Descriere generală ===== | ||
+ | Ideea din spatele acestui proiect este de a folosi o placuță Arduino UNO cu un ATMEGA 328P pentru a pune în funcțiune o mașină. Folosind senzorul ultrasonor aceasta va detecta dacă există obstacole în fața ei . De asemeana motoarele rotilor vor fi ghidate de un motor driver. Mașinuța va fi alimentată de baterii și va folosi un modul de coborâre de tensiune în funcție de ce input/output de curent am nevoie. Apropierea de obstacole va fi semnalata de ledul care va pulsa. | ||
- | <note tip> | + | {{:pm:prj2024:fstancu:image_2024-05-05_000008175.png?400|}} |
- | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | |
- | + | ||
- | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | |
- | </note> | + | |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 17: | Line 14: | ||
Componente hardware: | Componente hardware: | ||
- | * ARDUINO UNO R3 | + | * ARDUINO UNO R3 - programarea interactiunii perifericelor si modul lor de actionare |
- | * SENZOR ULTRASONIC HC-SR04 | + | * SENZOR ULTRASONIC HC-SR04 - detectarea obstacolelor |
- | * L298N Punte H dubla (dual H-bridge) motor DC/stepper | + | * L298N Punte H dubla (dual H-bridge) motor DC/stepper - controlul motoarelor |
- | * MOTOR SERVO | + | * Switch - pornirea/oprirea masinutei |
- | * Switch | + | * Led RGB - semnalizarea apropierii de obstacol |
- | * Leduri RGB | + | * Suport baterii 4x AA - alimentare |
- | * Suport baterii 4x AA | + | * Modul coborâre tensiune LM2596 - reglarea tensiunii in functie de inputul bateriilor |
- | * Modul coborâre tensiune LM2596 | + | * PCB - unirea unor componente |
- | * PCB | + | * Fire - unirea unor componente |
- | * Fire | + | Pins: |
+ | * In aceasta schema am reprezentat conectarea pinilor si interactiunea modulelor. | ||
+ | * La Arduino Uno - pin 5-10 - sunt folosite pentru controlul bridge-ului, cu ajutorul carora voi trimite semnale pentru a efectua miscari stanga/dreapta, inainte, inapoi. Am 4 motoare, sunt conectate la bridge in asa fel incat cele 2 motoare din stanga si dreapta sa se invarta in aceeasi directie. Pinul A2-A3 - le folosesc pentru comunicarea cu senzorul ultrasonic. Pinul de GND si VCC al senzorului sunt conectate la 5V output si GND al Arduino. | ||
+ | * Modulul de coborare tensiune - inputul de "+" este conectat printr-un switch la "+" alimentarii, totodata il conectez la bridge pentru a alimenta motoarele la pinul care suporta mai mult de 5V, inputul de "-" este conectat la GND al aliemntarii. Outputul este conectat la Vin al Arduino si GND la GND pt Arduino dar si GND bridge. | ||
+ | * Ledul are catodul conectat la GND general, iar anodul este conectat intr-o rezistenta de 330 ohm la pinul 3 (pentru a putea folosi pwm). | ||
+ | * Alimentarea (baterii) are un output de 6V. Putem adauga baterii atat cat suporta modulul de coborare tensiune avand in vedere si suportul maxim pentru bridge. | ||
+ | *{{:pm:prj2024:fstancu:circuit_pm_final.png?700|}} | ||
+ | *{{:pm:prj2024:fstancu:photo_2024-05-18_14-57-39.jpg?300|}} | ||
+ | *{{:pm:prj2024:fstancu:photo_2024-05-18_14-58-12.jpg?300|}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | <note tip> | ||
Descrierea codului aplicaţiei (firmware): | Descrierea codului aplicaţiei (firmware): | ||
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * mediu de dezvoltare - Arduino IDE |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
* algoritmi şi structuri pe care plănuiţi să le implementaţi | * algoritmi şi structuri pe care plănuiţi să le implementaţi | ||
- | * (etapa 3) surse şi funcţii implementate | + | * --> state machine cu stari de genul merge-inainte , merge- inapoi, roteste-dreapta, roteste-stanga |
- | </note> | + | * verifica daca in stanga sau in dreapta are distanta mai mare pentru a merge inainte si se duce in directia respectiva |
+ | * se bazeaza pe inputul dat la pinii pentru motoare (high/low) | ||
+ | * led- implementare pwm pentru a pulsa cand efectueaza unele manevre | ||
+ | * am implementat o intrerupere pentru a face ledul sa pulseze | ||
+ | * folosesc uart pentru comunicarea cu pinii | ||
+ | https://github.com/basocnicoletanina/PM-masinuta-roomba-fara-aspirare | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
+ | In primul rand am intampinat dificultati la nivel de alimentare - idee initiala a fost sa folosesc 4 baterii alkaline , ceea ce aparent nu a fost o idee buna aka suficient si nu am putut face rost de baterii Li-ion , deci am venit cu rezolutia de a uni inca doua baterii in serie , iar modulul de coborare de tensiune nu regla tensiunea (probabil era stricat sau l-am stricat eu incercand sa o reglez), deci nu l-am mai integrat in circuit. Plus la acest lucru primul senzor era stricat deci a trebuit sa folosesc un altul care nu imi da valori eronate, dar overall l-am facut sa lucreze | ||
+ | Respectiv actual schema arata cam asa: | ||
+ | {{:pm:prj2024:fstancu:circuit_pm_final_1.png?700|}} | ||
+ | Robotelul aratand asa : | ||
- | <note tip> | + | {{:pm:prj2024:fstancu:bumblebee.jpg?500|}} |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Mi-a placut sa lucrez la proiect dat fiind faptul ca m-am invatat sa lipesc si am inteles mai bien cum se integreaza hardware niste componente. Totodata chiar si codul a fost unul ceva mai challenging decat m-am asteptat dar mi-a placut sa ma joc cu el , si cred ca cel mai important lucru e ca mi-a starnit curiozitatea pentru astfel de idei. | ||
===== Download ===== | ===== Download ===== | ||
Line 55: | Line 65: | ||
</note> | </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> | + | https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | https://docs.arduino.cc/hardware/uno-rev3/ |
- | </note> | + | https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/ |
<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> | ||