This is an old revision of the document!
Mi-am ales ca tema pentru proiect un robot care are ca scop urmarirea unui traseu definit de o banda de culoare neagra pe un fundal alb. Inspiratia pentru acest proiect a fost conturata de trenurile care se conduc singure, care m-au facut curioasa sa incerc si eu sa fac ceva asemanator, la nivel minimalist, pentru a intelege mai bine procesul din spate. Acest proiect este util in dezvoltarea autovehiculelor self-driving.
Piesele necesare pentru realizarea proiectului sunt:
Schema de legătură
Mediu de dezvoltare folosit: Arduino IDE
int SensorLeft = 1;
int SensorRight = 0;
int enR = 11;
int in1R = 10;
int in2R = 9;
int in3L = 7;
int in4L = 6;
int enL = 5;
int speed = 255;
void setup() {
pinMode(SensorLeft, INPUT);
pinMode(SensorRight, INPUT);
pinMode(enR, OUTPUT);
pinMode(enL, OUTPUT);
pinMode(in1R, OUTPUT);
pinMode(in2R, OUTPUT);
pinMode(in3L, OUTPUT);
pinMode(in4L, OUTPUT);
Serial.begin(9600);
}
void loop() {
int readSensorRight = analogRead(SensorRight) < 300 ? 1 : 0;
int readSensorLeft = analogRead(SensorLeft) < 300 ? 1 : 0;
if(readSensorRight == 0 && readSensorLeft == 0) {forward();}
if(readSensorRight == 1 && readSensorLeft == 0) {right();}
if(readSensorRight == 0 && readSensorLeft == 1) {left();}
if(readSensorRight == 1 && readSensorLeft == 1) {stop();}
}
void forward() {
digitalWrite(in1R, LOW);
digitalWrite(in2R, HIGH);
analogWrite(enR, speed);
digitalWrite(in3L, LOW);
digitalWrite(in4L, HIGH);
analogWrite(enL, speed);
}
void right() {
digitalWrite(in1R, LOW);
digitalWrite(in2R, HIGH);
analogWrite(enR, speed);
digitalWrite(in3L, LOW);
digitalWrite(in4L, LOW);
analogWrite(enL, LOW);
}
void left() {
digitalWrite(in1R, LOW);
digitalWrite(in2R, LOW);
analogWrite(enR, LOW);
digitalWrite(in3L, LOW);
digitalWrite(in4L, HIGH);
analogWrite(enL, speed);
}
void stop() {
digitalWrite(in1R, LOW);
digitalWrite(in2R, LOW);
analogWrite(enR, LOW);
digitalWrite(in3L, LOW);
digitalWrite(in4L, LOW);
analogWrite(enL, LOW);
}
Masina urmeaza linia conform cerintelor, facand virajele necesare.
A fost mai greu decat pare
. Mi-a luat cateva ore bune sa-mi dau seama ce gresesc deoarece mi se tot reseta placuta la cateva secunde. Pana la urma l-am luat de la zero pentru a treia oara si doamne ajuta a mers
. In concluzie, a fost greu, dar am invatat mai bine conceptele necesare deoarece le-am pus in practica, fixand informatia.