Archivo de la etiqueta: rgb

WS2812 / NeoPixel – Led Matrix

Una de las maneras más rápidas y sencillas de trabajar con leds ws2812 es con la shield 40 leds lista para conectar a nuestro Arduino.

O con una matriz de leds fácil de conectar a la placa Arduino:

Para manejar todos estos leds RGB gracias a la magia de los leds inteligentes ws2812 sólo necesitamos un pin

Utilizando la shield indicada al principio, utilizaremos el pin 13 y un tamaño de 40 leds (8×5):

ArduinoBlocks nos permite fijar el color de cada led RGB de una forma sencilla, ya sea indicando el número de píxel linealmente o de forma matricial indicando las coordenadas x,y

Además podemos definir los gráficos a visualizar con el editor y volcar los datos directamente en la matriz de leds:

Con todo esto realizamos un programa de demostración:

http://www.arduinoblocks.com/web/project/14849

Video en funcionamiento:

+Info:

http://www.arduinoblocks.com

Documentación & Libros:

http://www.arduinoblocks.com/web/site/doc

Colaborador & Distribuidor oficial Keyestudio:

Innova Didactic

 

 

Compartir

¡Conecta tu Arduino al Internet de las cosas! (IoT)

Ya podemos conectar nuestros proyectos de ArduinoBlocks a Internet y controlar y monitorizar remotamente cualquier sensor / actuador que conectemos. Únete al Internet de las Cosas (IoT) con ArduinoBlocks gracias a los bloques que implementan la comunicación MQTT.

Sólo necesitamos una Shield Ethernet (muy económicas) y conectarla a un router para darle conexión a Internet a nuestra placa Arduino.

La red donde conectemos Arduino debe tener un servidor DHCP para asignar automáticamente la dirección IP

IMPORTANTE: La shield Ethernet utiliza los pines: 10, 11,12,13 y el pin 4 si utilizamos la SD que lleva también incorporada la shield.

  • ¿Qué es MQTT?

MQTT es un protocolo de comunicación para redes TCP/IP muy sencillo y ligero en el que todos los dispositivos se conectan a un servidor (llamado “broker“). Los dispositivos pueden enviar (publicar) o recibir (suscribirse) mensajes asociándoles un “topic” (tema).

El “broker” se encarga de gestionar los mensajes y distribuirlos entre todos los dispositivos conectados.

Ejemplo de esquema MQTT con un dispositivo publicando un mensaje y el “broker” los difunde a todos los dispositivos suscritos a ese “topic”:

  • Bloques MQTT en ArduinoBlocks

Iniciar: permite configurar los datos de conexión con el “broker” a utilizar. Por defecto se utiliza el “broker” público y gratuito “iot.eclipse.org“. En caso de utilizar otro “broker” con seguridad debemos indicar el usuario / clave.

La dirección MAC debe ser única en nuestra red local, si no tenemos una facilitada en la EthernetShield podemos dejar la de ejemplo (generada aleatoriamente). El ID de cliente también se genera al azar.

Publicar: Permite enviar un mensaje con un “topic” (Tema) y un valor al “broker” para que difunda el mensaje a todos los suscriptores.

Suscribir: Permite suscribirse a un “Topic” (Tema) para recibirlo. ArduinoBlocks lo asocia a una variable, de forma que cuando se reciba el valor desde la conexión para ese “topic” se actualizará automáticamente el valor de la variable dentro del programa Arduino (sólo funciona con la suscripción a “topics” con valores numéricos)

Estado de la conexión: Permite obtener el estado de la conexión, si está conectado al “broker” o no.

  • ¿Qué “broker” MQTT utilizo para mis proyectos?

iot.eclipse.org (puerto: 1883, sin usuario ni clave)

Es un broker público. Tenemos que tener en cuenta que no es una opción segura pues nuestro mensajes son compartido con todos los dispositivos que utilicen este “broker“. Se utiliza para prueba o fines docentes. Los “topics” deben ser lo más personalizados posibles para evitar entrar en conflicto con otros dispositivos que pudieran utilizar el mismo “topic“:

Ejemplo de "topic": "AB/juanjo/p1/led"

Otro “broker” público muy utilizado para pruebas es:

broker.hivemq.com (puerto: 1883, sin usuario ni clave)

Podemos ver en tiempo real el funcionamiento de éste último:

http://www.mqtt-dashboard.com/

Por otro lado tenemos algunos “brokers” con acceso por usuario/clave que nos permiten un uso limitado con cuentas gratuitas y un uso más intensivo con cuentas de pago, como por ejemplo:

www.cloudmqtt.com

Después de registrarse se facilitan los datos de conexión (servidor, puerto, usuario, clave). Con la modalidad "Cute Cat" tenemos un límite de 10 dispositivos conectados y 10Kb/s de datos que será suficiente para nuestros proyectos.
  • EJEMPLOS

Ejemplo 1 – Envío de la temperatura y humedad cada 5 segundos

Arduino lee la temperatura y humedad del sensor DHT11 y la publica cada 5 segundos con el topic: “AB/temperatura” y “AB/humedad

Desde un dispositivo móvil (por ejemplo Android con la aplicación MQTT Dashboard) conectándonos al mismo “broker” y suscribiéndonos a los mismos  topics “AB/temperatura” y “AB/humedad” recibimos la información… ¡desde cualquier lugar del mundo!

Montaje y programación:

http://www.arduinoblocks.com/web/project/3504

Visualización en aplicación móvil “MQTT Dashboard” y “MQTT Dash” (Android)

 

Ejemplo 2 – Control de led RGB

Montaje y programación:

http://www.arduinoblocks.com/web/project/3505

Control desde aplicación móvil “MQTT Dashboard” (Android):

En funcionamiento:

Ejemplo 3 – Control de relé + monitorización del nivel de luz con LDR

Montaje y programación:

http://www.arduinoblocks.com/web/project/3506

Control y monitorización con aplicación móvil “MQTT Dashboard” (Android):

Video del último ejemplo en funcionamiento:

  • Clientes MQTT para dispositivos móviles:

MQTT Dashboard (Android)

MyMQTT (Android)

MQTT Dash (IoT, SmartHome)

MQTT Tester (iPhone)

  • Enlaces de interés:

https://github.com/mqtt/mqtt.github.io/wiki/public_brokers

https://geekytheory.com/que-es-mqtt

https://en.wikipedia.org/wiki/MQTT

https://github.com/mqtt/mqtt.github.io/wiki

https://es.wikipedia.org/wiki/Internet_de_las_cosas

https://es.aliexpress.com/store/product/1pcs-Arduino-Shield-Ethernet-Shield-W5100-R3-UNO-Mega-2560-1280-328-UNR-R3-W5100-Development/428351_32709442003.html

+Info, ejemplos y proyectos resueltos en el libro oficial:

Compartir