Comment faire un robot intelligent avec Arduino : 4 étapes
Comment faire un robot intelligent avec Arduino : 4 étapes
Anonim
Image
Image

Bonjour,

Je suis un fabricant d'arduino et dans ce tutoriel, je vais vous montrer comment créer un robot intelligent à l'aide d'arduino

si vous avez aimé mon tutoriel, envisagez de soutenir ma chaîne youtube nommée le fabricant arduino

Fournitures

CE QUE VOUS AUREZ BESOIN:

1) arduino uno

2) capteur à ultrasons

3) Bo moteur

4) roues

5) bâtonnets de glace

6) pile 9v

Étape 1: CONNEXIONS

COLLER TOUS LES COMPOSANTS EN PLACE
COLLER TOUS LES COMPOSANTS EN PLACE

Après, obtenir toutes les fournitures maintenant, vous devriez commencer à connecter toutes les choses selon le schéma de circuit donné ci-dessus

Étape 2: COLLER TOUS LES COMPOSANTS EN PLACE

D'ACCORD,

connectez maintenant toutes les choses en place comme indiqué dans l'image ci-dessus

Étape 3: PROGRAMMATION

Maintenant,

commencer à programmer la carte avec le code donné ci-dessous

//ARDUINO OBSTACLE AVOIDING CAR//// Avant de télécharger le code, vous devez installer la bibliothèque nécessaire// //AFMotor Library https://learn.adafruit.com/adafruit-motor-shield/library-install // // Bibliothèque NewPing https://github.com/livetronic/Arduino-NewPing// // Bibliothèque Servo https://github.com/arduino-libraries/Servo.git // // Pour installer les bibliothèques, allez à l'esquisse >> Inclure Bibliothèque >> Ajouter un fichier. ZIP >> Sélectionnez les fichiers ZIP téléchargés à partir des liens ci-dessus //

#comprendre

#comprendre

#comprendre

#define TRIG_PIN A0

#définir ECHO_PIN A1 #définir MAX_DISTANCE 200

#define MAX_SPEED 150 // définit la vitesse des moteurs à courant continu

#define MAX_SPEED_OFFSET 20

Nouveau sonar Ping (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMotor motor1(1, MOTOR12_1KHZ);

//AF_DCMotor motor2(2, MOTOR12_1KHZ); //AF_DCMotor motor3(3, MOTOR34_1KHZ); AF_DCMotor motor4(4, MOTOR34_1KHZ); Servo myservo;

booléen goForward=false;

distance entière = 100; int speedSet = 0;

void setup() {

monservo.attach(10);

monservo.write(115); retard(1000); distance = readPing(); retard (100); distance = readPing(); retard (100); distance = readPing(); retard (100); distance = readPing(); retard (100); }

boucle vide() {

distance intR = 0; int distanceL = 0; retard (40); if(distance<=15) { moveStop(); retard (100); recule(); retard (300); moveStop(); retard (200); distanceR = regarderDroit(); retard (300); distanceL = regarderGauche(); retard (300);

si(distanceR>=distanceL)

{ Tournez à droite(); moveStop(); } else { tournerGauche(); moveStop(); } } else { moveForward(); } distance = readPing(); }

int lookDroit()

{ monservo.write(50); retard (650); int distance = readPing(); retard (100); monservo.write(115); distance de retour; }

int lookGauche()

{ monservo.write(170); retard (650); int distance = readPing(); retard (100); monservo.write(115); distance de retour; retard (100); }

int readPing() {

retard (70); int cm = sonar.ping_cm(); si(cm==0) {cm = 250; } renvoie cm; }

void moveStop() {

motor1.run(RELEASE); //motor2.run(RELEASE); //motor3.run(RELEASE); motor4.run(LIBÉRER); } void moveForward() {

si(!va en avant)

{ vaForward=true; motor1.run(AVANT); //moteur2.run(AVANT); //moteur3.run(AVANT); motor4.run(AVANT); for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // augmente lentement la vitesse pour éviter de charger les batteries trop rapidement { motor1.setSpeed(speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed(speedSet); retard(5); } } }

void moveBackward() {

vaForward=false; motor1.run(BACKWARD); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run(BACKWARD); for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // augmente lentement la vitesse pour éviter de charger les batteries trop rapidement { motor1.setSpeed(speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed(speedSet); retard(5); } }

void tourner à droite () {

motor1.run(BACKWARD); //motor2.run(BACKWARD); //moteur3.run(AVANT); motor4.run(AVANT); retard (350); motor1.run(AVANT); //moteur2.run(AVANT); //moteur3.run(AVANT); motor4.run(AVANT); } void turnLeft() { motor1.run(FORWARD); //moteur2.run(AVANT); //motor3.run(BACKWARD); motor4.run(BACKWARD); retard (350); motor1.run(AVANT); //moteur2.run(AVANT); //moteur3.run(AVANT); motor4.run(AVANT); }

Conseillé: