Profe Tolocka

Bits, Volts & KVAr

Juego de luces con leds y Minibloq

Ya he propuesto antes proyectos de Arduino desarrollados empleando Minibloq dado que me parece el mejor entorno de desarrollo para comenzar a programar. En esta oportunidad les presento un proyecto muy sencillo para quienes recién se inician y que se puede ir complejizando para realizar prácticas sobre distintos aspectos, tanto de Minibloq como de la placa Arduino.

El proyecto consiste en un “Juego de luces” con cinco leds que se prenden en secuencia. El tipo de secuencia y por lo tanto “el juego” que hacen las luces dependerá del programa que diseñemos utilizando Minibloq. Como veremos al final, el proyecto puede modificarse para controlar lámparas mas grandes o incluso reflectores de 220V de los que se utilizan para animar las fiestas.

 Luces

Fig. 1. El juego de luces armado en una protoboard

Los cinco leds se conectan a otras tantas salidas de la placa Arduino. Yo he utilizado una placa modelo UNO y he conectado los leds a los pines 2, 3, 4, 5 y 6 que se usarán como salidas. No utilizo los pines 0 y 1 para no interferir con la comunicación entre la PC y la placa Arduino. He limitado la cantidad de leds a 5 arbitrariamente para no complicar el proyecto, pero se pueden usar mas salidas hasta completar la capacidad de la placa.

 Juego de luces

 Fig.2. Circuito

Las resistencias se emplean para limitar la corriente que circula a través de los leds, si no estuvieran podríamos provocar algún daño tanto a los leds como a la placa Arduino. Recuerda también que cada led tiene dos pines bien diferenciados: el ánodo y el cátodo y que si los conectas al revés no encenderán.

Pines del led

 Fig. 3. Identificación de los pines del led

En Minibloq el programa se denomina “componente” y está formado por una sucesión de bloques, cada uno con una función especifica. El primer bloque aparece siempre que iniciamos un componente nuevo y corresponde con el inicio del mismo.

Minibloq_inicio

Fig. 4. Bloque de inicio del módulo en Minibloq

A continuación fijaremos la condición de arranque, cuando se energiza la placa y el programa inicia, con todos los leds apagados. Para ello debemos llevar todas las salidas a “0” o a la condición “OFF”. En Arduino esto puede hacerse de dos maneras: empleando las salidas en modo digital, con sólo dos estados (ON y OFF) o en modo analógico, donde algunas salidas pueden tener hasta 100 niveles distintos de voltaje que se corresponden con 100 niveles distintos de brillo cuando se les conecta un led. Por una cuestión de simplicidad optaremos por la primera opción utilizando el bloque de control digital.

BloquesFig. 5. Bloque para controlar una salida en modo digital

Este bloque requiere de dos parámetros: el número de pin que se desea controlar y el valor (ON u OFF) que le queremos dar al mismo.

Salida digital

Fig. 6. Paramétros de un bloque de salida digital

El numero de pin se especifica eligiéndolo de la lista desplegable y el valor de la salida se selecciona del menú que aparece al hacer click en el lado derecho del módulo.

Valores digitales

Fig. 7. Selector de valores para una salida digital

Volviendo a nuestro juego de luces, ubicaremos cinco módulos para apagar los cinco leds

Cinco_leds

Fig. 8. Inicialiación de las cinco salidas

A continuación, iniciaremos un bucle o lazo dentro del cual iremos prendiendo los leds de a uno. En Minibloq hay dos formas de hacer estas repeticiones: con una cantidad definida de veces o mientras se cumpla una condición

Repeticiones

Fig. 9. Bloques de repeticiones en Minibloq

Como en nuestro proyecto los leds realizan una secuencia que no termina nunca, empleamos el tipo de repetición basado en una condición. Cuando lo seleccionamos en Minibloq, vemos que en realidad inserta dos bloques en vez de uno: el primero marca el inicio y el segundo el final del lazo de repetición. Todo lo que insertemos entre estos bloques se repetirá mientras se cumpla la condición especificada.

Bloque repeticionFig. 10. Bloques de inicio y fin de una repetición condicionada

En el bloque de inicio de la repetición debemos especificar la condición que se debe cumplir para que la misma continúe. Los valores que admite Minibloq son los mismos que se ven en la Fig. 7 y que ya usamos para la salida digital. Lo mas usual es que la condición compare el valor de dos cosas, pero en nuestro caso, como queremos que la repetición sea permanente y no termine nunca, pondremos como condición la tilde verde de “Verdadero”.

Dentro de estos bloques de repetición ubicamos los que van prendiendo y apagando los leds, con un retardo de 100 milisegundos entre ambos para que se pueda apreciar cuando el led enciende

Loop

Fig. 11. Lazo o bucle para prender los leds

Este es el módulo completo (click en la imagen para agrandar)

Luces1

Fig. 12. Módulo completo

Y aquí pueden ver en un video como funciona cuando cargamos el módulo en la placa

 

El programa puede modificarse para lograr una variedad casi infinita de efectos o juegos distintos con los leds, sólo es cuestión de poner a trabajar la imaginación.

El circuito también puede adaptarse para manejar otras cargas. Por ejemplo se podrían usar luces mas grandes, como las de 12V que emplean los autos si las conmutamos con transitores o lámparas de 220V si usamos triacs correctamente aislados de la placa Arduino a través de optoacopladores.

Como siempre, pueden dejar sus consultas y observaciones en los comentarios, o compartir sus propias experiencias.

 

 

2 Comentarios

  1. Gracias x el articulo.
    Sigan realizando publicaciones de proyectos con PLC.
    Ayudan a muchos estudiantes.

Deja un comentario

Tu dirección de correo electrónico no será publicada.

*

© 2018 Profe Tolocka

Tema por Anders NorenArriba ↑

A %d blogueros les gusta esto: