Tabla de contenido:
- Suministros:
- Paso 1: Materiales Necesarios
- Paso 2: Procedimiento
- Paso 3: Código
- Paso 4: Actualizaciones futuras
Suministros:
Paso 1: Materiales Necesarios
- Conjunto de riel y juego de ruedas de Tamiya ($ 7.95 en Pololu)
- Kit de caja de engranajes doble Tamiya 70168 ($ 9.25 en Pololu)
- L298N Dual H Bridge ($ 3.65 en Amazon y podría ser mucho más bajo en ebay)
- Soporte de batería de 4AA (usado de componentes electrónicos rotos)
- Cables de puente hembra y macho de 200 mm ($ 2.60 en Amazon)
- Placa universal de Tamiya ($ 7.77 en Amazon)
- Arduino Uno o su clon
Nota: La placa universal de Tamiya es opcional. Es decir, puedes usar madera en lugar de ella. Pero, por convencerlo he usado el plato.
Paso 2: Procedimiento
- Ensamble el motor de engranajes como se describe en el manual. Para este proyecto he usado la relación de transmisión 114.7: 1
- Montar el motor de doble engranaje en la placa de Tamiya
- Conecte el soporte de la batería de 6V (+) al puerto L298N + 12V y (-) al GND mediante cables de puente
- Conecte el arduino GND al L298N GND
- Finalmente, conecte los motores a los dos puertos de salida laterales L298N
- Sigue mi dibujo para circuitos para mayor claridad.
- Conecte los pines de L298N a Arduino como sigue:
Lado derecho
Pin1 --------------------------------- 3 de Arduino (pin PMW)
Pin 2 --------------------------------- 6
Pin 3 --------------------------------- 4
Pin 4 --------------------------------- 13
Pin 5 --------------------------------- 12
Pin 6 ----------------------------------- 9 (pin PMW)
Nota: No se preocupe por la polaridad de la conexión del motor porque podemos cambiarla a través del código
Paso 3: Código
En primer lugar, descargue el software Arduino desde su sitio web. Luego copia y pega el siguiente código:
void setup () {Serial.begin (9600); // pinMode motor derecho (3, SALIDA); pinMode (6, SALIDA); pinMode (4, SALIDA); // pwm // motor izquierdo pinMode (13, SALIDA); pinMode (12, SALIDA); pinMode (9, SALIDA); // pwm} void loop () {int Racerspeed = 80; int ReverseSpeed = 60; // forward digitalWrite (6, HIGH); retraso (100); escritura digital (4, BAJA); analogWrite (3, Racerspeed); // motor derecho
escritura digital (13, ALTA); retraso (100); escritura digital (12, BAJA); analogWrite (9, Racerspeed); // retardo del motor izquierdo (4000); // invertir digitalWrite (6, LOW); retraso (100); escritura digital (4, ALTA); analogWrite (3, ReverseSpeed);
escritura digital (13, BAJA); retraso (100); escritura digital (12, ALTA); analogWrite (9, ReverseSpeed); // motor izquierdo
retraso (5000);
// detener digitalWrite (6, LOW); retraso (100); escritura digital (4, BAJA); analogwrite (3,0); // motor derecho
escritura digital (13, BAJA); retraso (100); escritura digital (12, BAJA); analogwrite (9,0); // motor izquierdo
retraso (5000); // turnleft digitalWrite (13, LOW); // cambió este (7/12/2015) retraso (100); escritura digital (12, ALTA); analogwrite (9,30); // motor izquierdo
escritura digital (6, ALTA); retraso (100); escritura digital (4, BAJA); analogWrite (3,120); // motor derecho
Paso 4: Actualizaciones futuras
¡Sí! Lo viste allí mismo, hay más actualizaciones para este robot. Algunos de ellos son los siguientes:
1) Añadiendo interruptor ON / OFF
2) Controlando con control remoto IR
3) Añadiendo sensor de distancia
Estén atentos, y felices haciendo robots!
Cualquier donación será utilizada para futuros proyectos, gracias!
Donar