Publicat la data

Robot 2WD Roboromania comandat Bluetooth și autonom ocolire obstacole

Robot 2WD Roboromania comandat Bluetooth și autonom ocolire obstacole

robot

Avem nevoie de :
o placă de dezvoltare tip Arduino UNO (sau oricare)
un modul Bluetooth HC-05 (sau HC-06)
un modul driver motoare L298N
un senzor cu ultrasunete
șasiu cu 2 motoare 2WD
cabluri Dupont

robot-2wd-bluetooth-roboromania

Cel mai simplu cod : (atenție când copiați codul ar putea sa apară unele erori de la fonturi)

//––––––––––––––

// Robot 2WD Roboromania comandat Bluetooth și autonom ocolire obstacole
// roboromania.ro

#include <NewPing.h>
#include <SoftwareSerial.h>

//L298n Motor Driver pins.

#define in1 2
#define in2 3
#define in3 4
#define in4 5

#define SPEED 255 // 160 – 255

SoftwareSerial sonar_serial(6, 7); // RX, TX

#define TRIGGER_PIN 9
#define ECHO_PIN 10
#define MAX_DISTANCE 200 // Maximum distanță măsurată.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

void setup() {
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
sonar_serial.begin(9600);
}

void loop() {
unsigned int uS = sonar.ping();
int val = uS / US_ROUNDTRIP_CM; // Convertor distanță în cm.
if ((val > 1) && (val < 20)) {
delay(100);
recover();
} else {
int command = sonar_serial.read();
if(command != -1) {
switch (command) {
case ‘F’: forward(); break;
case ‘B’: back(); break;
case ‘L’: left(); break;
case ‘R’: right(); break;
case ‘K’: stop(); break;
}
delay(10);
}
}
}

void recover() {
back();
delay(800);
left();
delay(500);
forward();
}

void forward() {
stop();
analogWrite(in1, SPEED);
analogWrite(in3, SPEED);
}

void back() {
stop();
analogWrite(in2, SPEED);
analogWrite(in4, SPEED);
}

void left() {
stop();
analogWrite(in3, SPEED);
analogWrite(in2, SPEED);
}

void right() {
stop();
analogWrite(in4, SPEED);
analogWrite(in1, SPEED);
}

void stop() {
analogWrite(in1, 0);
analogWrite(in2, 0);
analogWrite(in3, 0);
analogWrite(in4, 0);
}

//––––––––––––––

Atenție la declararea pinilor.

Colectivul magazinului roboromania.ro vă urează succes !  După realizare va rugam sa trimiteți poze și sugestii.

Creative Commons License
„Robot 2WD Roboromania comandat Bluetooth și autonom ocolire obstacole” de Popescu Viorel licențiat sub Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *