This is an old revision of the document!
Self Parking Robot
Introducere
Robotul propus este un robot controlat prin telecomanda cu posibilitatea de a executa manevre de parcare(laterala, cu fata sau cu spatele).
Scopul lui este atat de invatare pentru mine, dar si de a demonstra anumite mecanisme necesare masinilor autonome.
Ideea mi-a venit intr-o seara cand ma gandeam la posibile idei de proiecte. Nu am avut un motiv ulterior in spate pentru tema asta, doar mi s-a parut o idee interesanta si provocatoare din punct de vedere tehnic.
Acest proiect este o posibilitate foarte buna de invatare.
Descriere generală
Robotul este controlat folosind o telecomanda cu infra-rosu, acest semanl este procesat de un Arduino UNO, care trimite un semnal catre driverul de motoare care controleaza motoarele DC. La primirea unei anumite comenzi, microcontroller-ul incepe executia manevrei de parcare. Prima data cauta un loc potrivit(merge in fata pana da de un spatiu gol) se positioneaza conform algoritmului manevrei pentru care a primit comanda si incepe sa o execute pana ajunge la o distanta potrivita de marginile zonei delimitate. In timpul manevrei robotul nu mai poate primi alta comanda
Hardware Design
Piese necesare
Arduino UNO - microcontroler
Driver motoare - pentru a putea controla motoarele
Motoare DC - pentru deplasare
Senzori de distanta HC-SR04 - pentru a detecta obstacole sau puncte de referinta pentru parcare
Senzor infrarosu - pentru control de la distanta
Telecomanda
Suport baetrii 6V - pentru curentul catre driver
Pin out
PD0, PD1 - senzor ultrasonice fata, e convenabil dpdv al firelor
PD2, PD4 - senzor ultrasonice lateral, e convenabil dpdv al firelor
PD11, PD12 - senzor ultrasonice spate, e convenabil dpdv al firelor
PD13 - senzor infrarosu, e convenabil pentru fire
PD3, PD5 - motor A, pentru ca sunt pini cu PWM si sunt convenabili ca pozitionare
PD6, PD9 - motor b, pentru ca sunt pini cu PWM si sunt convenabili ca pozitionare
Schema electrica
Software Design
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
Prezentarea uneltelor folosite
mediul de dezvoltare: PlatformIO(folosit initial) & Arduino IDE(folosit ulterior pentru facilizarea utilizarii IRremote)
pentru implementare am folosit libraria IRremote pentru controlul receiverului de infrarosu pentru a nu implementa protocolul NEC si Arduino.h pentru afisat pe seriala in general
Detalii de implementare
Rezultate Obţinute
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
Concluzii
Download
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.
Jurnal
Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Export to PDF