Table des matières:

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

Vidéo: Comment faire un robot intelligent avec Arduino : 4 étapes

Vidéo: Comment faire un robot intelligent avec Arduino : 4 étapes
Vidéo: Je monte & teste le kit VOITURE ROBOT INTELLIGENT V4.0 d'ELEGOO 2024, Novembre
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é: