Ruleta de Casino

Contenidos

  1. Introducción
  2. Material Utilizado y Costes
  3. Pasos Realizados
    • Implementación de la Pantalla LCD 1602
      • Prueba Individual
      • Prueba para la Ruleta
    • Implementación del Joystick Analógico
      • Prueba Individual
      • Prueba para la Ruleta
    • Implementación del Infrarrojos FC-51
      • Prueba Individual
      • Prueba para la Ruleta
    • Implementación del ServoMotor
      • Prueba Individual
      • Prueba para la Ruleta
    • Implementación del anillo de LEDs
    • Implementación Final
  4. Problemas Encontrados
  5. Código Final
  6. Video de presentación
  7. Autores

1. Introducción

Se ha pedido la realización de un proyecto libre mediante una placa electrónica de hardware libre como Arduino Uno. Al principio se mostraban varias opciones como idea principal para el proyecto, pero nuestro grupo se ha decantado por la realización de una ruleta de casino.

Se barajaron distintas formas de realizar el proyecto, no obstante, por distintos problemas explicados posteriormente, decidimos que la idea principal de la práctica sería una ruleta de LEDs.

Para comenzar se diseñaron distintos esquemas realizados a mano sobre el funcionamiento teórico del proyecto, en los cuales se mostrarían los distintos estados o fases que se mostrarían  presentes en el diseño final posteriormente.

La idea principal, se basaba en un mecanismo que sea capaz de detectar una moneda y poder mostrar en la pantalla a lo que se quiere apostar.

Para este esquema se planteó la utilización de LEDs individuales que contará con un número. Esta idea fue finalmente descartada debido a la falta de pines digitales.

Y por último se hizo un esquema que muestre todas las posibilidades realizables en una pantalla para apostar por un color o un número.

2. Material Utilizado y Costes

De seguido, en base a los esquemas hechos, previamente, hemos buscado el material necesario para la resolución de las ideas básicas que debíamos implementar. El material utilizado es el siguiente:

Material dado en el Aula Cantidad Precio/unidad  Importe 
Placa Arduino UNO R3119.99€19.99€
Placa Protoboard14.96€4.96€
Pantalla LCD1602112.62€12.62€
Potenciómetro Lineal 10.95€0.95€
Joystick Analógico14.99€4.99€
Servomotor SG9011.20€1.20€
Cables macho macho0.99€0.99€
Cables macho hembra0.85€0.85€
Material extra Cantidad Precio/unidad Importe  
Infrarrojos FC-5111.75€1.75€
Anillo de LEDs WS281215.99€5.99€
Material no utilizadoCantidad Precio/unidad Importe  
Anillo de LEDs WS281225.99€11.98€
Multiplexor CD74HC406732.58€7.74€
11.20€1.20€
Total, Material dado en el Aula45.60€
Total, Material Extra7.74€
Total, Material no utilizado20.92€
Total, Material comprado28.66€
Total, Material Utilizado53.34€
Total, Importe74.26€

3. Pasos Realizados

A continuación, se mostrarán los distintos pasos que se han seguido tanto en el apartado hardware como en el software para llegar al diseño final.

Implementación de la Pantalla LCD 1602

Para comenzar, se ha tomado la decisión de añadir una pantalla para poder mostrar un menú con opciones seleccionables. Además será necesario añadir una librería llamada “<LiquidCrystal.h>”

La pantalla LCD cuenta con 16 pines de los cuales se utilizan 12, 1 conexión a un potenciómetro que mide el brillo de la pantalla, 3 conexiones al GND, 2 conexiones al voltaje y 6 conexiones digitales, 4, 5, 6, 7, 8 y 9 respectivamente. Por otro lado, el potenciómetro tiene una conexión al GND y otra al voltaje.

Prueba Individual

Para comenzar antes de programar los diferentes menús, se ha debido de probar el funcionamiento individual de la pantalla. Para ello, se ha programado un código que muestre por pantalla un hola mundo.

El código y su resolución es el siguiente:

Prueba para la Ruleta

Tras entender el funcionamiento de la pantalla, hemos comenzado a implementar el menú que es mostrado por pantalla. 

Por pantalla se mostrará lo siguiente:

Implementación del Joystick Analógico

La siguiente tarea se basaba en poder encontrar una forma de navegar por el menú. Para ello, decidimos implementar un joystick analógico. Además de añadir los submenús a la pantalla.

El joystick cuenta con 5 pines, 1 conexión digital , 2 conexiones analógicas, 1 conexión al voltaje y 1 conexión al GND.

Prueba Individual

Para comprobar su funcionamiento, primero se ha hecho una prueba con el Serial Monitor del programa software que mostrará un mensaje en base a la acción que realices con el joystick.

Prueba para la Ruleta

Añadiendo el joystick en la pantalla, las conexiones no cambian, destacar que la conexión digital del 

joystick es la 2.

La forma de navegar por el menú de la pantalla, sería mediante el joystick, el movimiento del eje x cambiará las distintas opciones seleccionables y al pulsar el joystick se seleccionará y se abrirá un submenú. Al seleccionar a lo que se desea apostar se mostrará un mensaje por pantalla poniendo lo seleccionado.

Su resolución es la siguiente:

Implementación del Infrarrojos FC-51

Como la manera de inicializar todo el proyecto es insertar una moneda de un euro, debemos detectarla de alguna manera, así que decidimos agregar un detector de obstáculos. que sea el responsable de encender la pantalla.

Las conexiones del infrarrojos son una conexión digital, una conexión al GND y una conexión al voltaje.

Prueba Individual

Para probarlo se ha realizado un código sencillo en donde el infrarrojos se encenderá en cuanto detecte un obstáculo.

Las conexiones y el código son las siguientes:

Prueba para la Ruleta

A continuación implementaremos el código mostrado previamente con la pantalla y el joystick, al código de detección de obstáculos del infrarrojo. Es decir, hasta que el infrarrojos no detecte la moneda, el resto del código se ejecutará. Para facilitar esta fase, la pantalla mostrará “Esperando…” hasta que se introduzca la moneda.

Implementación del Servo motor

Por último, para acabar el funcionamiento interno necesitamos que haya una forma de que la moneda no esté para cuando se ejecute por segunda vez la ruleta. La solución más sencilla es aplicar un servomotor que frene la moneda y cuando se seleccione en el menú a qué se quiere apostar, este servo se activará y dejará pasar la moneda.

El servomotor cuenta con una conexión digital, una conexión al GND y otra conexión al voltaje

Prueba Individual

Para comprobar su funcionamiento se ha realizado un código que muestre cómo se mueve el servomotor.

Las conexiones y el código son las siguientes:

Prueba para la Ruleta

A continuación, El código que incluye la pantalla, el joystick y el infrarrojos deberá de ejecutar el servomotor al final se su realización, es decir, cuando se seleccione a lo que se quiere apostar en la pantalla, el servomotor se moverá y dejará caer la moneda y con un retraso de dos segundos volverá a su posición.

No podemos mostrar una imagen, ya que el servo motor fue agregado después de implementar un ultrasonidos, este al ser eliminado del proyecto lo implementamos directamente.

Implementación del círculo de LEDs

Y para finalizar, hemos añadido un círculo de LEDs que se ejecutará cuando se seleccione por pantalla la opción a la que se quiere apostar, el anillo comenzará con todos sus LEDs apagados y se encenderá un LED y comenzará a girar por un tiempo determinado. La casilla que se quede encendida será la que ha salido, y esta se mostrará por pantalla, así como si has ganado o no. 

Hay una conexión al GND, otra conexión al voltaje y otra conexión a un pin digital.

Su resolución se muestra tanto en la implementación final como en el código final

Implementación Final

El último paso para acabar el proyecto, era albergar en una caja toda la implementación hardware y, que dentro de la estructura funcione todo el código explicado previamente.

Finalmente para la presentación se decoró y se tematizó

Su resolución es la siguiente:

Problemas Encontrados

Durante la realización del proyecto se han encontrado múltiples problemas:

Para comenzar, la idea principal, no iba a ser una ruleta de LEDs, sino que se quería implementar, al igual que en la vida real, una bola que gire en una circunferencia y que acabase en un número, detectando por un sensor dónde ha caído la bola. Al no tener muy claro cómo íbamos a lanzar la bola y estar escasos de conexiones digitales rápidamente se descartó esta idea.

Otro de nuestros problemas y probablemente el más grave de todos es la falta de conexiones digitales en la placa arduino ya que en vez de un anillo de LEDs, se iba a trabajar con un LED individualmente por cada casilla. Al necesitar tantas conexiones digitales se compraron unos multiplexores para solucionar este problema, no obstante, los multiplexores no funcionaban como se esperaba incluso tras haberlos soldado. Debido a este gran problema se sustituyeron los LEDs individuales por el anillo.

Ligado a lo dicho previamente, se comenzó el proyecto, con la idea de utilizar un ultrasonido, más no se acabó agregando para ahorrar conexiones digitales por medio de un infrarrojos, que tienen una funcionalidad similar, por no decir igual.

Código Final

   

6. Video de Presentación

https://drive.google.com/file/d/1TL6Po4tXwFMSCIUCW4pXxll9Q65JiGYc/view?usp=drive_link

7. Autores

Gonzalo de la Casa Paredes

Theresa Spuller

Alejandro Olías Núñez

También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *