Es un Shield barato y práctico para manejar pequeños motores de 5V, pero que se quedará corto si necesitas una cierta potencia en los motores, ya que la intensidad que estos demandaran superará con facilidad los 0,6A que tiene como límite este Shield.
Es ideal para construir robots autónomos con pequeños motores y sin peso y sobre todo como elemento de aprendizaje antes de invertir una pasta gansa en otras opciones mas sofisticadas.
* 4 H Bridges incluidos con dos L293D chips.
* Hasta 4 motores CC con control bidireccional y selección de velocidad de 8 bits.
* Máxima corriente de 0,6 Amperios (Aunque acepta picos de hasta 1,2) con una protección de sobre temperatura.
* Acepta motores cuya alimentación va desde 4,5 a 25V.
* Podemos añadir otros dos motores Servos o paso a paso.
* Dispone de alimentación de motores, separada de la del Shield para evitar ruido e interferencias.
Bajo precio (En serio).
* Compatible con UNO y Mega, NO compatible con arduino DUE
* Dispone de una librería cómoda para manejar los motores.
Pin 1 Disponible
Pin 2 Disponible
Pin D3 DC Motor #2 / Stepper #1
Pin D4 Reservado para gobernar el Shift Register 74HC595
Pin D5 DC Motor #3 / Stepper #2
Pin D6 DC Motor #4 / Stepper #2
Pin D7 Reservado para gobernar el Shift Register 74HC595
Pin D8 Reservado para gobernar el Shift Register 74HC595
Pin D9 Servo #1, Disponible si no se usa el servo
Pin D10 Servo #2, Disponible si no se usa el servo
Pin D11 DC Motor #1 / Stepper #1
Pin D12 Reservado para gobernar el Shift Register 74HC595
Pin D13 Disponible
A0,A1,A2,A3,A4,A5 Disponibles. Recuerda que pueden usarse como digitales
#include <AFMotor.h>
AF_DCMotor motor(4);
void setup()
{
//velocidad estabecida
motor.setSpeed(200);
motor.run(RELEASE);
}
void loop()
{
uint8_t i;
// sentido del motor
motor.run(FORWARD);
// Aceleración máxima
for (i=0; i<255; i++)
{
motor.setSpeed(i);
delay(10);
}
// Aceleración cero
for (i=255; i!=0; i--)
{
motor.setSpeed(i);
delay(10);
}
// dirección del motor
motor.run(BACKWARD);
// Aceleracion cero
for (i=0; i<255; i++)
{
motor.setSpeed(i);
delay(10);
}
// aceleracion cero
for (i=255; i!=0; i--)
{
motor.setSpeed(i);
delay(10);
}
// direccion del motor
motor.run(RELEASE);
delay(1000);
}