Tabla de contenido:

Cómo hacer un robot inteligente usando Arduino: 4 pasos
Cómo hacer un robot inteligente usando Arduino: 4 pasos

Video: Cómo hacer un robot inteligente usando Arduino: 4 pasos

Video: Cómo hacer un robot inteligente usando Arduino: 4 pasos
Video: GRUA con ARDUINO || PROYECTO con servomotores || Para principiantes [Explicado paso a paso] 2024, Noviembre
Anonim
Image
Image

Hola,

Soy arduino maker y en este tutorial voy a mostrarte cómo hacer un robot inteligente usando arduino

si te gustó mi tutorial, entonces considera apoyar mi canal de youtube llamado arduino maker

Suministros

COSAS QUE NECESITARÁS:

1) arduino uno

2) sensor ultrasónico

3) Bo motor

4) ruedas

5) palitos de helado

6) batería de 9v

Paso 1: CONEXIONES

PEGUE TODOS LOS COMPONENTES EN SU LUGAR
PEGUE TODOS LOS COMPONENTES EN SU LUGAR

Después, obteniendo todos los suministros ahora, debe comenzar a conectar todas las cosas de acuerdo con el diagrama de circuito que se muestra arriba.

Paso 2: PEGUE TODOS LOS COMPONENTES EN SU LUGAR

OK,

ahora conecte todas las cosas en su lugar como se muestra en la imagen de arriba

Paso 3: PROGRAMACIÓN

Ahora,

comience a programar la placa con el código dado a continuación

// ARDUINO OBSTACLE EVOIDING CAR //// Antes de cargar el código hay que instalar la biblioteca necesaria // // Biblioteca AFMotor https://learn.adafruit.com/adafruit-motor-shield/library-install // // NewPing Library https://github.com/livetronic/Arduino-NewPing// // Servo Library https://github.com/arduino-libraries/Servo.git // // Para instalar las bibliotecas, vaya al boceto >> Incluir Biblioteca >> Agregar archivo. ZIP >> Seleccione los archivos ZIP descargados de los enlaces anteriores //

#incluir

#incluir

#incluir

#define TRIG_PIN A0

#define ECHO_PIN A1 #define MAX_DISTANCE 200

#define MAX_SPEED 150 // establece la velocidad de los motores de CC

#define MAX_SPEED_OFFSET 20

Sonda NewPing (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;

booleano va hacia adelante = falso;

int distancia = 100; int speedSet = 0;

configuración vacía () {

myservo.attach (10);

myservo.write (115); retraso (1000); distancia = readPing (); retraso (100); distancia = readPing (); retraso (100); distancia = readPing (); retraso (100); distancia = readPing (); retraso (100); }

bucle vacío () {

int distanciaR = 0; int distanciaL = 0; retraso (40); if (distancia <= 15) {moveStop (); retraso (100); mover hacia atrás(); retraso (300); moveStop (); retraso (200); distanciaR = mirarRight (); retraso (300); distanciaL = lookLeft (); retraso (300);

si (distanciaR> = distanciaL)

{ Gire a la derecha(); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } distancia = readPing (); }

int lookRight ()

{myservo.write (50); retraso (650); int distancia = readPing (); retraso (100); myservo.write (115); distancia de regreso; }

int lookLeft ()

{myservo.write (170); retraso (650); int distancia = readPing (); retraso (100); myservo.write (115); distancia de regreso; retraso (100); }

int readPing () {

retraso (70); int cm = sonar.ping_cm (); si (cm == 0) {cm = 250; } return cm; }

void moveStop () {

motor1.run (LIBERAR); //motor2.run(RELEASE); //motor3.run(RELEASE); motor4.run (LIBERAR); } void moveForward () {

si (! va hacia adelante)

{va hacia adelante = verdadero; motor1.run (ADELANTE); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (ADELANTE); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // aumente lentamente la velocidad para evitar cargar las baterías demasiado rápido {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); retraso (5); }}}

void moveBackward () {

va hacia adelante = falso; motor1.run (HACIA ATRÁS); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run (HACIA ATRÁS); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // aumente lentamente la velocidad para evitar cargar las baterías demasiado rápido {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); retraso (5); }}

void turnRight () {

motor1.run (HACIA ATRÁS); //motor2.run(BACKWARD); //motor3.run(FORWARD); motor4.run (ADELANTE); retraso (350); motor1.run (ADELANTE); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (ADELANTE); } void turnLeft () {motor1.run (FORWARD); //motor2.run(FORWARD); //motor3.run(BACKWARD); motor4.run (HACIA ATRÁS); retraso (350); motor1.run (ADELANTE); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (ADELANTE); }

Recomendado: