Sunteți pe pagina 1din 20

Universitatea Petru Maior Profil Calculatoare, Anul II

Motto:

Ce fac pentru mine se sfarseste odata cu mine, ce fac pentru lume se sfarseste odata cu lumea
Lates Emilian Hirlav Adriana Turcanu Gheorghe Dumitru Gabriel

Indrumator: Sef Lucr. Dr. Ing. Gligor Adrian

Cuprins:
Scopul lucrarii II. Descriere robot
I. 1. Schema bloc (desen) 2. Descrie componente Hardware 3. Descriere componente Software

III.

Dezvoltare robot
1. Comunicare in timp real om-masina 2. Optimizarea deplasarii (senzori) 3. Traversare trasee dificile

I. Scopul lucrarii

Urmarirea unui traseu definit de algoritmi informatici. Cu ajutorul acestor algoritmi si a nodului de sosire ( citit de la tastatura ), masinuta va fi capabila sa ajunga pe cel mai scurt drum in nodul dorit.

II. Descriere robot


1. Schema bloc (Hardware)

II. Descriere robot


1. Schema bloc (Software)

II. Descriere robot


2. Descrie componente Hardware

a.Arduino b. Punte H c. Sensor QR-113 d. Cutie viteze Futaba e. Sasiu f. Angrenaj( Deplasare pe baza de senile)

II. Descriere robot


2. Descrie componente Hardware a. Arduino

Arduino UNO este o platforma de procesare open-source, bazata pe software si hardware flexibil si simplu de folosit. Consta intr-o platforma de mici dimensiuni (6.8 cm / 5.3 cm in cea mai des intalnita varianta) construita in jurul unui procesor de semnal si este capabila de a prelua date din mediul inconjurator printr-o serie de senzori si de a efectua actiuni asupra mediului prin intermediul luminilor, motoarelor, servomotoare, si alte tipuri de dispozitive mecanice. Procesorul este capabil sa ruleze cod scris intr-un limbaj de programare care este foarte similar cu limbajul C++.

II. Descriere robot


2. Descriere componente Hardware b. Punte H
Bazat pe circuitul L298N, acest driver de motoare poate comanda 2 motoare de curent continuu, curent maxim 2 amperi. Driverul este complet asamblat sub forma unui shield Arduino, facilitand astfel utilizarea simpla. Conectarea la Arduino se face cupland placa shield peste placa Arduino si conectand pinii marcati VIN si GND la sursa de alimentare pentru motoare. Pinii PWM care controleaza driver-ul L298 sunt 3, 5, 6 si 9 (vedeti si programul de test de mai jos). Cele doua motoare se conecteaza in pinii cu surub marcati "MOTOR1" si "MOTOR2", iar alimentarea pentru motoare se conecteaza la pinii cu surub marcati "VIN" si "GND".

II. Descriere robot


2. Descriere componente Hardware c. Sensor QR-113
Senzorul este format din doua componente : un led IR si un fototranzistor sensibil la IR . Cand aplicati 5V pe pinul VCC si GND led-ul IR va transmite o lumina infrarosie. In serie cu led-ul IR este plasata o rezistenta de 100Ohm pentru a limita curentul. O rezistenta de 10kOhm pune pinul de output pe HIGHT, dar cand lumina emisa de led-ul IR este reflectata inapoi in fotorezistor pinul de output coboara catre LOW. Cu cat fototranzistorul primeste mai multa lumina cu atat scade tensiune pe pinul de output .

II. Descriere robot 2. Descriere componente hardware


d. Cutie de viteze Futaba
Aceasta cutie de viteza dubla ofera o solutie excelenta pentru a construi rapid robotul tau. Cutia de viteze are incluse doua motoare si angrenajele necesare pentru doua roti motoare. Rotile sunt rotite independent una de alta, atat in fata cat si in spate. Cutia de viteze poate fi deasemenea configurata pentru doua viteze diferite). Produsul include tot ceea ce este necesar : rotile dintate, carcasa, motoare, vaselina si cheie pentru montaj. Ofera 58:1 si 203:1 ca rapoarte de tranfer. Motoarele functioneaza intre 3 si 6 V.

II. Descriere robot


2. Descriere componente hardware

e. Sasiu
Acest set include o placuta de plastic cu un grilaj de 60x160 mm format din gauri de 3 mm cu spatii de 5 mm intre ele, spatiu pentru multe conexiuni mecanice. Cele doua brate unghiulare cu opt gauri pot conecta placuta la alte placute universale sau pot deservi ca punct de montare pentru un ax. Placuta include si doi suporti de arbore pentru a sustine un ax. Kit-ul furnizeaza zece suruburi si zece piulite pentru conectarea bratelor unghiulare si suportilor de arbore pe placuta.

II. Descriere robot


2. Descriere componente Hardware

f. Angrenaj ( deplasare pe baza de senile )

Acest set de senile ofera tot ceea ce este necesar pentru a va crea propriul dvs. vehicul tip tanc. Setul contine atat senilele din cauciuc, cat si rotile si axele pentru montaj. Functioneaza excelent cu cutia dubla de viteza Tamiya. Un set contine : - 2 senile - 2 roti mari motoare - 2 roti mari de ghidaj - 6 roti mici de ghidaj - 10 roti mici de ghidaj - axe din metal pentru montaj

II. Descriere robot


2. Descriere componente Hardware

II. Descriere robot


3. Descriere componente Software

a. Harta virtuala

II. Descriere robot


3. Descriere componente Software

b. Graf de drum minim


Aici am atasat doar secventa de cod care calculeaza drumul minim
void costuriMinime() { int i,x,y,m,w; for (i=1; i<=nrnoduri; i++) Cost[i] = 0x3fffffff; Cost[1] = 0; do { m = 0; for (i=0; i<nrarce; i++) { x = Arce[i].x; y = Arce[i].y; w = Cost[x] + 1; if (Cost[y]>w) { Cost[y] = w; Pred[y] = x; m++; } } } while (m>0); } int drumMinim() { int x; ldrum = 0; if (Pred[sosire]==0) { fprintf(stderr,"Nu am gasit niciun drum\n"); return 0; } x = sosire; Drum[0] = x; while (x!=1) { x = Pred[x]; ldrum++; Drum[ldrum] = x; } return 1; }

II. Descriere robot


3. Descriere componente Software

c. Program pentru urmarirea unei linii


Aici am atasat doar secventa de cod care calculeaza drumul minim
void loop() {
int valoareSenzorStanga = analogRead(0); int valoareSenzorDreapta = analogRead(1); if (valoareSenzorStanga > PRAG_NEGRU) { go(255, 0); } else if (valoareSenzorDreapta > PRAG_NEGRU) { go(0, 255); } else { go(255, 255); }

void go(int speedLeft, int speedRight) {


if (speedLeft > 0) { analogWrite(MOTOR1_PIN1, speedLeft); analogWrite(MOTOR1_PIN2, 0); } else { analogWrite(MOTOR1_PIN1, 0); analogWrite(MOTOR1_PIN2, -speedLeft); } if (speedRight > 0) { analogWrite(MOTOR2_PIN1, speedRight); analogWrite(MOTOR2_PIN2, 0); } else { analogWrite(MOTOR2_PIN1, 0); analogWrite(MOTOR2_PIN2, -speedRight); }

III. Dezvoltare robot


1. Comunicare in timp real om-masina

Comunicarea in timp real o vom realiza cu ajutorul unei placi de dezvoltare Bluetooth. Aceasta placa va lua date din natura ( lumina, sunet etc. ) si le va trimite PC-ului pentru calcul, iar apoi rezultatele vor fi trimise placii de dezvoltare Arduino.

III. Dezvoltare robot


2. Optimizarea deplasarii ( senzori )

Pentru o deplasare mai optimizata vom utiliza mai multi senzori de ghidaj, astfel ca marja de eroare a deplasarii va scadea semnificativ.

III. Dezvoltare robot


3. Traversare trasee dificile

Traversarea traseelor dificile va consta in adaugarea mai multor restrictii si reguli dupa care masinuta va trebui sa ia decizii. Exemple: semafoare, treceri de pietoni, restrictii de viteza, blocaje naturale care duc la reconfigurarea traseului.

Multumim profesorului indrumator sef lucr. dr. ing. Adrian Gligor si profesorilor: - Ioan Cozac ( programare ) - Cornel Soporan ( electronica ) - Tamas Pop ( electronica )

S-ar putea să vă placă și