Posted on

Robot de urmărire SUNET folosind Arduino și modulul L298N pentru incepători

Robot de urmărire SUNET folosind Arduino și modulul L298N

Robotul de urmărire SUNET este un vehicul automat care urmareste un sunet si vireaza in directia lui.
Vom învăța cum să facem un robot folosind Arduino și modulul de driver de motor L298N si 2 senzori sunet.

SCHEMA CIRCUIT ROBOT

Pentru modulul de driver de motor L298N, motoarele sunt conectate la bornele de motor ale modulului de driver de motor.
// set motoare
int in1 = 2;
int in3 = 3;
int in2 = 4;
int in4 = 5;
Driverul motorului are alte 3 borne.
Terminalul GND este conectat la borna negativă a bateriei și, de asemenea, este conectat la pinul GND al plăcii Arduino
Si „12v” este conectat la borna pozitiva a bateriei.

COD EXEMPLU ARDUINO PENTRU ROBOT

// set motoare
int in1 = 2;
int in3 = 3;
int in2 = 4;
int in4 = 5;
// set microfoane
const int microphoneRightPin = A0; //Right
const int microphoneLeftPin = A1; //Left

void setup() {
Serial.begin(9600);
// set outputs
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);

}

void loop() {
int valRight = analogRead(microphoneRightPin);
int valLeft = analogRead(microphoneLeftPin);

Serial.print(valRight);
Serial.print(valLeft);

//ce sa faca ???
if (valRight > valLeft) {
delay(20);
turnRight();
delay(200);
moveForward();
delay(300);
moveStop();
}
if (valRight < valLeft) {
delay(20);
turnLeft();
delay(200);
moveForward();
delay(300);
moveStop();
}
}

void moveStop() {
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
digitalWrite(in3,LOW);
digitalWrite(in4,LOW);
}

void moveForward() {
digitalWrite(in1,HIGH);
digitalWrite(in2,HIGH);
digitalWrite(in3,LOW);
digitalWrite(in4,LOW);
}

void moveBackward() {
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
digitalWrite(in3,HIGH);
digitalWrite(in4,HIGH);
}

void turnRight() {
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
digitalWrite(in3,HIGH);
digitalWrite(in4,LOW);
}

void turnLeft() {
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
digitalWrite(in3,LOW);
digitalWrite(in4,HIGH);
}

gata Succes!

Lasă un răspuns