Led RGB (versión antigua)

Los LED son diodos semiconductores que permiten que la corriente circule únicamente en una dirección y emiten luz cuando se activan. Uno de los usos más comunes de los LED es el de indicadores en dispositivos electrónicos, sustituyendo a las pequeñas bombillas que se usaban con anterioridad. Además, dada su capacidad para operar a altas frecuencias, se usan también en tecnologías avanzadas y de control.

El desarrollo más reciente de los LED ha permitido que se puedan utilizar en el ámbito de la iluminación ambiental. Aunque actualmente su uso en este campo es limitado, se prevé un aumento de su presencia en los próximos años, pues tienen numerosas ventajas frente a las lámparas incandescentes y fluorescentes.

Algunas de ellas son las siguientes:

  • Bajo consumo de energía.
  • Vida útil más larga.
  • Menor tamaño.
  • Mayor robustez.
  • Emisión de calor reducida.
  • Mayor resistencia a las vibraciones y a los golpes.

¿Quieres aprender a programar un LED usando qublock?
Te enseñamos mediante ejemplos, vas a necesitar:

  • Un Qudino
  • La Luz LED RGB incorporada
  • Un cable USB
  • Y,  por supuesto, una computadora

Vamos a poner varios ejemplos para que aprendas a  programar la Luz.

Ejemplo 1

Encender una Luz roja

Es uno de los ejemplos de programación más sencillos. Necesitas conectar el Qudino a la computadora, con el cable USB. Usamos el led Rgb del Qudino.

El actuador  Luz, es un componente digital, ya que admite solo dos estados: apagado y encendido. Todos los componentes, ya sean sensores o actuadores que tengan solo dos estados, serán digitales, otro ejemplo es el botón (pulsador), que puede estar pulsado o no pulsado.
Seguimos los siguientes pasos para resolver el problema.


Ahora, programamos con qublock, nuestro qudino  para que encienda el LUZ. Para ello, seleccionamos el bloque Luz, le asignamos el rojo y establecemos la acción que deseamos desempeñar: en este caso, tras programar el qudino, si todo ha ido bien, la LUZ conectado en el rojo debería estar encendido.

Luz encendida en rojo

Si no se enciende, averigua qué puede haber ocurrido haciéndote las siguientes preguntas: “¿He conectado la placa al ordenador?” “¿He seleccionado correctamente el puerto al que se ha conectado la placa?”“¿Me he acordado de ENCENDER  la luz en el bloque?

Ejemplo 2

Apagar un LED

A continuación, vamos a programar nuestra placa controladora para que haga lo contrario, es decir, para que apague la Luz. No olvides programar de nuevo la placa al hacer los cambios.
Vamos a complicarlo un poco, ¿qué tal si ahora hacemos parpadear un LED? En esta ocasión podemos dejar que tú lo intentes por ti mismo. Debes hacer un programa que haga parpadear un LED (encender 1 segundo, apagar 1 segundo). Inténtalo en qublock y luego sigue leyendo más abajo para ver la solución.
Es muy probable que hayas hecho algo así:

Esta solución no funciona porque el programa enciende el LED (durante un instante de tiempo que se corresponde con la velocidad del microprocesador de la tarjeta controladora) e inmediatamente lo apaga durante otro instante. Y, así, una y otra vez. El efecto de este programa es que parece que el LED está siempre encendido (con un brillo ligeramente más tenue al habitual).
El modo de hacer que funcione correctamente es introducir pausas, es decir, cuando, explicamos que el LED debe parpadear entendemos: ENCENDER – APAGAR – ENCENDER – APAGAR – etc.
Esto es incorrecto, en realidad habría que decir: ENCENDER – ESPERAR 1 SEGUNDO – APAGAR – ESPERAR 1 SEGUNDO. – ENCENDER – etc.
Para ello deberás utilizar el bloque retardo o esperar

bloque retardo
Este bloque hace que el programa espere un tiempo determinado. Para indicar el tiempo, puedes usar un bloque de tipo número o una variable. Puedes encontrar el bloque número en la pestaña Matemáticas.
El programa correcto quedaría entonces del siguiente modo:

Si hemos programado la placa correctamente, nuestro LED debería encenderse durante un segundo, apagarse durante un segundo, encenderse de nuevo durante un segundo… Y así hasta el infinito, pues el programa se ejecutará en bucle. ¿Por qué durante un segundo? Porque es el tiempo de espera que hemos fijado para cada estado, pero ese tiempo se puede modificar según nuestras necesidades. Prueba a cambiar la frecuencia de parpadeo.

Luz parpadeando en rojo

Bien, ya sabes lo básico de la programación de un LED. En otra entrada te enseñaremos a programar varios LED a la vez, pero si quieres puedes ir probando tú mismo.

Ejercicios

  • Cambia de color (azul o verde)
  • Cambia el tiempo de espera y de encendido

Digispark – microarduino

Para poder programar esta pequeña versión de Arduino vamos a necesitar una versión de Arduino bastante nueva. Este programa es libre y gratuito así que podemos descargarlo Asegúrate de bajar la versión correcta para tu computadora y sistema operativo. Una vez descargado correrlo es muy simple, no requiere instalación, solo expandir el zip y con un simple doble clic basta para correrlo.

Digistump

Para instalar Digistump vamos a tenes que agregar los siguiente en las preferencias del arduino:
http://digistump.com/package_digistump_index.json
2016-05-09-163727_1024x600_scrot
Una vez agregado en el menu de Herramientas -> Placas -> Gestión de Hardware buscamos Digistump y la agregamos:
2016-05-09-164245_1024x600_scrot
2016-05-09-163834_1024x600_scrot
Ahora vamos a agregar el Digistump a las placas disponibles en arduino. Ir a Herramientas -> Placas y agregar “Digistump 16mhz”
2016-02-10-205534_1024x600_scrot
Ahora elegimos en el menú de Herramientas en la opción de Placa “digispark (default 16.5hz)” y en el mismo menu en la opción de Programador “Micronucleus”

Probarlo

Ahora podemos abrir un programa de “digispark” y cargarlo en nuestra placa, aquí un pequeño ejemplo, que convierte nuestra placa en un teclado:
#include "DigiKeyboard.h"
void setup() {
DigiKeyboard.sendKeyStroke(0);
DigiKeyboard.println("Vivan las maquinas libres!");
}

Al presionar el botón de cargar el programa hay que desconectar la placa y volverla a conectar, digispark usa esa técnica para reconocer el dispositivo durante la carga del programa.

En linux

Si usamos linux tenemos que agregar esto en /etc/udev/rules.d/49-micronucleus.rules para tener acceso a dispositivo:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1"


Más datos en digistump


Retro Joystick

Si tenes un retro-joystick dentro del él se oculta un pequeño attiny85 programable que podes modificar a tu antojo. acá hay algunos ejemplos de lo que hicimos nosotros.