CAptuRe THE FLAG.
Capture The Flag (with Arduino).
Móstoles – Grupo 4.
Índice
1 – Autores.
2 – Presentación del proyecto.
3 – Instrucciones sobre el uso.
4 – Materiales y presupuesto necesario.
5 – Desarrollo del proyecto.
5.1 – Construcción de los puestos de control
5.2 – Construcción de los coches teledirigidos.
5.3 – Esquemas.
5.4 – Fotos.
5.5 – Videos.
5.6 – Código.
5.6 – Código.
6 – Dificultades encontradas.
7 – Posibles mejoras.
8 – Conclusiones.
1- Autores:
– Jorge Manzaneque Ruiz.
– Steven Córdova Proaño.
– Marz Iglesias Szenfy.
2- Presentación del proyecto.
El proyecto se basa en una
adaptación del juego Capture The Flag,
basado en la conquista de diferentes puestos de control. Para ello, hemos
construido dos vehículos motorizados, los cuales, controlados vía Bluetooth, se
irán moviendo por el espacio de juego. Además, se dispondrán por el espacio de
juego tres puestos de control, que de forma aleatoria se irán poniendo en
juego. Los vehículos deben alcanzar los puestos de control antes que el
vehículo contrario para sumar puntos. La victoria se logra cuando alguno de los
participantes alcance 3 puntos.
adaptación del juego Capture The Flag,
basado en la conquista de diferentes puestos de control. Para ello, hemos
construido dos vehículos motorizados, los cuales, controlados vía Bluetooth, se
irán moviendo por el espacio de juego. Además, se dispondrán por el espacio de
juego tres puestos de control, que de forma aleatoria se irán poniendo en
juego. Los vehículos deben alcanzar los puestos de control antes que el
vehículo contrario para sumar puntos. La victoria se logra cuando alguno de los
participantes alcance 3 puntos.
3 – Instrucciones sobre el uso.
Una vez conectamos la
alimentación a los puestos de control, el juego se inicia, con el marcador de
ambos participantes a 0. Aleatoriamente, uno de los tres puestos de control se
pondrá en juego. Los vehículos deben alcanzar el puesto de control antes que el
vehículo contrario, siguiendo la dirección y sentido marcados por el puesto de
control, si quieren conseguir el punto. El juego continúa poniendo puestos de
control en juego hasta que uno de los dos participantes logra los 3 puntos. Se
muestra el resultado, y en unos segundos el juego se reinicia para jugar de
nuevo.
alimentación a los puestos de control, el juego se inicia, con el marcador de
ambos participantes a 0. Aleatoriamente, uno de los tres puestos de control se
pondrá en juego. Los vehículos deben alcanzar el puesto de control antes que el
vehículo contrario, siguiendo la dirección y sentido marcados por el puesto de
control, si quieren conseguir el punto. El juego continúa poniendo puestos de
control en juego hasta que uno de los dos participantes logra los 3 puntos. Se
muestra el resultado, y en unos segundos el juego se reinicia para jugar de
nuevo.
4 – Materiales y presupuesto necesario.
Haremos una diferencia en
relación a los materiales presupuestados, diferenciando entre el presupuesto
para construir los puestos de control y los marcadores, y el presupuesto para
construir ambos vehículos.
relación a los materiales presupuestados, diferenciando entre el presupuesto
para construir los puestos de control y los marcadores, y el presupuesto para
construir ambos vehículos.
Puestos de control.
Material | Cantidad | Precio | Presupuesto total |
Arduino Mega |
1 | 15 € | 15 € |
Sensores de proximidad HC-SR04 |
3 | 1,50 € | 4,50 € |
Sensores de color TCS-3200 |
3 | 8,30 € | 24,90 € |
LED rojo | 3 | (en propiedad) | |
LED azul | 3 | (en propiedad) | |
LED blanco |
3 | (en propiedad) | |
Resistencia 220 Ω |
9 | (en propiedad) | |
Resistencia 10 kΩ |
1 | (en propiedad) | |
Potenciómetro de 10 kΩ |
1 | (en propiedad) | |
LCD 16×02 con interfaz I2C |
1 | (en propiedad) | |
Cables pin macho-hembra, hembra-hembra, hembra-macho |
2 sets | 7 € | 14 € |
Protoboard | 3 | (en propiedad) | |
Mini-protoboard | 1 | (en propiedad) | |
Caja | 3 | 0,90 € | 2,70 € |
Tubo flexible |
2 mts | 0,70 € /metro | 1,40 € |
Total | 62,50 € |
Vehiculos
Material |
Cantidad |
Precio |
Presupuesto total |
Pack Arduino Elegoo |
2 |
31,99 € |
€ 63,98 |
Sensores de proximidad HC-SR04 |
5 |
1,75 € |
€ 8,77 |
Puente H |
2 | 7 € |
€ 14,00 |
Motor Paso a paso con rueda |
4 | 6,99 |
€ 28,00 |
Cables pin macho-hembra, hembra-hembra, hembra-macho |
2 sets |
7 € |
€ 14,00 |
Bluetooth H6 |
2 | 3,83 € |
€ 7,69 |
Pilas 9V |
8 | 7 € |
€ 7,00 |
Conectores 9v-Arduino | 8 |
9 |
€ 9,00 |
Spray de color | 3 | 1,5 | € 4,50 |
Total |
€ 156,94 |
5 – Desarrollo del proyecto.
5.1 – Construcción de los puestos de control
Analizaremos la construcción de
un puesto de control, ya que crearemos tres idénticos, y una vez construidos
los mismos, explicaremos la construcción del centro de mando que estará
colocado dentro de uno de los puestos de control (a fin de optimizar el
espacio).
un puesto de control, ya que crearemos tres idénticos, y una vez construidos
los mismos, explicaremos la construcción del centro de mando que estará
colocado dentro de uno de los puestos de control (a fin de optimizar el
espacio).
Cada puesto de control irá dentro
de una de las cajas, y estará formado por una protoboard, un LED de cada color,
un sensor de proximidad, y un sensor de color. Para mejorar la visibilidad de
quién posee cada puesto de control, y cuál está en juego, situaremos los LEDs
en la parte superior de la caja. En la cara frontal de la misma situaremos el
sensor de proximidad (que nos dirá cuándo ha llegado un vehículo al puesto de
control), y el sensor de color, que nos determinará qué vehículo ha llegado. Ya
que el detector de color es muy sensible a las variaciones de luminosidad, se
recomienda que el detector de color se sitúe a una altura donde pueda detectar
bien el color del vehículo, y se sitúe antes del sensor de proximidad, para que
cuando se detecte que llegó un vehículo, sepamos con seguridad qué vehículo ha
llegado. Por ello incluimos la dirección en la que se debe alcanzar el puesto
de control, para asegurar el reconocimiento del vehículo correcto.
de una de las cajas, y estará formado por una protoboard, un LED de cada color,
un sensor de proximidad, y un sensor de color. Para mejorar la visibilidad de
quién posee cada puesto de control, y cuál está en juego, situaremos los LEDs
en la parte superior de la caja. En la cara frontal de la misma situaremos el
sensor de proximidad (que nos dirá cuándo ha llegado un vehículo al puesto de
control), y el sensor de color, que nos determinará qué vehículo ha llegado. Ya
que el detector de color es muy sensible a las variaciones de luminosidad, se
recomienda que el detector de color se sitúe a una altura donde pueda detectar
bien el color del vehículo, y se sitúe antes del sensor de proximidad, para que
cuando se detecte que llegó un vehículo, sepamos con seguridad qué vehículo ha
llegado. Por ello incluimos la dirección en la que se debe alcanzar el puesto
de control, para asegurar el reconocimiento del vehículo correcto.
Es conveniente recordar que para
no reducir la vida útil de los LEDs, se incluya una resistencia de 220 Ω para
cada uno. Todos los cables necesarios se situarán dentro de la caja,
ocultándose al usuario, y saldrán por la parte de detrás. Para mejorar la
estética y la seguridad, conviene que tengamos los cables dentro de un tubo
flexible. Estos cables llevarán al puesto central, donde tendremos situado la
placa Arduino Mega, elegida debido a que permite trabajar con un mayor número
de entradas. Por tanto, realizaremos así
dos puestos de control idénticos, que irán conectados al puesto de control
central.
no reducir la vida útil de los LEDs, se incluya una resistencia de 220 Ω para
cada uno. Todos los cables necesarios se situarán dentro de la caja,
ocultándose al usuario, y saldrán por la parte de detrás. Para mejorar la
estética y la seguridad, conviene que tengamos los cables dentro de un tubo
flexible. Estos cables llevarán al puesto central, donde tendremos situado la
placa Arduino Mega, elegida debido a que permite trabajar con un mayor número
de entradas. Por tanto, realizaremos así
dos puestos de control idénticos, que irán conectados al puesto de control
central.
El puesto de control central no solo
contendrá un puesto de control idéntico a los anteriormente mencionados, sino
que también incluiremos un marcador, construido con un LCD 16×02. Para mejorar
la visibilidad del circuito, se recomienda conectar los pines del marcador a
una miniprotoboard situada al lado de la protoboard inicial. Además, en el
puesto central incluiremos también la placa Arduino y la alimentación, que se
situará en la parte de atrás del puesto de control, para facilitar el cambio de
pila cuando sea necesario.
contendrá un puesto de control idéntico a los anteriormente mencionados, sino
que también incluiremos un marcador, construido con un LCD 16×02. Para mejorar
la visibilidad del circuito, se recomienda conectar los pines del marcador a
una miniprotoboard situada al lado de la protoboard inicial. Además, en el
puesto central incluiremos también la placa Arduino y la alimentación, que se
situará en la parte de atrás del puesto de control, para facilitar el cambio de
pila cuando sea necesario.
5.2 – Construcción de los coches teledirigidos.
A continuación describimos como llevar a cabo la construcción de los dos coches teledirigidos por Bluethoot.
Necesitamos para ello un modelo bluetooth h6, un puente H para el giro de los motores paso a paso y un sensor de proximidad. Los motores se conectan al puente H y este a la placa de Arduino (pines 8,9,10,11). El modelo Bluetooth H6 se conecta inversarmente, es decir el pin RX del modelo Bluetooth va al TX de la placa de Arduino y viceversa con el pin RX. Por otra parte los pines de los sensores de proximidad van directamente a la placa de Arduino (pines 4,5).
Todo el sistema está alimentado con una pila de 9V, opcionalmente se puede añadir una pila de 9V en el puente H para obtener una mayor potencia en ambos motores pero hemos considerado que es mejor una velocidad reducida para un correcto desarrollo del juego. La energía se distribuye por todo el proyecto, por lo que aunque el Arduino trabaje a 5V, apenas disipa energía por tierra.
Todo el sistema está alimentado con una pila de 9V, opcionalmente se puede añadir una pila de 9V en el puente H para obtener una mayor potencia en ambos motores pero hemos considerado que es mejor una velocidad reducida para un correcto desarrollo del juego. La energía se distribuye por todo el proyecto, por lo que aunque el Arduino trabaje a 5V, apenas disipa energía por tierra.
5.3 – Esquemas.
Solo
incluye LEDs, sensor de color y sensor de proximidad.
Puesto
de control estándar
de control estándar
Solo
incluye LEDs, sensor de color y sensor de proximidad.
Puesto de
control principal
control principal
Incluye LEDs, sensor de color, sensor de proximidad y
marcador
marcador
Esquema de la conexión.
El controlador de los motores (Punte H), el sensor de proximidad, el Bluetooth H6, ambos motores y una pila de 9V.
5.4 – Fotos.
5.5 – Videos.
5.6- Código.
Repositorio Público de GitHub.
https://github.com/steven121517/CaptureTheFlagArduino.git
6 – Dificultades encontradas.
Las mayores dificultades han venido
dadas por la sensibilidad del sensor de color, el cual tiene unos baremos para
la detección del color muy sensibles, por lo que fue objeto de gran parte de
las pruebas. El detector de color se ve muy influido por la luminosidad
ambiente, por lo que era crucial su colocación y definición para la detección
del vehículo. Además, impedía la utilización de vehículos con varios colores,
ya que la detección variaba en función de la parte del vehículo que localizase.
Por tanto, se buscó una solución minimalista, con colores bien definidos sin
dibujos, para que la detección no diese problemas.
dadas por la sensibilidad del sensor de color, el cual tiene unos baremos para
la detección del color muy sensibles, por lo que fue objeto de gran parte de
las pruebas. El detector de color se ve muy influido por la luminosidad
ambiente, por lo que era crucial su colocación y definición para la detección
del vehículo. Además, impedía la utilización de vehículos con varios colores,
ya que la detección variaba en función de la parte del vehículo que localizase.
Por tanto, se buscó una solución minimalista, con colores bien definidos sin
dibujos, para que la detección no diese problemas.
Además, nos encontrábamos con el
riesgo de seguridad para el proyecto de que los cables pasasen de un puesto de
control a otro, ya que estaban expuestos al exterior. La elección del tubo
flexible permite dotar de cierta protección al proyecto, pero se hace
importante mejorar este apartado.
riesgo de seguridad para el proyecto de que los cables pasasen de un puesto de
control a otro, ya que estaban expuestos al exterior. La elección del tubo
flexible permite dotar de cierta protección al proyecto, pero se hace
importante mejorar este apartado.
En cuanto a problemas menores, que
fueron fácilmente solventados, se hace referencia a que los LEDs estaban
situados en la parte inferior, anclados directamente a la protoboard. Al crear
la estructura exterior de los puestos de control, vimos que no se observaban, y
que se hacía mucho más difícil saber qué puesto estaba en juego. Se solucionó
haciendo pequeñas incisiones en la parte superior de cada puesto de control, y
conectando los LEDs a esta parte superior. Así se hizo mucho más visible.
En cuanto a los problemas encontrados en la construcción de los coches destacamos principalmente que ambos modelos bluetooth venían mal configurados de fábrica por lo que ha sido necesario restaurarlos y determinar la frecuencia correcta de refresco.
fueron fácilmente solventados, se hace referencia a que los LEDs estaban
situados en la parte inferior, anclados directamente a la protoboard. Al crear
la estructura exterior de los puestos de control, vimos que no se observaban, y
que se hacía mucho más difícil saber qué puesto estaba en juego. Se solucionó
haciendo pequeñas incisiones en la parte superior de cada puesto de control, y
conectando los LEDs a esta parte superior. Así se hizo mucho más visible.
En cuanto a los problemas encontrados en la construcción de los coches destacamos principalmente que ambos modelos bluetooth venían mal configurados de fábrica por lo que ha sido necesario restaurarlos y determinar la frecuencia correcta de refresco.
7 – Posibles mejoras
- Inclusión de más vehículos en el juego, así
como puestos de control. Es importante tener en cuenta que los colores de los
vehículos deben ser distintos. - Reforzar la seguridad entre los puestos de
control, protegiendo más el cableado. - Mejorar la estrategia del juego: en lugar de
alcanzar 3 puntos, conquistar todas las torres, o “robar la bandera” del contrario. - Añadir botones de inicio y apagado del juego,
para evitar tener que conectar y desconectar la alimentación. - Más potencia a los coches con un mejor control de ellos.
- Sistema de giro dirigido de las ruedas delanteras.
- Sensores de proximidad por los laterales de los vehículos.
8 – Conclusiones.
El proyecto ha servido para
familiarizarnos con diversos dispositivos y sensores compatibles con Arduino, a
fin de crear un pequeño juego que puede ser construido por sectores y con un coste moderado.
familiarizarnos con diversos dispositivos y sensores compatibles con Arduino, a
fin de crear un pequeño juego que puede ser construido por sectores y con un coste moderado.