BadAss Tank
1.
2.
3.
-Ver video regulador de tensión
4.
5.
6.
7.
8.
9.
10.
11.
Introducción!
Hola.
Tendremos una serie de videos e imagenes que te guiarán a lograr construir tu propio robot de rádio control, en este caso un tanque.
Intentaremos utilizar material barato, reciclar cosas ya estropeadas pero llegar a tener un tanque final muy guapo. Queremos establecer una comunicación de radio frecuencia entre dos arduinos. Un arduino estara en el mando y enviara los datos de control e otro estara dentro del tanque e recibirá los datos enviados, e procesara los movimientos.
Tendremos la parte del mando, donde cojeremos dos potenciómetros de un mando bluetooth estropeado. Haremos la conexión de las salidas de cada uno de los 4 potenciómetros con las entradas anaógicas de arduino pro mini. Los datos leídos los envairemos a travéz de una comunicación radio frecuencia con los módulos NRF24. COnstruiremos un mando con la impresora 3D o con acrylico e soldaremos una PCB con todos los modulos y ya tendríamos nuestro emisor.
El robot tenderá un Arduino Mega ya que gracias a sus muchos pines, podremos conectar a nuestro robot un monton de partes extra. El arduino recibirá los datos del emisor a través del módulo NRF24, procesará esos datos e controlará dos motores DC utilizando un puente H e salidas PWM.
Construiremos el puente H con transistores BJT o MOSFET. Será bastante potente como para alimentar 4A a los motores, que es más que suficiente.
Finalmente añadiremos un cañon e un laser para hacer nuestro tanque mas MALO.
Descarga todos los esquemáticos aqui:
Esquemático!
Conexiones FTDI!
Necesitaremos alimentar el Arduino conectando Vcc del módulo FTDI al Vcc de 5 voltios del arduino. También conectaremos el GND con cualquiera de los GND del microcontrolador. Ya tenemos alimentado el Arduino. Si usais un arduino pro mini aqui tenéis la conexión con el modulo FTDI para poder programar el microcontrolador:
/*
Transmisor de 4 canales utilizando NRF24
*/
#include <
#include <nRF24L01.h>
#include <RF24.h>
//Este código unico lo deberá llevar el receptor también
RF24 radio(9, 10);
//Podemos llegar hasta estructuras de 32 bytes
struct MyData {
};
MyData data;
{
//definimos el valor inicial que vamos a transmitir antes de leer el valor
//analógico de las entradas
data.throttle = 0;
data.yaw = 127;
data.pitch = 127;
data.roll = 127;
}
{
radio.
radio.setAutoAck(
radio.setDataRate(RF24_250KBPS);
radio.openWritingPipe(pipeOut);
resetData();
}
/**************************************************/
// Tenemos que mapear los valores de las entradas de 0-1024 a 0-255
//ya que los pulsos de arduino funcionan en ese rango,
//luego en el receptor volveremos a mapear los datos en el rango deseado
int mapJoystickValues(
{
val =
val =
val =
}
{
// Hacemos la lectura de las entradas analogicas
//Si dejasis en "true" os invertirá los datos
//Si dejais en false enviara los datos de 0 a 1024
//Este apartado es por si conectais los potenciometros al revés y para
//calibrar bien las entradas y enviar los datos perfectamente.
data.throttle = mapJoystickValues(
data.yaw = mapJoystickValues(
data.pitch = mapJoystickValues(
data.roll = mapJoystickValues(
radio.
}
Ver otro tutorial aquí: