Autor: Cojocaru Mihai-Vladimir
Grupa: 1220FA
Proiectul consta intr-o masina cu 4 motoare care este capabila sa identifice obstacolele din fata sa si sa le ocoleasca, pentru a evita contactul cu acestea.
Lista de componente: -Place de dezvoltare Arduino Uno R3 -Sasiu robot 4WD -4 Roti -4 Motoare 5V -Modul Driver Motoare L289N -Senzor Cu Ultrasunete HC-SR04 -13 Cabluri De Conectare (10 mama-tata, 3 tata-tata) -Suport De 4 Baterii AA
* #include <NewPing.h> → pentru senzorul cu ultrasunete
Etape: -21/04/2022: Incarcarea primului Milestone -27/04/2022: Asamblarea proiectului -28/04/2022: Crearea codului -26/05/2022: Finalizare proiect: filmat, fotografiat, documentatie.
#include <NewPing.h>
const int RF = 6; const int RB = 7; const int LF = 5; const int LB = 4;
#define trig 12 #define echo 13
#define max_dist 200 boolean check = false; int dist = 100;
NewPing sonar(trig, echo, max_dist);
void setup(){
pinMode(LF, OUTPUT); pinMode(RF, OUTPUT); pinMode(RB, OUTPUT); pinMode(LB, OUTPUT); dist = readPing(); delay(100);
}
void loop(){
moveForward(); if (dist <= 35){ moveStop(); delay(300); moveBackward(); delay(700); moveStop(); delay(300); int distance = look();
if (dist >= distance){ turnRight(); moveStop(); } else{ moveForward(); }
}
dist = readPing();
}
int look(){
int distance = readPing(); delay(100); return distance; delay(100);
}
int readPing(){
delay(70); int cm = sonar.ping_cm(); if (cm==0){ cm=250; } return cm;
}
void moveStop(){
digitalWrite(LF, LOW); digitalWrite(RF, LOW); digitalWrite(LB, LOW); digitalWrite(RB, LOW);
}
void moveForward(){
if(!check){
check=true; digitalWrite(RF, HIGH); digitalWrite(LF, HIGH); digitalWrite(LB, LOW); digitalWrite(RB, LOW); }
}
void moveBackward(){
check=false;
digitalWrite(RF, LOW); digitalWrite(LF, LOW); digitalWrite(LB, HIGH); digitalWrite(RB, HIGH);
}
void turnRight(){
digitalWrite(RF, HIGH); digitalWrite(LB, HIGH); digitalWrite(RB, LOW); digitalWrite(LF, LOW); delay(500); digitalWrite(LF, HIGH); digitalWrite(RF, HIGH); digitalWrite(LB, LOW); digitalWrite(RB, LOW);
}
Chiar daca proiectul pe care l-am ales nu este unul dificil pot spune ca am avut ce invata din acest proiect. Am invatat cum sa folosesc driverul L298N cu ajutorul unor videoclipuri de pe Youtube in care se faceau proiecte asemanatoare cu ale mele.