Arduino Autonomous Rover Technology Santiapps

Arduino Honduras Santiapps Marcio Valenzuela

Tutorial Robot Autónomo: Parte I

Ya sabemos controlar motores y sabemos sentir (ver).  Combinemos estas habilidades para hacer que nuestro robot se mueva.

Requisitos:

  1. Computadora (mac)
  2. Arduino UNO.
  3. Llantas (2)
  4. Motores DC (2)
  5. Sensor Ultrasonico
  6. Motor Mini Servo
  7. Arduino IDE (https://www.arduino.cc/en/Main/Software)

Primero vamos a armar el motor shield con los 2 DC motors y los vamos a hacer funcionar de forma sencilla para ver como operar los motores a través del shield.

Componentes

Arduino Robot Autonomo Movil Motor Shield Tutorial Santiapps Marcio Valenzuela
Arduino Robot Autonomo Movil Motor Shield

El sensor ultrasonico se puede pegar con silicon transparente escolar a la paleta del servo.  El alambrado es sencillo:

  • El servo se conecta a la terminal de Servo2 en la shield
  • El Sensor tiene 4 conexiones
    • Vcc al pin en la shield soldado a la fila 5V
    • GND al pin en la shield soldado a la fila GND
    • Trig al pin en la shield soldado en A5
    • Echo al pin en la shield soldado en A4
  • Luego se conectan los motores DC al shield
    • M1 en la shield al motor derecho
    • M4 en la shield al motor izquierdo
Arduino Tutorial Robot Autonomo Santiapps Marcio Valenzuela
Arduino Tutorial Robot Autonomo

Ahora solo resta conectar la shield sobre la Arduino UNO, el cable USB a la Arduino UNO y subimos la sketch.  Vamos a subir la sketch y no tendremos los motores conectados a las llantas ni mucho menos el chasis.  Solo queremos ver como funciona el sketch.  Una vez cargada a la UNO podremos ver como se mueven los motores.  Se debería mover tanto los DC como el servo.

En el sketch podemos ver:

  • setup() y loop()
  • moveStop(), moveForward() y moveBackward()

Ahora podemos desconectar la UNO y comenzar a conectar los motores a las llantas y la UNO/Shield sobre el battery pack para luego montarlo a un chasis sobre las llantas.

Arduino Tutorial Robot Autonomo Motores Llantas Shield Ultrasonic Sensor Santiapps Marcio Valenzuela
Arduino Tutorial Robot Autonomo Motores Llantas Shield Ultrasonic Sensor

El código para este proyecto seria sencillo:

#include <AFMotor.h>
#define MAX_SPEED_OFFSET 10 // Maxima separation entre motores
#define MAX_SPEED 180 // Maxima velocidad (80% de 256)
AF_DCMotor motor1(1, MOTOR12_1KHZ); // crear motor #1 en M1
AF_DCMotor motor2(4, MOTOR12_1KHZ); // crear motor #2, en M2
String motorSet = "";
int speedSet = 0;
void setup() {
Serial.begin(9600);
moveForward();
delay(2000);
moveStop();
delay(2000);
moveBackward();
delay(2000);
moveStop();
}
void loop() {
}
void moveStop() {
Serial.println("Deteniendo...");
motor1.run(RELEASE);
motor2.run(RELEASE);
} // stop the motors.
void moveForward() {
Serial.println("Avanzando...");
motorSet = "FORWARD";
motor1.run(FORWARD); // Encender hacia el frente
motor2.run(FORWARD); // Encender hacia el frente
for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // Acelerar lentamente
{
motor1.setSpeed(speedSet+MAX_SPEED_OFFSET);
motor2.setSpeed(speedSet);
delay(5);
}
}
void moveBackward() {
Serial.println("Retrocediendo...");
motorSet = "BACKWARD";
motor1.run(BACKWARD); // Encender hacia atras
motor2.run(BACKWARD); // Encender hacia atras
for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // Acelerar lentamente
{
motor1.setSpeed(speedSet+MAX_SPEED_OFFSET);
motor2.setSpeed(speedSet);
delay(5);
}
}

Al correr este sketch podemos ver que los motores arrancan, se detienen, retroceden y se detienen nuevamente.

Ahora vamos a agregar los ojos, el sensor ultrasonico.

Esta va para largo!


			

Leave a Reply