Juego de la suerte con LabVIEW y Arduino - Masterhacks Blog

Juego de la suerte con LabVIEW y Arduino

En este artículo se mostrará un programa en LabVIEW que simula el funcionamiento de una ruleta o de una máquina tragamonedas, en la que cierto número de luces prenden y encienden iniciando rápidamente y terminando lento. En este caso, si la luz verde queda encendida al final, el jugador gana, en caso contrario.

Este programa es parecido al que ya se había mostrado anteriormente como máquina tragamonedas, pero en este caso, se tiene una peculiaridad, se utilizará Arduino para que las luces del panel frontal se vean  físicamente en un circuito eléctrico, al igual que el botón con el que se comienza a jugar.

El panel frontal del programa es el siguiente:

Se tiene cuatro leds de distintos colores y dos botones, uno que detiene la ejecución del programa y otro que abre la página web del desarrollador.

Nótese que no se tiene un botón de inicio de juego, pues ese está físicamente en el circuito.

El código del programa es el siguiente:

Se tiene un ciclo while que alberga todo el programa, se configuró Arduino para utilizar los pines digitales 2, 4, 7,8  y 12, cuatro para los leds y uno para el botón de inicio.

Con un Case se establece que si el pin del botón está en cero (desactivado o falso), no se hace nada, cuando es uno (activado o verdadero), se utiliza un ciclo for para la función principal del programa.

Se utiliza un número aleatorio con un rango máximo de 127 para el número de repeticiones del ciclo.

Con un shift register inicializado en cero, se establece la velocidad de cada repetición, esto conectando el shift register a un timer que hace que cada repetición dure más, para dar el efecto deseado.

Se utilizan cinco shift register de tipo booleanos para los leds, uno inicializado como verdadero y los demás como falsos. Para que con cada repetición del ciclo se vaya encendiendo el siguiente led, de acuerdo al tiempo que el mismo ciclo proporciona. Luego, estos valores se envían a los leds del programa y a su vez al Arduino, con un convertidor de booleano a 0,1, para que el Arduino pueda reconocer el valor que se está enviando. De esta manera, lo que se observa en los leds de la computadora, también se observa en los leds del circuito físico.

Posteriormente, en el programa principal, dentro del While, se tiene una variable local del led que se tiene como ganador, en este caso el verde, conectado a un Case, en el que se tiene una constante de texto con una felicitación que se muestra en el indicador de texto del programa. También se tiene un elemento de sonido que hará que el sistema emita una alerta.

Para evitar que suene la alerta y se muestre el mensaje de victoria cuando ciclo de encendido de los leds sigue funcionando, se tiene un Timing que establece que el led debe estar encendido al menos 300 milisegundos.

Finalmente con otro case se tiene la acción de abrir una página web en el navegador por defecto. La página web que se abrirá se define mediante una constante de texto.

El circuito físico queda de la siguiente manera:

Descarga aquí el VI

Video demostrativo

Gracias por apoyar el libre conocimiento con tu donación!
Bitcoin: bc1q4sw9260twfcxatj8mjp7358cyvrf8whzlelyhj
Ethereum: 0xFb93D2a3c9d1A0b83EE629c2dE1725BCa192e581
Litecoin: LbFduJmHvQXcpCnwfUT7aJ4DYoWSL3iQw8
Dogecoin: D7QQVqNR5rk215A4zd2gyzV9P2bLQtZHFV
Transferencia bancaria en México:
Cuenta CLABE: 646180224401848086 Nombre: Masterhacks LATAM Banco: STP

Unete a nuestros grupos:
WhatsApp: https://chat.whatsapp.com/C8fqiz3aDDc58VRRd1vdrb
Telegram: https://t.me/masterhacks_net
Canal de WhatsApp https://whatsapp.com/channel/0029VaBBLCn5vKAH9NOWCl3K

Deja una respuesta

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