Robot 2WD Roboromania comandat Bluetooth și autonom ocolire obstacole
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
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> // se instaleaza
#include <SoftwareSerial.h> // nativa ID Arduino
//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.
Acum mai trebuiește instalată și configurată aplicația pentru telefon în Google Play :
Arduino bluetooth controller
Colectivul magazinului roboromania.ro vă urează succes ! După realizare va rugam sa trimiteți poze și sugestii.
„Robot 2WD Roboromania comandat Bluetooth și autonom ocolire obstacole” de Popescu Viorel licențiat sub Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
cred ca e nevoie de o baterie de 9 volti suplimentara.
Pentru montarea senzorului cu ultrasunete HC-SR 04 pe un robot 4WD se fac aceleasi legaturi ca si la robotul 2WD avand in vedere ca primul are 4 roti ? Astept si eu un raspuns pentru ca am urmat instructiunile din aceasta schema dvs. de mai sus si nu a mers.
senzorului cu ultrasunete HC-SR 04 –> se folosește ca la 2WD
senzorului cu ultrasunete HC-SR 04 –> se folosește ca la 2WD