{"id":2221,"date":"2019-12-04T01:26:00","date_gmt":"2019-12-04T01:26:00","guid":{"rendered":"https:\/\/blogs.etsii.urjc.es\/dseytr\/?p=2221"},"modified":"2019-12-04T08:29:38","modified_gmt":"2019-12-04T08:29:38","slug":"8bit-bag","status":"publish","type":"post","link":"https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/","title":{"rendered":"8Bit Bag"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"170\" height=\"170\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/icon.png\" alt=\"\" class=\"wp-image-2223\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/icon.png 170w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/icon-150x150.png 150w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/icon-160x160.png 160w\" sizes=\"auto, (max-width: 170px) 100vw, 170px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><a><strong>Introducci\u00f3n<\/strong><\/a><strong><\/strong><\/h2>\n\n\n\n<p>El proyecto trata de construir un dispositivo\nluminoso bas\u00e1ndose en una mochila y una matriz de diodos led RGB, todo ello controlado\npor una placa ESP32 que proporcionara comunicaci\u00f3n mediante la interfaz\nBluetooth con un dispositivo m\u00f3vil Android mediante el cual se podr\u00e1 controlar\nla matriz led para que realice diferentes funcionalidades. El proceso de\nconstrucci\u00f3n de este dispositivo consta de varias fases de producci\u00f3n\/trabajo\nque entienden tanto la parte de programaci\u00f3n como la parte de trabajo con el\nmaterial hardware, l una vez finalizadas todas las fases dar\u00e1n como resultado\nel dispositivo terminado.<\/p>\n\n\n\n<p>El proceso de construcci\u00f3n consistir\u00e1 en las\nsiguientes fases:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Creaci\u00f3n de matriz led, montaje de\nconexiones, montaje de circuito.<\/li><li>Programaci\u00f3n de aplicaci\u00f3n de\ncontrol para la plataforma Android.<\/li><li>Programaci\u00f3n del firmware para la\nplaca controladora ESP32 Dev Board.<\/li><\/ul>\n\n\n\n<p>Objetivos:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Establecer conexi\u00f3n entre el\ndispositivo m\u00f3vil (tel\u00e9fono m\u00f3vil) y la placa controladora por medio de\nprotocolo de comunicaci\u00f3n Bluetooth.<\/li><li>Implementar una l\u00f3gica de control\npara la aplicaci\u00f3n del tel\u00e9fono m\u00f3vil.<\/li><li>Enviar datos desde el tel\u00e9fono\nm\u00f3vil a la placa controladora.<\/li><li>Desarrollar un protocolo de\ncomandos y par\u00e1metros de control para la placa controladora.<\/li><li>Implementar un m\u00e9todo de recepci\u00f3n\ne interpretaci\u00f3n de comandos de control en la placa controladora.<\/li><li>Montaje y conexionado de la matriz\nled.<\/li><li>Implementar los efectos luminosos\nque ser\u00e1n visualizados posteriormente.<\/li><li>Visualizar efectos luminosos con\nla matriz de leds y placa controladora.<\/li><li>Mantener el coste del proyecto lo m\u00e1s\nbajo posible. <\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><a><strong>Materiales<\/strong><\/a><strong><\/strong><\/h2>\n\n\n\n<p>Para el desarrollo del proyecto necesitare los\nsiguientes materiales:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"\"><tbody><tr><td>\n  Tira de diodos LED RGB 5V, 5m 60leds\/m IP30\n  <\/td><\/tr><tr><td>\n  ESP32 Dev Board \n  <\/td><\/tr><tr><td>\n  Plancha de gomaespuma 40cm x 60cm x 5mm \u2013 1 unidad\n  <\/td><\/tr><tr><td>\n  Condensador electrol\u00edtico 6.3v 470mF o 16v 470mF \u2013 1\n  unidad\n  <\/td><\/tr><tr><td>\n  Conector USB macho tipo A \u2013 1 unidad\n  <\/td><\/tr><tr><td>\n  Cubierta encuadernaci\u00f3n DIN A4 0.45mm pl\u00e1stico \u2013 2\n  unidades\n  <\/td><\/tr><tr><td>\n  Cinta adhesiva doble cara 3M 3metros \u2013 2 rollos\n  <\/td><\/tr><tr><td>\n  Cable \u2013 1.5 metros\n  <\/td><\/tr><tr><td>\n  Resistencia 200 \u2013 400 \u03a9 &#8211; 1\n  unidad\n  <\/td><\/tr><tr><td>\n  Mochila \u2013 1 unidad\n  <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Esquema principal<\/strong><strong><\/strong><\/h2>\n\n\n\n<p>El esquema principal del dispositivo(Ilustraci\u00f3n 1) es bastante simple e intuitivo, b\u00e1sicamente se usan tres cables, tanto la placa controladora como la matriz led se alimentan de la misma fuente de alimentaci\u00f3n por v\u00eda de conector USB que se puede ver en el esquema, salvo que a la hora de conectar la placa a la alimentaci\u00f3n hay que incluir en la l\u00ednea un condensador electrol\u00edtico tal como se muestra en el esquema. Tambi\u00e9n a la hora de conectar la l\u00ednea de datos desde la placa hasta la matriz hay que incluir una resistencia en dicha l\u00ednea para proteger la placa de los saltos de intensidad si se produjesen sobre dicha l\u00ednea.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"565\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/1-1024x565.png\" alt=\"\" class=\"wp-image-2228\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/1-1024x565.png 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/1-300x166.png 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/1-768x424.png 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/1.png 1471w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Problemas con el circuito principal: inestabilidad de funcionamiento de la placa.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a><strong>Construcci\u00f3n de matriz led<\/strong><\/a><strong><\/strong><\/h2>\n\n\n\n<p>Para construir la matriz de los leds lo\nprimero que he hecho es recortar las base donde se ir\u00e1n pegando las tiras, las dimensiones\nde la base son 27 x 27 cent\u00edmetros, hay que usar alg\u00fan tipo de material ligero\npor cuestiones de peso y r\u00edgido para darle robustez a la estructura y que no se\ndeforme f\u00e1cilmente. He utilizado la gomaespuma de 5 mm de grosor, color negro.\nRecomiendo recortar dos piezas iguales ya que una ser\u00e1 la base y otra ser\u00e1 el\nmarco que se fabricara los pasos posteriores y es del mismo material.<\/p>\n\n\n\n<p>Una vez recortada la base hay que cortar la tira de los dodos led en 16 tiras m\u00e1s peque\u00f1as, cada una de 16 diodos led de largo, lo que nos da en total 256 diodos led.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"769\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/2-1024x769.jpg\" alt=\"\" class=\"wp-image-2230\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/2-1024x769.jpg 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/2-300x225.jpg 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/2-768x576.jpg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/2.jpg 1471w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p> Despu\u00e9s de cortar las tiras led hay que pegarlas a la base de gomaespuma empezando por abajo, la primera fila hay que pegarla dejando aproximadamente 5-6mm de margen desde la base de la pieza, las dem\u00e1s tiras hay que pegarlas con el margen de 16.666 mm entre la base de la tira inferior y base de la superior  <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"552\" height=\"170\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/3.png\" alt=\"\" class=\"wp-image-2231\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/3.png 552w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/3-300x92.png 300w\" sizes=\"auto, (max-width: 552px) 100vw, 552px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1473\" height=\"1473\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/4-1024x1024.jpg\" alt=\"\" class=\"wp-image-2232\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/4-1024x1024.jpg 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/4-300x300.jpg 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/4-150x150.jpg 150w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/4-768x768.jpg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/4-160x160.jpg 160w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/4-320x320.jpg 320w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/4.jpg 1473w\" sizes=\"auto, (max-width: 1473px) 100vw, 1473px\" \/><\/figure>\n\n\n\n<p>Una vez pegadas las tiras led se pueden hacer las soldaduras para interconectarlas todas, voy a seguir el siguiente esquema para hacer las conexiones:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"638\" height=\"329\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/5-1.png\" alt=\"\" class=\"wp-image-2234\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/5-1.png 638w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/5-1-300x155.png 300w\" sizes=\"auto, (max-width: 638px) 100vw, 638px\" \/><\/figure>\n\n\n\n<p>Una vez soldado todo paso a fabricar el marco que cubrir\u00e1 las tiras led, la fabricaci\u00f3n del marco consiste en que a partir de la segunda pieza de gomaespuma coartada a principio hay que hacer una marco con cuadrados de tama\u00f1o 1cm x 1cm para ello he dise\u00f1ado una especie de mascara(ver archivo adjunto \u201cMascara marco\u201d) que se imprime en papel y se pega a la pieza , luego con un bistur\u00ed se realizan los recortes de los cuadrados obteniendo el siguiente resultado:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"441\" height=\"402\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/6.png\" alt=\"\" class=\"wp-image-2236\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/6.png 441w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/6-300x273.png 300w\" sizes=\"auto, (max-width: 441px) 100vw, 441px\" \/><\/figure>\n\n\n\n<p>Tras pegar el marco usando cinta adhesiva de doble cara se pegan por encima del mismo las cubiertas de encuadernaci\u00f3n previamente recortadas al tama\u00f1o del marco, estas cubiertas ayudan a difuminar la luz y se consigue un efecto visual mejor, aparte de que es protecci\u00f3n extra para la estructura.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"391\" height=\"388\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/7.png\" alt=\"\" class=\"wp-image-2237\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/7.png 391w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/7-300x298.png 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/7-150x150.png 150w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/7-160x160.png 160w\" sizes=\"auto, (max-width: 391px) 100vw, 391px\" \/><\/figure>\n\n\n\n<p>Como ultimo paso en la fabricaci\u00f3n de la matriz, he hecho una funda de tela para cubrir toda la estructura, la tela en este caso cumple unas funciones est\u00e9ticas, difumina aun mas la luz y tambi\u00e9n se usar\u00e1 a la hora de coser la matriz a la mochila.<\/p>\n\n\n\n<p>Una vez acabada la funda y puesta dentro la matriz todo esto se cose a mano a la mochila.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"323\" height=\"458\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/8.png\" alt=\"\" class=\"wp-image-2238\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/8.png 323w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/8-212x300.png 212w\" sizes=\"auto, (max-width: 323px) 100vw, 323px\" \/><\/figure>\n\n\n\n<p>Problemas que han surgido en esta fase: soldadura de las l\u00edneas de alimentaci\u00f3n, alineaci\u00f3n de leds, corte del marco, problemas con la intensidad de la corriente(insuficiente). <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a><strong>Creaci\u00f3n de firmware<\/strong><\/a><strong> <\/strong><\/h2>\n\n\n\n<p>Para controlar la matriz led he utilizado la una placa con controlador ESP32<\/p>\n\n\n\n<p>Todo el desarrollo del c\u00f3digo se ha realizado\nen la herramienta Arduino Ide, para trabajar con esta placa hay que importarla\nprimero al entorno de desarrollo, para hacer eso hay que seguir el manual que\nviene en el repositorio GitHub del fabricante , <a href=\"https:\/\/github.com\/espressif\/arduino-esp32#installation-instructions\">ver\nmanual<\/a>.<\/p>\n\n\n\n<p>Para trabajar con la matriz led he utilizado\nla librer\u00eda <a href=\"https:\/\/github.com\/FastLED\/FastLED\">FastLED<\/a> que\nproporciona los m\u00e9todos y funciones b\u00e1sicas para la comunicaci\u00f3n y control de\nla matriz led, al igual que antes, es necesario importar la librer\u00eda al entrono\nde desarrollo Arduino.<\/p>\n\n\n\n<p>Tareas que tiene que realizar el firmware:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Creaci\u00f3n de punto de acceso\nBluetooth<\/li><li>Recepci\u00f3n y tratamiento de comandos\ndesde la aplicaci\u00f3n m\u00f3vil<\/li><li>Creaci\u00f3n de utilidades y m\u00e9todos\npara crear diferentes efectos visuales<\/li><li>Visualizar texto recibido desde la\naplicaci\u00f3n m\u00f3vil en la matriz led<\/li><\/ul>\n\n\n\n<p>\n\n\n\n\n\n\n\nPara el desarrollo del firmware he estructurado el\nfirmware en diferentes archivos del proyecto para que sea m\u00e1s c\u00f3modo trabajar\ncon el c\u00f3digo y que sea m\u00e1s entendible. En definitiva, tengo el archivo llamado\n<strong><em>Firmware.ino<\/em><\/strong>, dicho archivo es el principal es donde est\u00e1n\ndefinidas la gran mayor\u00eda de variables y par\u00e1metros para el funcionamiento del\ndispositivo, los dem\u00e1s archivos contienen diferentes m\u00e9todos y funciones como\npor ej: parser, controles de los efectos visuales, correcci\u00f3n de color,\nfunciones para la visualizaci\u00f3n del texto y efectos visuales.\n\n\n\n<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"143\" height=\"164\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/8-1.png\" alt=\"\" class=\"wp-image-2240\" \/><\/figure>\n\n\n\n<p>Resumen descriptivo de los archivos:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"\"><tbody><tr><td>\n  <strong>Archivo<\/strong>\n  <\/td><td>\n  <strong>Descripci\u00f3n<\/strong>\n  <\/td><\/tr><tr><td>\n  Firmware\n  <\/td><td>\n  Archivo principal, configuraciones y variables\n  generales\n  <\/td><\/tr><tr><td>\n  bluetooth\n  <\/td><td>\n  Contiene el parser que recibe los par\u00e1metros de la app\n  y los gestiona\n  <\/td><\/tr><tr><td>\n  effects\n  <\/td><td>\n  Contiene todos los m\u00e9todos de efectos visuales\n  <\/td><\/tr><tr><td>\n  text\n  <\/td><td>\n  Contiene toda la funcionalidad implementada a para\n  visualizar el texto\n  <\/td><\/tr><tr><td>\n  utility\n  <\/td><td>\n  Contiene la funcionalidad de correcci\u00f3n de gama, cambio\n  de colores, etc, uso interno\n  <\/td><\/tr><tr><td>\n  fonts.h\n  <\/td><td>\n  Contiene la codificaci\u00f3n de los vocabularios cirilico y\n  lat\u00edn(ingles) para visualizar el texto\n  <\/td><\/tr><tr><td>\n  timerMinim.h\n  <\/td><td>\n  Contiene la clase timer que sirve para controlar los\n  tiempos(velocidad) de visualizaci\u00f3n de los efectos.\n  <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Explicaci\u00f3n del c\u00f3digo principal:<\/p>\n\n\n\n<p>A principio del c\u00f3digo se definen todas las librer\u00edas que se usaran en el programa<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"273\" height=\"84\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/11.png\" alt=\"\" class=\"wp-image-2241\" \/><\/figure>\n\n\n\n<p>Luego defino todas las variables y par\u00e1metros que son vitales para el funcionamiento del programa, por ej el ancho y alto de la matriz, orden de colores, y el pin de datos de la placa<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"657\" height=\"204\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/22.png\" alt=\"\" class=\"wp-image-2242\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/22.png 657w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/22-300x93.png 300w\" sizes=\"auto, (max-width: 657px) 100vw, 657px\" \/><\/figure>\n\n\n\n<p>A continuaci\u00f3n, vienen definidos los par\u00e1metros y variables para los efectos visuales y funcionamiento correcto del programa<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"614\" height=\"323\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/33.png\" alt=\"\" class=\"wp-image-2243\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/33.png 614w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/33-300x158.png 300w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/figure>\n\n\n\n<p>Tambi\u00e9n defino los objetos timer y bluetooth <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"304\" height=\"135\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/44.png\" alt=\"\" class=\"wp-image-2244\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/44.png 304w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/44-300x133.png 300w\" sizes=\"auto, (max-width: 304px) 100vw, 304px\" \/><\/figure>\n\n\n\n<p>Para controlar cuando se conecta un usuario con la aplicaci\u00f3n del tel\u00e9fono he usado uno de los eventos internos de la controladora ESP32.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"526\" height=\"120\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/55.png\" alt=\"\" class=\"wp-image-2245\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/55.png 526w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/55-300x68.png 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/55-520x120.png 520w\" sizes=\"auto, (max-width: 526px) 100vw, 526px\" \/><\/figure>\n\n\n\n<p>El resultado que genera este evento es\nsimplemente informativo y se puede ver en la consola serie, es para tener\nconocimiento de cuando un usuario se conecta o se desconecta.<\/p>\n\n\n\n<p>A continuaci\u00f3n, vienen las partes est\u00e1ndar de cualquier sketch <em>setup () <\/em>y <em>loop ()<\/em>, en la parte de setup se define el tipo de controladores que se usan en la matriz led, se inician los objetos de las clases bluetooth y timer, se configuran algunos par\u00e1metros para la matriz led, y se pone en funcionamiento el sistema de limitaci\u00f3n de potencia en funci\u00f3n de la intensidad que consume la matriz, si la intensidad se pasa del limite establecido se autoajusta el brillo y as\u00ed la matriz sigue funcionando y no se apaga.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"655\" height=\"361\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/66.png\" alt=\"\" class=\"wp-image-2246\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/66.png 655w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/66-300x165.png 300w\" sizes=\"auto, (max-width: 655px) 100vw, 655px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"305\" height=\"279\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/77.png\" alt=\"\" class=\"wp-image-2247\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/77.png 305w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/77-300x274.png 300w\" sizes=\"auto, (max-width: 305px) 100vw, 305px\" \/><\/figure>\n\n\n\n<p>Todo el funcionamiento del programa se basa en\nque en funci\u00f3n de los par\u00e1metros que reciba el parser v\u00eda bluetooth se van\nllamando diferentes rutinas para efectos y se van estableciendo diferentes\nmodos de funcionamiento, por ej. el modo 2(texto) no sigue la misma l\u00f3gica de\nfuncionamiento que el modo 1(efectos visuales).<\/p>\n\n\n\n<p>Problemas encontrados en el proceso de\ndesarrollo: recepci\u00f3n de una cadena de caracteres, colores err\u00f3neos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a><strong>Creaci\u00f3n de aplicaci\u00f3n para tel\u00e9fono m\u00f3vil.<\/strong><\/a><strong><\/strong><\/h2>\n\n\n\n<p>Para controlar el dispositivo de manera remota\ny c\u00f3moda he decidido crear una aplicaci\u00f3n para la plataforma Android, para esto\nusare el entorno de desarrollo Android Studio, program\u00e1ndola en lenguaje java.<\/p>\n\n\n\n<p>Objetivos que tendr\u00e1 que cumplir la\naplicaci\u00f3n:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Detectar y reconocer dispositivos\nvisibles por protocolo bluetooth alrededor<\/li><li>Establecer conexi\u00f3n con el\ndispositivo seleccionado de la lista<\/li><li>Realizar comunicaci\u00f3n con el\ndispositivo (enviar comandos)<\/li><\/ul>\n\n\n\n<p>Para conseguir la funcionalidad b\u00e1sica de la\naplicaci\u00f3n y cumplir con los dos primeros objetivos marcados he programado una\naplicaci\u00f3n base que simplemente realizaba un escaneo, creaci\u00f3n de lista de\ndispositivos y conexi\u00f3n al dispositivo seleccionado. Esta parte de programaci\u00f3n\nfue la que ocupo aproximadamente 40% del tiempo total que he empleado en el\nproyecto, cuando logre cumplir los dos primeros objetivos implemente toda la\nl\u00f3gica para poder enviar par\u00e1metros y comandos a la placa controladora y como\n\u00faltimo paso implemente una interfaz gr\u00e1fica usable, no muy compleja para poder\nusar c\u00f3modamente la aplicaci\u00f3n.<\/p>\n\n\n\n<p>A continuaci\u00f3n, detallo algunas capturas de pantalla de la aplicaci\u00f3n<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"792\" height=\"1024\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/12\/99-792x1024.png\" alt=\"\" class=\"wp-image-2248\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/99-792x1024.png 792w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/99-232x300.png 232w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/99-768x993.png 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/99-1187x1536.png 1187w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/99.png 1472w\" sizes=\"auto, (max-width: 792px) 100vw, 792px\" \/><\/figure>\n\n\n\n<p>Como podemos observar en Ilustraci\u00f3n 16. Capturas de pantallas de la aplicaci\u00f3n ,\nalgunos de los efectos aparte de los controles est\u00e1ndar de \u201cBrillo\u201d y\n\u201cVelocidad\u201d tienen opciones extra que permiten cambiar par\u00e1metros en esos\nefectos en concreto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a><strong>Soluci\u00f3n de problemas encontrados<\/strong><\/a><strong><\/strong><\/h2>\n\n\n\n<p><strong>Inestabilidad de funcionamiento de la\nplaca<\/strong>: dado que la matriz led consume mucha\npotencia y produce saltos bastante importantes de tensi\u00f3n la placa controladora\nfuncionaba de manera muy inestable, esto se ha solucionado incorporando un\ncondensador electrolitico de 6.3 v y 470mF en la l\u00ednea de alimentaci\u00f3n de la\nplaca, con esto se consigue dar estabilidad a la placa y reducir los saltos de\ntensi\u00f3n.<\/p>\n\n\n\n<p><strong>Soldadura de las l\u00edneas de alimentaci\u00f3n:\n<\/strong>para las l\u00edneas de alimentaci\u00f3n he usado cables de\nbastante y grosor y rigidez ya que tienen que soportar hasta 3A de intensidad,\ndado esto no era factible realizar soldaduras laterales como las que se ven en Ilustraci\u00f3n 5. Esquema de conexi\u00f3n de tiras led, ya que\nocupar\u00edan un espacio lateral considerable y visualmente quedar\u00edan mal, la\nsoluci\u00f3n que he implementado ha sido fabricar una serie contactos en forma de\nletra T, soldarlos a las l\u00edneas de alimentaci\u00f3n y pasarlos por unos agujeros en\nla base de gomaespuma, posteriormente en la parte trasera de la base he\nrealizado las soldaduras con los cables , ver Ilustraci\u00f3n 6. L\u00edneas de alimentaci\u00f3n soldadas en la parte\ntrasera .<\/p>\n\n\n\n<p><strong>corte del marco:<\/strong> inicialmente fabriqu\u00e9 una herramienta a partir de una esp\u00e1tula en\nforma de cuadrado 1cm x 1 cm, con la idea de hacer los cortes con esa\nherramienta, pero al ver que no cortaba bien y estropeaba el material decid\u00ed\nhacer los corte a mano con un bistur\u00ed, en total 1024 cortes realizados en 2h.<\/p>\n\n\n\n<p><strong>problemas con la intensidad de la\ncorriente(insuficiente): <\/strong>en principio me encontr\u00e9\nel problema de que la matriz led no funciona adecuadamente si se le poner mas\nde la mitad del brillo, ese problema se debe a que dichas tiras led est\u00e1n\npensadas para trabajar con fuentes de alimentaci\u00f3n que puedan proporcionar al\nmenos 3A de intensidad de corriente, dado que mi proyecto usa un PowerBank como\nfuente de alimentaci\u00f3n me he visto obligado a reducir mediante software el\nconsumo energ\u00e9tico a m\u00e1ximo de 2A que es un valor m\u00e1s com\u00fan para los PowerBank.<\/p>\n\n\n\n<p><strong>recepci\u00f3n de una cadena de caracteres:<\/strong> a la hora de implementar el parser para recibir e interpretar los\ncomandos enviados desde la app del tel\u00e9fono me tope con el problema de\nrecepci\u00f3n de una cadena de caracteres y de que el programa no detectaba donde\nacababa dicha cadena de caracteres, la soluci\u00f3n fue definir unos caracteres especiales\npara inicio y final de cada comando, de este modo he conseguido tener\ndelimitado el inicio y final de cada comando y poder tratarlo de manera\nadecuada.<\/p>\n\n\n\n<p><strong>colores err\u00f3neos: <\/strong>a la hora de enviar los c\u00f3digos de colores desde la aplicaci\u00f3n m\u00f3vil la\nmatriz led interpretaba algunos de esos colores de manera err\u00f3nea , para\nsolventar ese problema he implementado una funci\u00f3n llamada <em>gammaCorrection<\/em>\nque se encarga de corregir ese error, lo que hace es descomponer el c\u00f3digo de\ncolor en bytes hexadecimales y los compara con arrays de valores de color para\ncada byte, Red, Green, Blue, despu\u00e9s de obtener nuevos valores de esos bytes ,\nvuelve a componer el c\u00f3digo de color ya corregido.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a><strong>Mejoras<\/strong><\/a><strong> <\/strong><\/h2>\n\n\n\n<p>El dispositivo o el sistema implementado tiene\nmucho margen de mejora, y esta pensado as\u00ed a prop\u00f3sito, ya que cualquier\npersona puede usarlo como base en su propio proyecto, crear nuevos efectos\nvisuales, a\u00f1adir m\u00e1s m\u00f3dulos a la placa, como por ej. giroscopios, sensores de\nmovimiento, sensores de luz, y un largo etc. <\/p>\n\n\n\n<p>Personalmente a m\u00ed me gustar\u00eda mejorar los\nsiguientes aspectos del sistema:<\/p>\n\n\n\n<p>Implementar una comunicaci\u00f3n bidireccional\ndispositivo &lt;-&gt; tel\u00e9fono m\u00f3vil.<br>\nAprovechando que la placa tiene WIFI implementar un sistema de actualizaciones\nv\u00eda OTA.<br>\nReducir el consumo energ\u00e9tico del dispositivo.<br>\nHacer que la matriz sea modular.<br>\nPixelizar im\u00e1genes en la matriz.<br>\nDibujar en la matriz.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a><strong>Costes<\/strong><\/a><strong><\/strong><\/h2>\n\n\n\n<p>Los costes en materiales para fabricar este\ndispositivo han sido los siguientes:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"\"><tbody><tr><td>\n  <strong>Pieza<\/strong>\n  <\/td><td>\n  <strong>Valor<\/strong>\n  <\/td><\/tr><tr><td>\n  Tira de diodos LED RGB 5V, 5m 60leds\/m IP30\n  <\/td><td>\n  13.81 \u20ac\n  <\/td><\/tr><tr><td>\n  ESP32 Dev Board\n  <\/td><td>\n  4.78 \u20ac\n  <\/td><\/tr><tr><td>\n  Plancha de gomaespuma 40cm x 60cm x 5mm \n  <\/td><td>\n  2 \u20ac\n  <\/td><\/tr><tr><td>\n  Condensador electrol\u00edtico 6.3v 470mF\n  <\/td><td>\n  0.60 \u20ac\n  <\/td><\/tr><tr><td>\n  Conector USB macho tipo A \n  <\/td><td>\n  0.20 \u20ac\n  <\/td><\/tr><tr><td>\n  Cubierta encuadernaci\u00f3n DIN A4 0.45mm pl\u00e1stico &#8211; 2\n  unidades\n  <\/td><td>\n  0.80 \u20ac \/ unidad\n  <\/td><\/tr><tr><td>\n  Cinta adhesiva doble cara 3M 3metros \u2013 2 rollos \n  <\/td><td>\n  0.90 \u20ac \/ unidad\n  <\/td><\/tr><tr><td>\n  Cable \u2013 1.5 metros \n  <\/td><td>\n  1 \u20ac\n  <\/td><\/tr><tr><td>\n  Resistencia 200 \u2013 400 \u03a9 \n  <\/td><td>\n  0.20 \u20ac\n  <\/td><\/tr><tr><td>\n  Mochila \u2013 1 unidad\n  <\/td><td>\n  15 \u20ac\n  <\/td><\/tr><tr><td>\n  &nbsp;\n  <\/td><td>\n  &nbsp;\n  <\/td><\/tr><tr><td>\n  &nbsp;\n  <\/td><td>\n  &nbsp;\n  <\/td><\/tr><tr><td>\n  &nbsp;\n  <\/td><td>\n  &nbsp;\n  <\/td><\/tr><tr><td>\n  &nbsp;\n  <\/td><td>\n  &nbsp;\n  <\/td><\/tr><tr><td>\n  Total\n  <\/td><td>\n  40.99 \u20ac IVA incl\n  <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><a><strong>Conclusiones<\/strong><\/a><strong><\/strong><\/h2>\n\n\n\n<p>Trabajar en este proyecto me ha hecho aprender\nmas cosas sobre los dispositivos empotrados, aprender a crear aplicaciones para\ntel\u00e9fonos m\u00f3viles Android, aprender infinidad sobre los efectos luminosos, como\nse comportan y come se pueden crear. En realidad, este sistema se puede\ninterpretar como un lienzo en blanco ya que cualquiera con conocimientos de\nprogramaci\u00f3n puede utilizarlo y mejorarlo, crear sus propios efectos visuales o\nincorporarlo a sus propios sistemas como un a\u00f1adido.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a><strong>Objetivos cumplidos<\/strong><\/a><strong><\/strong><\/h2>\n\n\n\n<p>Considero todos los objetivos marcados al principio de esta memoria como cumplidos ya que se ha obtenido un producto final funcional y adecuado a los objetivos.<\/p>\n\n\n\n<p>Videodemostracion:<\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"video-container\"><iframe loading=\"lazy\" title=\"Proyecto 8bitBag - demostracion de efectos visuales\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/lYEFkpcIkvo?feature=oembed&#038;wmode=opaque\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n\n\n\n<p>Todos los recursos del proyecto en github:  <a href=\"https:\/\/github.com\/yarosdytko\/8Bit-bag\">https:\/\/github.com\/yarosdytko\/8Bit-bag<\/a> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n El proyecto trata de construir un dispositivo luminoso bas\u00e1ndose en una mochila y una matriz de diodos led RGB, todo ello controlado por una placa ESP32 que proporcionara comunicaci\u00f3n mediante la interfaz Bluetooth&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":2223,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2221","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-proyectos"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>8Bit Bag - Proyectos con Arduino.<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"8Bit Bag - Proyectos con Arduino.\" \/>\n<meta property=\"og:description\" content=\"Introducci\u00f3n El proyecto trata de construir un dispositivo luminoso bas\u00e1ndose en una mochila y una matriz de diodos led RGB, todo ello controlado por una placa ESP32 que proporcionara comunicaci\u00f3n mediante la interfaz Bluetooth&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/\" \/>\n<meta property=\"og:site_name\" content=\"Proyectos con Arduino.\" \/>\n<meta property=\"article:published_time\" content=\"2019-12-04T01:26:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-12-04T08:29:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/icon.png\" \/>\n\t<meta property=\"og:image:width\" content=\"170\" \/>\n\t<meta property=\"og:image:height\" content=\"170\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Administrador de la red\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Administrador de la red\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/8bit-bag\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/8bit-bag\\\/\"},\"author\":{\"name\":\"Administrador de la red\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/person\\\/bdc38fea664f13638d2a51f4d2fc7211\"},\"headline\":\"8Bit Bag\",\"datePublished\":\"2019-12-04T01:26:00+00:00\",\"dateModified\":\"2019-12-04T08:29:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/8bit-bag\\\/\"},\"wordCount\":2707,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/8bit-bag\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2019\\\/12\\\/icon.png\",\"articleSection\":[\"Proyectos\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/8bit-bag\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/8bit-bag\\\/\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/8bit-bag\\\/\",\"name\":\"8Bit Bag - Proyectos con Arduino.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/8bit-bag\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/8bit-bag\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2019\\\/12\\\/icon.png\",\"datePublished\":\"2019-12-04T01:26:00+00:00\",\"dateModified\":\"2019-12-04T08:29:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/8bit-bag\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/8bit-bag\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/8bit-bag\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2019\\\/12\\\/icon.png\",\"contentUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2019\\\/12\\\/icon.png\",\"width\":170,\"height\":170},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/8bit-bag\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"8Bit Bag\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#website\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\",\"name\":\"Proyectos con Arduino.\",\"description\":\"Blog de proyectos de Arduino de alumnos de la URJC\",\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\",\"name\":\"Universidad Rey Juan Carlos\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2022\\\/05\\\/logourjc-1.jpg\",\"contentUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2022\\\/05\\\/logourjc-1.jpg\",\"width\":745,\"height\":288,\"caption\":\"Universidad Rey Juan Carlos\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/person\\\/bdc38fea664f13638d2a51f4d2fc7211\",\"name\":\"Administrador de la red\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e8e366128f81a82735b0b00fe6d280414b4bad087e380fa9fee9694454b8a6fa?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e8e366128f81a82735b0b00fe6d280414b4bad087e380fa9fee9694454b8a6fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e8e366128f81a82735b0b00fe6d280414b4bad087e380fa9fee9694454b8a6fa?s=96&d=mm&r=g\",\"caption\":\"Administrador de la red\"},\"sameAs\":[\"https:\\\/\\\/blogs.etsii.urjc.es\"],\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/author\\\/etsiiadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"8Bit Bag - Proyectos con Arduino.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/","og_locale":"es_ES","og_type":"article","og_title":"8Bit Bag - Proyectos con Arduino.","og_description":"Introducci\u00f3n El proyecto trata de construir un dispositivo luminoso bas\u00e1ndose en una mochila y una matriz de diodos led RGB, todo ello controlado por una placa ESP32 que proporcionara comunicaci\u00f3n mediante la interfaz Bluetooth&#46;&#46;&#46;","og_url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/","og_site_name":"Proyectos con Arduino.","article_published_time":"2019-12-04T01:26:00+00:00","article_modified_time":"2019-12-04T08:29:38+00:00","og_image":[{"width":170,"height":170,"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/icon.png","type":"image\/png"}],"author":"Administrador de la red","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Administrador de la red","Tiempo de lectura":"14 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/#article","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/"},"author":{"name":"Administrador de la red","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/person\/bdc38fea664f13638d2a51f4d2fc7211"},"headline":"8Bit Bag","datePublished":"2019-12-04T01:26:00+00:00","dateModified":"2019-12-04T08:29:38+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/"},"wordCount":2707,"commentCount":0,"publisher":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/icon.png","articleSection":["Proyectos"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/","name":"8Bit Bag - Proyectos con Arduino.","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/#primaryimage"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/icon.png","datePublished":"2019-12-04T01:26:00+00:00","dateModified":"2019-12-04T08:29:38+00:00","breadcrumb":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/#primaryimage","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/icon.png","contentUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/12\/icon.png","width":170,"height":170},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/8bit-bag\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blogs.etsii.urjc.es\/dseytr\/"},{"@type":"ListItem","position":2,"name":"8Bit Bag"}]},{"@type":"WebSite","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#website","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/","name":"Proyectos con Arduino.","description":"Blog de proyectos de Arduino de alumnos de la URJC","publisher":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.etsii.urjc.es\/dseytr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization","name":"Universidad Rey Juan Carlos","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/logo\/image\/","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2022\/05\/logourjc-1.jpg","contentUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2022\/05\/logourjc-1.jpg","width":745,"height":288,"caption":"Universidad Rey Juan Carlos"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/person\/bdc38fea664f13638d2a51f4d2fc7211","name":"Administrador de la red","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/e8e366128f81a82735b0b00fe6d280414b4bad087e380fa9fee9694454b8a6fa?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/e8e366128f81a82735b0b00fe6d280414b4bad087e380fa9fee9694454b8a6fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e8e366128f81a82735b0b00fe6d280414b4bad087e380fa9fee9694454b8a6fa?s=96&d=mm&r=g","caption":"Administrador de la red"},"sameAs":["https:\/\/blogs.etsii.urjc.es"],"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/author\/etsiiadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/2221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/comments?post=2221"}],"version-history":[{"count":10,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/2221\/revisions"}],"predecessor-version":[{"id":2252,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/2221\/revisions\/2252"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media\/2223"}],"wp:attachment":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media?parent=2221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/categories?post=2221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/tags?post=2221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}