{"id":6839,"date":"2023-05-08T13:31:46","date_gmt":"2023-05-08T11:31:46","guid":{"rendered":"https:\/\/blogs.etsii.urjc.es\/dseytr\/?p=6839"},"modified":"2023-05-09T08:37:58","modified_gmt":"2023-05-09T06:37:58","slug":"sistema-de-senalizacion-de-trafico","status":"publish","type":"post","link":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-senalizacion-de-trafico\/","title":{"rendered":"Sistema de se\u00f1alizaci\u00f3n de Tr\u00e1fico"},"content":{"rendered":"\n<p>Autores: Diego Picazo Garc\u00eda, \u00c1ngel Esparrells Gonz\u00e1lez, Lara Fern\u00e1ndez Guti\u00e9rrez y Mireya De Diego Gordo<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"636\" height=\"477\" data-id=\"6873\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.33-edited.png\" alt=\"\" class=\"wp-image-6873\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.33-edited.png 636w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.33-edited-300x225.png 300w\" sizes=\"auto, (max-width: 636px) 100vw, 636px\" \/><\/figure>\n<\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-medium-font-size\"><strong>Informaci\u00f3n<\/strong><\/h2>\n\n\n\n<p>Nuestro proyecto consiste en el dise\u00f1o e implementaci\u00f3n de una mochila con un sistema de se\u00f1alizaci\u00f3n integrado, el cual sirve para dar indicaciones durante la circulaci\u00f3n. Su uso est\u00e1 orientado principalmente a medios de desplazamiento como bicicletas, patines o patinetes.<\/p>\n\n\n\n<p>Hemos elegido esta idea de proyecto ya que consideramos que al circular utilizando alguno de estos medios, es peligroso el no poder se\u00f1alizar ning\u00fan tipo de indicaci\u00f3n, salvo con la mano, lo cual puede producir gran cantidad de accidentes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-medium-font-size\"><strong><strong><strong>Materiales<\/strong><\/strong><\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Matriz LED 16&#215;16 (31.99\u20ac)<\/li>\n\n\n\n<li>Bateria de 4.5V (5\u20ac)<\/li>\n\n\n\n<li>Cables (Equipo Docente)<\/li>\n\n\n\n<li>Interruptores (1.30\u20ac\/bot\u00f3n)<\/li>\n\n\n\n<li>MPU-6050 (11.99\u20ac)<\/li>\n\n\n\n<li>Protoboard (Equipo Docente)<\/li>\n\n\n\n<li>Placa Arduino (Equipo Docente)<\/li>\n\n\n\n<li>Mochila (7.99\u20ac)<\/li>\n\n\n\n<li>Pol\u00edmetro (Tra\u00eddo de casa)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><strong>Pasos Dados<\/strong><\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Lluvia de ideas<\/li>\n\n\n\n<li>Selecci\u00f3n final del proyecto<\/li>\n\n\n\n<li>Planteamiento y esquema de organizaci\u00f3n y reparto de tareas<\/li>\n\n\n\n<li>Lista con los materiales a necesitar y posterior compra de estos<\/li>\n\n\n\n<li>Estudio del funcionamiento de los materiales adquiridos<\/li>\n\n\n\n<li>Inicio del c\u00f3digo y conexiones mediante pruebas y correcciones<\/li>\n\n\n\n<li>Soluci\u00f3n a problemas encontrados<\/li>\n\n\n\n<li>Dise\u00f1o final del proyecto<\/li>\n\n\n\n<li>Redacci\u00f3n de memoria<\/li>\n\n\n\n<li>Realizaci\u00f3n de v\u00eddeo de demostraci\u00f3n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Implementaci\u00f3n<\/strong><\/h2>\n\n\n\n<p>El software utilizado para la realizaci\u00f3n de la pr\u00e1ctica ha sido Arduino. Hemos utilizado diferentes librer\u00edas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Adafruit<\/strong> para la utilizaci\u00f3n de la matriz LED<\/li>\n\n\n\n<li><strong>MPU-6050<\/strong> para la comunicaci\u00f3n con el m\u00f3dulo de sensor de movimiento MPU-6050, permitiendo as\u00ed obtener mediciones precisas y en tiempo real de la posici\u00f3n y la orientaci\u00f3n de un objeto<\/li>\n\n\n\n<li><strong>Wire.h<\/strong> para la comunicaci\u00f3n con el m\u00f3dulo del sensor de movimiento que usa el protocolo I2C, facilitando el proceso de lectura y escritura de datos desde y hacia el dispositivo<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Problemas y Soluciones<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Los cables no funcionaban bien y hubo que cambiarlos por un recubrimiento mejor y una calidad superior<\/li>\n\n\n\n<li>El aceler\u00f3metro no hac\u00eda contacto correctamente y hubo que soldar las entradas<\/li>\n\n\n\n<li>El aceler\u00f3metro no imprim\u00eda los valores correctos (error (127,127,127)), indagando por la red descubrimos que era un error com\u00fan que estaba provocado por el propio dispositivo que estaba roto<\/li>\n\n\n\n<li>Problemas de concurrencia de la placa de Arduino al leer dos entradas simult\u00e1neamente, anal\u00f3gicas y digitales. Resuelto quitando algunas de las comprobaciones de los intermitentes (se\u00f1ales digitales) y de esa forma evitando la interrupci\u00f3n con se\u00f1ales anal\u00f3gicas<\/li>\n\n\n\n<li>Para disminuir la latencia, se ha acotado el tiempo de la funci\u00f3n \u00abSTOP\u00bb en 6 unidades, 3 por encima y 3 por abajo del valor registrado, evitando falsas lecturas a la hora de estar parados con la mochila.<\/li>\n\n\n\n<li>Tuvimos un problema con la memoria RAM de Arduino, lo que nos oblig\u00f3 en varias ocasiones a refactorizar el c\u00f3digo de distintas formas <\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Reparto de Tareas<\/strong><\/h2>\n\n\n\n<p>En relaci\u00f3n al c\u00f3digo hemos invertido aproximadamente unas 10 horas, ya que adem\u00e1s de realizar la implementaci\u00f3n, tuvimos que documentarnos a trav\u00e9s de v\u00eddeos y apuntes de la asignatura sobre el funcionamiento de los materiales adquiridos.<\/p>\n\n\n\n<p>Respecto al montaje del proyecto, hemos empleado 15 horas, ya que hemos ido probando el correcto funcionamiento de cada componente por separado antes de su completa elaboraci\u00f3n.<\/p>\n\n\n\n<p>En cuanto a la memoria, su realizaci\u00f3n nos ha supuesto el empleo de unas 5 horas.<\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Casos de Uso<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"610\" height=\"570\" data-id=\"6843\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.02.37.png\" alt=\"\" class=\"wp-image-6843\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.02.37.png 610w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.02.37-300x280.png 300w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><figcaption class=\"wp-element-caption\"><strong>Veh\u00edculo parado<\/strong><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"636\" height=\"564\" data-id=\"6851\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.33.png\" alt=\"\" class=\"wp-image-6851\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.33.png 636w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.33-300x266.png 300w\" sizes=\"auto, (max-width: 636px) 100vw, 636px\" \/><figcaption class=\"wp-element-caption\"><strong>Veh\u00edculo Frenando<\/strong><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"726\" height=\"620\" data-id=\"6849\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.13.png\" alt=\"\" class=\"wp-image-6849\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.13.png 726w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.13-300x256.png 300w\" sizes=\"auto, (max-width: 726px) 100vw, 726px\" \/><figcaption class=\"wp-element-caption\"><strong>Intermitente Izquierdo<\/strong><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"716\" height=\"614\" data-id=\"6850\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.21.png\" alt=\"\" class=\"wp-image-6850\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.21.png 716w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.21-300x257.png 300w\" sizes=\"auto, (max-width: 716px) 100vw, 716px\" \/><figcaption class=\"wp-element-caption\"><strong>Intermitente Derecho<\/strong><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"899\" data-id=\"6848\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.10.16-1024x899.png\" alt=\"\" class=\"wp-image-6848\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.10.16-1024x899.png 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.10.16-300x263.png 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.10.16-768x674.png 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.10.16.png 1290w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong>Se\u00f1ales de Emergencia<\/strong><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"648\" height=\"574\" data-id=\"6844\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.02.47.png\" alt=\"\" class=\"wp-image-6844\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.02.47.png 648w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.02.47-300x266.png 300w\" sizes=\"auto, (max-width: 648px) 100vw, 648px\" \/><figcaption class=\"wp-element-caption\"><strong>Veh\u00edculo en movimiento<\/strong><\/figcaption><\/figure>\n<\/figure>\n\n\n\n<div style=\"height:46px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Video de Demostraci\u00f3n<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-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=\"Grupo6 SEyTR\" width=\"500\" height=\"375\" src=\"https:\/\/www.youtube.com\/embed\/fmRSLPnWzaU?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><figcaption class=\"wp-element-caption\">Video explicativo del c\u00f3digo y de la funcionalidad del sistema de alumbrado.<\/figcaption><\/figure>\n\n\n\n<div style=\"height:16px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>C\u00f3digo en Arduino<\/strong><\/h2>\n\n\n\n<div style=\"height: 400px;overflow: auto\">\n<pre>\n\/*        Traffic Signaling system for scooters using Adafruit               *\n * @authors Diego Picazo, Lara Fernandez, Mireya de Diego, Angel Esparrells  *\n * @date 24\/04\/2004                                                          *\n * @version 1.3                                                              *\/\n#include \n#include \n#include \n#include \n#include \n\/\/ PIN where the DIN of the matrix is located in our microcontroller\n#define DATA_PIN 6\n\/\/ DIGITAL PINs of the flashing lights\n#define LEFT_FLASHING_PIN 4\n#define RIGHT_FLASHING_PIN 8\n\n\/*                   MATRIX DECLARATION OR BUILDER                                      *\n * @param 1: Width of the matrix                                                        *\n * @param 2: Height of matrix                                                           *\n * @param 3: DATA PIN of the matrix                                                     *\n * @param 4: flags passed to the matrix, in this case:                                  *\n *    -  NEO_MATRIX_TOP, NEO_MATRIX_RIGHT -&gt; Position of the first LED                  *\n *    -  NEO_MATRIX_ROWS, NEO_MATRIX_ZIGZAG -&gt; Behaviour of the segments of the matrix  *\n * @param 5:                                                                            *\n *    -  NEO_GRB, NEO_KHZ800 -&gt; Specifing that colouring is GRB with a 800KHz bitstream *\/\nAdafruit_NeoMatrix matrix = Adafruit_NeoMatrix(16, 16, DATA_PIN,\n  NEO_MATRIX_TOP     + NEO_MATRIX_LEFT +\n  NEO_MATRIX_ROWS + NEO_MATRIX_ZIGZAG,\n  NEO_GRB            + NEO_KHZ800);\n\n\/*                              COLOR PALETTE                                           *\n * @colors[0]: Amber                                                                    *\n * @colors[1]: Red                                                                      *\n * @colors[2]: Green                                                                    *\n * @colors[3]: White                                                                    *\/\nconst uint16_t colors[] = {\n  matrix.Color(226, 148, 58), matrix.Color(255, 0, 0), matrix.Color(0, 255, 0), matrix.Color(255, 255, 255)};\n\n\/\/ Position custom object to save the data read by the MPU controller\nstruct MPUPosition {\n  byte X;\n  byte Y;\n  byte Z;\n};\n\/\/ Global variables of MPU controller\nMPU6050 mpu;\nint16_t ax, ay, az;\nint16_t gx, gy, gz;\nMPUPosition position;\nfloat old_magnitude = 0, actual_magnitude = 0;\n\n\/*                  INIT THE MATRIX WITH SOME PROPERTIES                                *\/\nvoid setup() {\n  matrix.begin();\n  matrix.setTextWrap(false);\n  matrix.setBrightness(20);\n  Wire.begin();\n  mpu.initialize();\n  mpu.CalibrateAccel(6);\n  mpu.CalibrateGyro(6);\n  pinMode(LEFT_FLASHING_PIN, INPUT);\n  pinMode(RIGHT_FLASHING_PIN, INPUT);\n  Serial.begin(9600);\n}\n\n\/*                          DRAW BRAKES FUNCTION                                        *\/\nvoid drawBrakes(){\n  matrix.setTextColor(colors[1]);\n  matrix.drawPixel(0, 0, colors[1]);\n  matrix.drawPixel(1, 0, colors[1]);\n  matrix.drawPixel(2, 0, colors[1]);\n  matrix.drawPixel(3, 0, colors[1]);\n  matrix.drawPixel(4, 0, colors[1]);\n  matrix.drawPixel(5, 0, colors[1]);\n  matrix.drawPixel(6, 0, colors[1]);\n  matrix.drawPixel(7, 0, colors[1]);\n  matrix.drawPixel(8, 0, colors[1]);\n  matrix.drawPixel(9, 0, colors[1]);\n  matrix.drawPixel(10, 0, colors[1]);\n  matrix.drawPixel(11, 0, colors[1]);\n  matrix.drawPixel(12, 0, colors[1]);\n  matrix.drawPixel(13, 0, colors[1]);\n  matrix.drawPixel(14, 0, colors[1]);\n  matrix.drawPixel(15, 0, colors[1]);\n  matrix.drawPixel(0, 1, colors[1]);\n  matrix.drawPixel(1, 1, colors[1]);\n  matrix.drawPixel(2, 1, colors[1]);\n  matrix.drawPixel(3, 1, colors[1]);\n  matrix.drawPixel(4, 1, colors[1]);\n  matrix.drawPixel(5, 1, colors[1]);\n  matrix.drawPixel(6, 1, colors[1]);\n  matrix.drawPixel(7, 1, colors[1]);\n  matrix.drawPixel(8, 1, colors[1]);\n  matrix.drawPixel(9, 1, colors[1]);\n  matrix.drawPixel(10, 1, colors[1]);\n  matrix.drawPixel(11, 1, colors[1]);\n  matrix.drawPixel(12, 1, colors[1]);\n  matrix.drawPixel(13, 1, colors[1]);\n  matrix.drawPixel(14, 1, colors[1]);\n  matrix.drawPixel(15, 1, colors[1]);\n  matrix.drawPixel(0, 2, colors[1]);\n  matrix.drawPixel(1, 2, colors[1]);\n  matrix.drawPixel(14, 2, colors[1]);\n  matrix.drawPixel(15, 2, colors[1]);\n  matrix.drawPixel(0, 3, colors[1]);\n  matrix.drawPixel(1, 3, colors[1]);\n  matrix.drawPixel(14, 3, colors[1]);\n  matrix.drawPixel(15, 3, colors[1]);\n  matrix.drawPixel(0, 4, colors[1]);\n  matrix.drawPixel(1, 4, colors[1]);\n  matrix.drawPixel(14, 4, colors[1]);\n  matrix.drawPixel(15, 4, colors[1]);\n  matrix.drawPixel(0, 5, colors[1]);\n  matrix.drawPixel(1, 5, colors[1]);\n  matrix.drawPixel(14, 5, colors[1]);\n  matrix.drawPixel(15, 5, colors[1]);\n  matrix.drawPixel(0, 6, colors[1]);\n  matrix.drawPixel(1, 6, colors[1]);\n  matrix.drawPixel(14, 6, colors[1]);\n  matrix.drawPixel(15, 6, colors[1]);\n  matrix.drawPixel(0, 7, colors[1]);\n  matrix.drawPixel(1, 7, colors[1]);\n  matrix.drawPixel(14, 7, colors[1]);\n  matrix.drawPixel(15, 7, colors[1]);\n  matrix.drawPixel(0, 8, colors[1]);\n  matrix.drawPixel(1, 8, colors[1]);\n  matrix.drawPixel(14, 8, colors[1]);\n  matrix.drawPixel(15, 8, colors[1]);\n  matrix.drawPixel(0, 9, colors[1]);\n  matrix.drawPixel(1, 9, colors[1]);\n  matrix.drawPixel(14, 9, colors[1]);\n  matrix.drawPixel(15, 9, colors[1]);\n  matrix.drawPixel(0, 10, colors[1]);\n  matrix.drawPixel(1, 10, colors[1]);\n  matrix.drawPixel(14, 10, colors[1]);\n  matrix.drawPixel(15, 10, colors[1]);\n  matrix.drawPixel(0, 11, colors[1]);\n  matrix.drawPixel(1, 11, colors[1]);\n  matrix.drawPixel(14, 11, colors[1]);\n  matrix.drawPixel(15, 11, colors[1]);\n  matrix.drawPixel(0, 12, colors[1]);\n  matrix.drawPixel(1, 12, colors[1]);\n  matrix.drawPixel(14, 12, colors[1]);\n  matrix.drawPixel(15, 12, colors[1]);\n  matrix.drawPixel(0, 13, colors[1]);\n  matrix.drawPixel(1, 13, colors[1]);\n  matrix.drawPixel(14, 13, colors[1]);\n  matrix.drawPixel(15, 13, colors[1]);\n  matrix.drawPixel(0, 14, colors[1]);\n  matrix.drawPixel(1, 14, colors[1]);\n  matrix.drawPixel(2, 14, colors[1]);\n  matrix.drawPixel(3, 14, colors[1]);\n  matrix.drawPixel(4, 14, colors[1]);\n  matrix.drawPixel(5, 14, colors[1]);\n  matrix.drawPixel(6, 14, colors[1]);\n  matrix.drawPixel(7, 14, colors[1]);\n  matrix.drawPixel(8, 14, colors[1]);\n  matrix.drawPixel(9, 14, colors[1]);\n  matrix.drawPixel(10, 14, colors[1]);\n  matrix.drawPixel(11, 14, colors[1]);\n  matrix.drawPixel(12, 14, colors[1]);\n  matrix.drawPixel(13, 14, colors[1]);\n  matrix.drawPixel(14, 14, colors[1]);\n  matrix.drawPixel(15, 14, colors[1]);\n  matrix.drawPixel(0, 15, colors[1]);\n  matrix.drawPixel(1, 15, colors[1]);\n  matrix.drawPixel(2, 15, colors[1]);\n  matrix.drawPixel(3, 15, colors[1]);\n  matrix.drawPixel(4, 15, colors[1]);\n  matrix.drawPixel(5, 15, colors[1]);\n  matrix.drawPixel(6, 15, colors[1]);\n  matrix.drawPixel(7, 15, colors[1]);\n  matrix.drawPixel(8, 15, colors[1]);\n  matrix.drawPixel(9, 15, colors[1]);\n  matrix.drawPixel(10, 15, colors[1]);\n  matrix.drawPixel(11, 15, colors[1]);\n  matrix.drawPixel(12, 15, colors[1]);\n  matrix.drawPixel(13, 15, colors[1]);\n  matrix.drawPixel(14, 15, colors[1]);\n  matrix.drawPixel(15, 15, colors[1]);\n  matrix.show(); \/\/ Show the shape in the matrix*\/\n}\n\n\/*                          DRAW WARNING ARROWS FUNCTION                                *\/\nvoid drawArrowWarning() {\n  matrix.clear(); \/\/ Cleaning the matrix\n  matrix.drawPixel(12, 2, colors[0]);\n  matrix.drawPixel(13, 2, colors[0]);\n  matrix.drawPixel(10, 3, colors[0]);\n  matrix.drawPixel(11, 3, colors[0]);\n  matrix.drawPixel(12, 3, colors[0]);\n  matrix.drawPixel(13, 3, colors[0]);\n  matrix.drawPixel(8, 4, colors[0]);\n  matrix.drawPixel(9, 4, colors[0]);\n  matrix.drawPixel(10, 4, colors[0]);\n  matrix.drawPixel(11, 4, colors[0]);\n  matrix.drawPixel(12, 4, colors[0]);\n  matrix.drawPixel(13, 4, colors[0]);\n  matrix.drawPixel(6, 5, colors[0]);\n  matrix.drawPixel(7, 5, colors[0]);\n  matrix.drawPixel(8, 5, colors[0]);\n  matrix.drawPixel(9, 5, colors[0]);\n  matrix.drawPixel(10, 5, colors[0]);\n  matrix.drawPixel(11, 5, colors[0]);\n  matrix.drawPixel(12, 5, colors[0]);\n  matrix.drawPixel(13, 5, colors[0]);\n  matrix.drawPixel(4, 6, colors[0]);\n  matrix.drawPixel(5, 6, colors[0]);\n  matrix.drawPixel(6, 6, colors[0]);\n  matrix.drawPixel(7, 6, colors[0]);\n  matrix.drawPixel(8, 6, colors[0]);\n  matrix.drawPixel(9, 6, colors[0]);\n  matrix.drawPixel(10, 6, colors[0]);\n  matrix.drawPixel(11, 6, colors[0]);\n  matrix.drawPixel(12, 6, colors[0]);\n  matrix.drawPixel(13, 6, colors[0]);\n  matrix.drawPixel(2, 7, colors[0]);\n  matrix.drawPixel(3, 7, colors[0]);\n  matrix.drawPixel(4, 7, colors[0]);\n  matrix.drawPixel(5, 7, colors[0]);\n  matrix.drawPixel(6, 7, colors[0]);\n  matrix.drawPixel(7, 7, colors[0]);\n  matrix.drawPixel(8, 7, colors[0]);\n  matrix.drawPixel(9, 7, colors[0]);\n  matrix.drawPixel(10, 7, colors[0]);\n  matrix.drawPixel(11, 7, colors[0]);\n  matrix.drawPixel(12, 7, colors[0]);\n  matrix.drawPixel(13, 7, colors[0]);\n  matrix.drawPixel(2, 8, colors[0]);\n  matrix.drawPixel(3, 8, colors[0]);\n  matrix.drawPixel(4, 8, colors[0]);\n  matrix.drawPixel(5, 8, colors[0]);\n  matrix.drawPixel(6, 8, colors[0]);\n  matrix.drawPixel(7, 8, colors[0]);\n  matrix.drawPixel(8, 8, colors[0]);\n  matrix.drawPixel(9, 8, colors[0]);\n  matrix.drawPixel(10, 8, colors[0]);\n  matrix.drawPixel(11, 8, colors[0]);\n  matrix.drawPixel(12, 8, colors[0]);\n  matrix.drawPixel(13, 8, colors[0]);\n  matrix.drawPixel(4, 9, colors[0]);\n  matrix.drawPixel(5, 9, colors[0]);\n  matrix.drawPixel(6, 9, colors[0]);\n  matrix.drawPixel(7, 9, colors[0]);\n  matrix.drawPixel(8, 9, colors[0]);\n  matrix.drawPixel(9, 9, colors[0]);\n  matrix.drawPixel(10, 9, colors[0]);\n  matrix.drawPixel(11, 9, colors[0]);\n  matrix.drawPixel(12, 9, colors[0]);\n  matrix.drawPixel(13, 9, colors[0]);\n  matrix.drawPixel(6, 10, colors[0]);\n  matrix.drawPixel(7, 10, colors[0]);\n  matrix.drawPixel(8, 10, colors[0]);\n  matrix.drawPixel(9, 10, colors[0]);\n  matrix.drawPixel(10, 10, colors[0]);\n  matrix.drawPixel(11, 10, colors[0]);\n  matrix.drawPixel(12, 10, colors[0]);\n  matrix.drawPixel(13, 10, colors[0]);\n  matrix.drawPixel(8, 11, colors[0]);\n  matrix.drawPixel(9, 11, colors[0]);\n  matrix.drawPixel(10, 11, colors[0]);\n  matrix.drawPixel(11, 11, colors[0]);\n  matrix.drawPixel(12, 11, colors[0]);\n  matrix.drawPixel(13, 11, colors[0]);\n  matrix.drawPixel(10, 12, colors[0]);\n  matrix.drawPixel(11, 12, colors[0]);\n  matrix.drawPixel(12, 12, colors[0]);\n  matrix.drawPixel(13, 12, colors[0]);\n  matrix.drawPixel(12, 13, colors[0]);\n  matrix.drawPixel(13, 13, colors[0]);\n  matrix.show(); \/\/ Show the shape in the matrix\n}\n\n\/*                          DRAW STOP FUNCTION                                          *\/\nvoid drawStop() {\n  matrix.clear(); \/\/ Cleaning the matrix\n  matrix.setTextColor(colors[1]);\n  \/\/ Fill pixels to make the stop's shape\n  matrix.drawPixel(0, 0, colors[1]);\n  matrix.drawPixel(1, 0, colors[1]);\n  matrix.drawPixel(2, 0, colors[1]);\n  matrix.drawPixel(3, 0, colors[1]);\n  matrix.drawPixel(4, 0, colors[1]);\n  matrix.drawPixel(5, 0, colors[1]);\n  matrix.drawPixel(6, 0, colors[1]);\n  matrix.drawPixel(7, 0, colors[1]);\n  matrix.drawPixel(8, 0, colors[1]);\n  matrix.drawPixel(9, 0, colors[1]);\n  matrix.drawPixel(10, 0, colors[1]);\n  matrix.drawPixel(11, 0, colors[1]);\n  matrix.drawPixel(12, 0, colors[1]);\n  matrix.drawPixel(13, 0, colors[1]);\n  matrix.drawPixel(14, 0, colors[1]);\n  matrix.drawPixel(15, 0, colors[1]);\n  matrix.drawPixel(0, 1, colors[1]);\n  matrix.drawPixel(1, 1, colors[1]);\n  matrix.drawPixel(2, 1, colors[1]);\n  matrix.drawPixel(3, 1, colors[1]);\n  matrix.drawPixel(4, 1, colors[1]);\n  matrix.drawPixel(5, 1, colors[3]);\n  matrix.drawPixel(6, 1, colors[3]);\n  matrix.drawPixel(7, 1, colors[3]);\n  matrix.drawPixel(8, 1, colors[1]);\n  matrix.drawPixel(9, 1, colors[1]);\n  matrix.drawPixel(10, 1, colors[3]);\n  matrix.drawPixel(11, 1, colors[1]);\n  matrix.drawPixel(12, 1, colors[1]);\n  matrix.drawPixel(13, 1, colors[1]);\n  matrix.drawPixel(14, 1, colors[1]);\n  matrix.drawPixel(15, 1, colors[1]);\n  matrix.drawPixel(0, 2, colors[1]);\n  matrix.drawPixel(1, 2, colors[1]);\n  matrix.drawPixel(2, 2, colors[1]);\n  matrix.drawPixel(3, 2, colors[1]);\n  matrix.drawPixel(4, 2, colors[1]);\n  matrix.drawPixel(5, 2, colors[3]);\n  matrix.drawPixel(6, 2, colors[1]);\n  matrix.drawPixel(7, 2, colors[3]);\n  matrix.drawPixel(8, 2, colors[3]);\n  matrix.drawPixel(9, 2, colors[3]);\n  matrix.drawPixel(10, 2, colors[3]);\n  matrix.drawPixel(11, 2, colors[1]);\n  matrix.drawPixel(12, 2, colors[1]);\n  matrix.drawPixel(13, 2, colors[1]);\n  matrix.drawPixel(14, 2, colors[1]);\n  matrix.drawPixel(15, 2, colors[1]);\n  matrix.drawPixel(0, 3, colors[1]);\n  matrix.drawPixel(1, 3, colors[1]);\n  matrix.drawPixel(2, 3, colors[1]);\n  matrix.drawPixel(3, 3, colors[1]);\n  matrix.drawPixel(4, 3, colors[1]);\n  matrix.drawPixel(5, 3, colors[1]);\n  matrix.drawPixel(6, 3, colors[1]);\n  matrix.drawPixel(7, 3, colors[1]);\n  matrix.drawPixel(8, 3, colors[1]);\n  matrix.drawPixel(9, 3, colors[1]);\n  matrix.drawPixel(10, 3, colors[1]);\n  matrix.drawPixel(11, 3, colors[1]);\n  matrix.drawPixel(12, 3, colors[1]);\n  matrix.drawPixel(13, 3, colors[1]);\n  matrix.drawPixel(14, 3, colors[1]);\n  matrix.drawPixel(15, 3, colors[1]);\n  matrix.drawPixel(0, 4, colors[1]);\n  matrix.drawPixel(1, 4, colors[1]);\n  matrix.drawPixel(2, 4, colors[1]);\n  matrix.drawPixel(3, 4, colors[1]);\n  matrix.drawPixel(4, 4, colors[1]);\n  matrix.drawPixel(5, 4, colors[3]);\n  matrix.drawPixel(6, 4, colors[1]);\n  matrix.drawPixel(7, 4, colors[1]);\n  matrix.drawPixel(8, 4, colors[1]);\n  matrix.drawPixel(9, 4, colors[1]);\n  matrix.drawPixel(10, 4, colors[1]);\n  matrix.drawPixel(11, 4, colors[1]);\n  matrix.drawPixel(12, 4, colors[1]);\n  matrix.drawPixel(13, 4, colors[1]);\n  matrix.drawPixel(14, 4, colors[1]);\n  matrix.drawPixel(15, 4, colors[1]);\n  matrix.drawPixel(0, 5, colors[1]);\n  matrix.drawPixel(1, 5, colors[1]);\n  matrix.drawPixel(2, 5, colors[1]);\n  matrix.drawPixel(3, 5, colors[1]);\n  matrix.drawPixel(4, 5, colors[1]);\n  matrix.drawPixel(5, 5, colors[3]);\n  matrix.drawPixel(6, 5, colors[3]);\n  matrix.drawPixel(7, 5, colors[3]);\n  matrix.drawPixel(8, 5, colors[3]);\n  matrix.drawPixel(9, 5, colors[3]);\n  matrix.drawPixel(10, 5, colors[3]);\n  matrix.drawPixel(11, 5, colors[1]);\n  matrix.drawPixel(12, 5, colors[1]);\n  matrix.drawPixel(13, 5, colors[1]);\n  matrix.drawPixel(14, 5, colors[1]);\n  matrix.drawPixel(15, 5, colors[1]);\n  matrix.drawPixel(0, 6, colors[1]);\n  matrix.drawPixel(1, 6, colors[1]);\n  matrix.drawPixel(2, 6, colors[1]);\n  matrix.drawPixel(3, 6, colors[1]);\n  matrix.drawPixel(4, 6, colors[1]);\n  matrix.drawPixel(5, 6, colors[3]);\n  matrix.drawPixel(6, 6, colors[1]);\n  matrix.drawPixel(7, 6, colors[1]);\n  matrix.drawPixel(8, 6, colors[1]);\n  matrix.drawPixel(9, 6, colors[1]);\n  matrix.drawPixel(10, 6, colors[1]);\n  matrix.drawPixel(11, 6, colors[1]);\n  matrix.drawPixel(12, 6, colors[1]);\n  matrix.drawPixel(13, 6, colors[1]);\n  matrix.drawPixel(14, 6, colors[1]);\n  matrix.drawPixel(15, 6, colors[1]);\n  matrix.drawPixel(0, 7, colors[1]);\n  matrix.drawPixel(1, 7, colors[1]);\n  matrix.drawPixel(2, 7, colors[1]);\n  matrix.drawPixel(3, 7, colors[1]);\n  matrix.drawPixel(4, 7, colors[1]);\n  matrix.drawPixel(5, 7, colors[1]);\n  matrix.drawPixel(6, 7, colors[1]);\n  matrix.drawPixel(7, 7, colors[1]);\n  matrix.drawPixel(8, 7, colors[1]);\n  matrix.drawPixel(9, 7, colors[1]);\n  matrix.drawPixel(10, 7, colors[1]);\n  matrix.drawPixel(11, 7, colors[1]);\n  matrix.drawPixel(12, 7, colors[1]);\n  matrix.drawPixel(13, 7, colors[1]);\n  matrix.drawPixel(14, 7, colors[1]);\n  matrix.drawPixel(15, 7, colors[1]);\n  matrix.drawPixel(0, 8, colors[1]);\n  matrix.drawPixel(1, 8, colors[1]);\n  matrix.drawPixel(2, 8, colors[1]);\n  matrix.drawPixel(3, 8, colors[1]);\n  matrix.drawPixel(4, 8, colors[1]);\n  matrix.drawPixel(5, 8, colors[3]);\n  matrix.drawPixel(6, 8, colors[3]);\n  matrix.drawPixel(7, 8, colors[3]);\n  matrix.drawPixel(8, 8, colors[3]);\n  matrix.drawPixel(9, 8, colors[3]);\n  matrix.drawPixel(10, 8, colors[3]);\n  matrix.drawPixel(11, 8, colors[1]);\n  matrix.drawPixel(12, 8, colors[1]);\n  matrix.drawPixel(13, 8, colors[1]);\n  matrix.drawPixel(14, 8, colors[1]);\n  matrix.drawPixel(15, 8, colors[1]);\n  matrix.drawPixel(0, 9, colors[1]);\n  matrix.drawPixel(1, 9, colors[1]);\n  matrix.drawPixel(2, 9, colors[1]);\n  matrix.drawPixel(3, 9, colors[1]);\n  matrix.drawPixel(4, 9, colors[1]);\n  matrix.drawPixel(5, 9, colors[3]);\n  matrix.drawPixel(6, 9, colors[1]);\n  matrix.drawPixel(7, 9, colors[1]);\n  matrix.drawPixel(8, 9, colors[1]);\n  matrix.drawPixel(9, 9, colors[1]);\n  matrix.drawPixel(10, 9, colors[3]);\n  matrix.drawPixel(11, 9, colors[1]);\n  matrix.drawPixel(12, 9, colors[1]);\n  matrix.drawPixel(13, 9, colors[1]);\n  matrix.drawPixel(14, 9, colors[1]);\n  matrix.drawPixel(15, 9, colors[1]);\n  matrix.drawPixel(0, 10, colors[1]);\n  matrix.drawPixel(1, 10, colors[1]);\n  matrix.drawPixel(2, 10, colors[1]);\n  matrix.drawPixel(3, 10, colors[1]);\n  matrix.drawPixel(4, 10, colors[1]);\n  matrix.drawPixel(5, 10, colors[3]);\n  matrix.drawPixel(6, 10, colors[3]);\n  matrix.drawPixel(7, 10, colors[3]);\n  matrix.drawPixel(8, 10, colors[3]);\n  matrix.drawPixel(9, 10, colors[3]);\n  matrix.drawPixel(10, 10, colors[3]);\n  matrix.drawPixel(11, 10, colors[1]);\n  matrix.drawPixel(12, 10, colors[1]);\n  matrix.drawPixel(13, 10, colors[1]);\n  matrix.drawPixel(14, 10, colors[1]);\n  matrix.drawPixel(15, 10, colors[1]);\n  matrix.drawPixel(0, 11, colors[1]);\n  matrix.drawPixel(1, 11, colors[1]);\n  matrix.drawPixel(2, 11, colors[1]);\n  matrix.drawPixel(3, 11, colors[1]);\n  matrix.drawPixel(4, 11, colors[1]);\n  matrix.drawPixel(5, 11, colors[1]);\n  matrix.drawPixel(6, 11, colors[1]);\n  matrix.drawPixel(7, 11, colors[1]);\n  matrix.drawPixel(8, 11, colors[1]);\n  matrix.drawPixel(9, 11, colors[1]);\n  matrix.drawPixel(10, 11, colors[1]);\n  matrix.drawPixel(11, 11, colors[1]);\n  matrix.drawPixel(12, 11, colors[1]);\n  matrix.drawPixel(13, 11, colors[1]);\n  matrix.drawPixel(14, 11, colors[1]);\n  matrix.drawPixel(15, 11, colors[1]);\n  matrix.drawPixel(0, 12, colors[1]);\n  matrix.drawPixel(1, 12, colors[1]);\n  matrix.drawPixel(2, 12, colors[1]);\n  matrix.drawPixel(3, 12, colors[1]);\n  matrix.drawPixel(4, 12, colors[1]);\n  matrix.drawPixel(5, 12, colors[3]);\n  matrix.drawPixel(6, 12, colors[3]);\n  matrix.drawPixel(7, 12, colors[3]);\n  matrix.drawPixel(8, 12, colors[3]);\n  matrix.drawPixel(9, 12, colors[3]);\n  matrix.drawPixel(10, 12, colors[3]);\n  matrix.drawPixel(11, 12, colors[1]);\n  matrix.drawPixel(12, 12, colors[1]);\n  matrix.drawPixel(13, 12, colors[1]);\n  matrix.drawPixel(14, 12, colors[1]);\n  matrix.drawPixel(15, 12, colors[1]);\n  matrix.drawPixel(0, 13, colors[1]);\n  matrix.drawPixel(1, 13, colors[1]);\n  matrix.drawPixel(2, 13, colors[1]);\n  matrix.drawPixel(3, 13, colors[1]);\n  matrix.drawPixel(4, 13, colors[1]);\n  matrix.drawPixel(5, 13, colors[3]);\n  matrix.drawPixel(6, 13, colors[1]);\n  matrix.drawPixel(7, 13, colors[3]);\n  matrix.drawPixel(8, 13, colors[1]);\n  matrix.drawPixel(9, 13, colors[1]);\n  matrix.drawPixel(10, 13, colors[1]);\n  matrix.drawPixel(11, 13, colors[1]);\n  matrix.drawPixel(12, 13, colors[1]);\n  matrix.drawPixel(13, 13, colors[1]);\n  matrix.drawPixel(14, 13, colors[1]);\n  matrix.drawPixel(15, 13, colors[1]);\n  matrix.drawPixel(0, 14, colors[1]);\n  matrix.drawPixel(1, 14, colors[1]);\n  matrix.drawPixel(2, 14, colors[1]);\n  matrix.drawPixel(3, 14, colors[1]);\n  matrix.drawPixel(4, 14, colors[1]);\n  matrix.drawPixel(5, 14, colors[3]);\n  matrix.drawPixel(6, 14, colors[3]);\n  matrix.drawPixel(7, 14, colors[3]);\n  matrix.drawPixel(8, 14, colors[1]);\n  matrix.drawPixel(9, 14, colors[1]);\n  matrix.drawPixel(10, 14, colors[1]);\n  matrix.drawPixel(11, 14, colors[1]);\n  matrix.drawPixel(12, 14, colors[1]);\n  matrix.drawPixel(13, 14, colors[1]);\n  matrix.drawPixel(14, 14, colors[1]);\n  matrix.drawPixel(15, 14, colors[1]);\n  matrix.drawPixel(0, 15, colors[1]);\n  matrix.drawPixel(1, 15, colors[1]);\n  matrix.drawPixel(2, 15, colors[1]);\n  matrix.drawPixel(3, 15, colors[1]);\n  matrix.drawPixel(4, 15, colors[1]);\n  matrix.drawPixel(5, 15, colors[1]);\n  matrix.drawPixel(6, 15, colors[1]);\n  matrix.drawPixel(7, 15, colors[1]);\n  matrix.drawPixel(8, 15, colors[1]);\n  matrix.drawPixel(9, 15, colors[1]);\n  matrix.drawPixel(10, 15, colors[1]);\n  matrix.drawPixel(11, 15, colors[1]);\n  matrix.drawPixel(12, 15, colors[1]);\n  matrix.drawPixel(13, 15, colors[1]);\n  matrix.drawPixel(14, 15, colors[1]);\n  matrix.drawPixel(15, 15, colors[1]);\n  matrix.show(); \/\/ Show the shape in the matrix\n}\n\n\/*                          DRAW FORWARD FUNCTION                                       *\/\nvoid drawArrowForward() {\n  matrix.clear(); \/\/ Cleaning the matrix\n  matrix.setTextColor(colors[2]);\n  byte pixels[36][2] = {\n    {7, 4}, {7, 5}, {6, 5}, {5, 6}, {6, 6}, {7, 6}, {8, 6}, {9, 6},\n    {10, 6}, {11, 6}, {4, 7}, {5, 7}, {6, 7}, {7, 7}, {8, 7}, {9, 7},\n    {10, 7}, {11, 7}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8},\n    {10, 8}, {11, 8}, {5, 9}, {6, 9}, {7, 9}, {8, 9}, {9, 9}, {10, 9},\n    {11, 9}, {7, 11}, {7, 10}, {6, 10}\n  };\n  \/\/ Draw the arrow's pixels\n  for (int i = 0; i &lt; 36; i++) {\n    matrix.drawPixel(pixels[i][0], pixels[i][1], colors[2]);\n  }\n  matrix.show(); \/\/ Show the shape in the matrix\n}\n\n\/*                          DRAW RIGHT ARROW FUNCTION                                   *\/\nvoid drawArrowRight() {\n  matrix.clear(); \/\/ Cleaning the matrix\n  matrix.setTextColor(colors[0]);\n  byte arrowPixels[36][2] = {\n    {6,4}, {7,4}, {8,4}, {9,4}, {6,5}, {7,5}, {8,5}, {9,5},\n    {6,6}, {7,6}, {8,6}, {9,6}, {6,7}, {7,7}, {8,7}, {9,7},\n    {6,8}, {7,8}, {8,8}, {9,8}, {4,8}, {5,8}, {10,8}, {11,8},\n    {5,9}, {10,9}, {6,9}, {7,9}, {8,9}, {9,9}, {6,10}, {7,10},\n    {8,10}, {9,10}, {7,11}, {8,11}\n  };\n  for (byte i = 0; i &lt; 36; i++) {\n    matrix.drawPixel(arrowPixels[i][0], arrowPixels[i][1], colors[0]);\n  }\n  matrix.show();\n}\n\n\/*                          DRAW LEFT ARROW FUNCTION                                    *\/\nvoid drawArrowLeft() {\n  matrix.clear(); \/\/ Cleaning the matrix\n  matrix.setTextColor(colors[0]);\n  byte arrowPixels[36][2] = {\n    {7,4}, {8,4}, {6,5}, {9,5}, {7,5}, {8,5}, {5,6}, {6,6},\n    {7,6}, {8,6}, {9,6}, {10,6}, {4,7}, {5,7}, {6,7}, {7,7},\n    {8,7}, {9,7}, {10,7}, {11,7}, {6,8}, {7,8}, {8,8}, {9,8},\n    {6,9}, {7,9}, {8,9}, {9,9}, {6,10}, {7,10}, {8,10}, {9,10},\n    {6,11}, {7,11}, {8,11}, {9,11}\n  };\n  for (byte i = 0; i &lt; 36; i++) {\n    matrix.drawPixel(arrowPixels[i][0], arrowPixels[i][1], colors[0]);\n  }\n  matrix.show(); \/\/ Show the shape in the matrix\n}\n\/*               FUNCTION THAT CHECKS IF ANY FLASHING LIGHT IS ON                       *\/\nvoid checkFlashingLights(){\n  int buttonLeft = digitalRead(LEFT_FLASHING_PIN);\n  int buttonRight = digitalRead(RIGHT_FLASHING_PIN);\n  if (buttonLeft == 0 &amp;&amp; buttonRight == 0){\n    \/\/Serial.println(&quot;0 0&quot;);\n    return;\n  }\n  if (buttonLeft == 1 &amp;&amp; buttonRight == 1){\n    delay(215);\n    drawArrowWarning();\n    \/\/Serial.println(&quot;1 1&quot;);\n  }\n  if (buttonLeft == 1 &amp;&amp; buttonRight == 0){\n    delay(215);\n    drawArrowLeft();\n    \/\/Serial.println(&quot;1 0&quot;);\n  }\n  if (buttonLeft == 0 &amp;&amp; buttonRight == 1){\n    delay(215);\n    drawArrowRight();\n    \/\/Serial.println(&quot;0 1&quot;);\n  }\n}\n\n\/*                          LOOP FUNCTION                                               *\/\nvoid loop() {\n  checkFlashingLights();\n  mpu.getMotion6(&amp;ax, &amp;ay, &amp;az, &amp;gx, &amp;gy, &amp;gz);\n  position.X = map(ax, -17000, 17000, 0, 255 ); \/\/ X axis data\n  checkFlashingLights();\n  position.Y = map(ay, -17000, 17000, 0, 255); \/\/ Y axis data\n  checkFlashingLights();\n  position.Z = map(az, -17000, 17000, 0, 255); \/\/ Z axis data\n  checkFlashingLights();\n  actual_magnitude = sqrt(pow(float(position.X), 2) + pow(float(position.Y), 2) + pow(float(position.Z),2));\n  checkFlashingLights();\n  \/\/ Print in Serial Monitor actual position\n  Serial.print(&quot;Axis X = &quot;);\n  Serial.print(position.X);\n  Serial.print(&quot;  &quot;);\n  Serial.print(&quot;Axis Y = &quot;);\n  Serial.print(position.Y);\n  Serial.print(&quot;  &quot;);\n  Serial.print(&quot;Axis Z  = &quot;);\n  Serial.print(position.Z);\n  Serial.print(&quot;  &quot;);\n  Serial.print(&quot;Actual magnitude = &quot;);\n  Serial.println(actual_magnitude);\n  if ((int(actual_magnitude) = int(old_magnitude) - 3)){\n    checkFlashingLights();\n    delay(215);\n    drawStop();\n  }\n  else if (int(actual_magnitude) &lt; int(old_magnitude)){\n    checkFlashingLights();\n    delay(215);\n    drawBrakes();\n  }\n  else{\n    checkFlashingLights();\n    delay(215);\n    drawArrowForward();\n  }\n  old_magnitude = actual_magnitude;\n  delay(200);\n}\n<\/pre>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Autores: Diego Picazo Garc\u00eda, \u00c1ngel Esparrells Gonz\u00e1lez, Lara Fern\u00e1ndez Guti\u00e9rrez y Mireya De Diego Gordo Informaci\u00f3n Nuestro proyecto consiste en el dise\u00f1o e implementaci\u00f3n de una mochila con un sistema de se\u00f1alizaci\u00f3n integrado, el&#46;&#46;&#46;<\/p>\n","protected":false},"author":8,"featured_media":6851,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[8,142,143],"class_list":["post-6839","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-proyectos","tag-arduino","tag-seytr_gii_vicalvaro_2022-23","tag-sistema-de-senalizacion-de-trafico"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Sistema de se\u00f1alizaci\u00f3n de Tr\u00e1fico - Proyectos con Arduino.<\/title>\n<meta name=\"description\" content=\"Proyecto de Arduino basado en el Sistema de Se\u00f1alizaci\u00f3n de Tr\u00e1fico para veh\u00edculos de dos ruedas y viandantes.\" \/>\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\/sistema-de-senalizacion-de-trafico\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sistema de se\u00f1alizaci\u00f3n de Tr\u00e1fico - Proyectos con Arduino.\" \/>\n<meta property=\"og:description\" content=\"Proyecto de Arduino basado en el Sistema de Se\u00f1alizaci\u00f3n de Tr\u00e1fico para veh\u00edculos de dos ruedas y viandantes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-senalizacion-de-trafico\/\" \/>\n<meta property=\"og:site_name\" content=\"Proyectos con Arduino.\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-08T11:31:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-09T06:37:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.33.png\" \/>\n\t<meta property=\"og:image:width\" content=\"636\" \/>\n\t<meta property=\"og:image:height\" content=\"564\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"gdhwsw2\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"gdhwsw2\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 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\\\/sistema-de-senalizacion-de-trafico\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-senalizacion-de-trafico\\\/\"},\"author\":{\"name\":\"gdhwsw2\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/person\\\/7491e54afbe5e7fd53467fccb9c7ce44\"},\"headline\":\"Sistema de se\u00f1alizaci\u00f3n de Tr\u00e1fico\",\"datePublished\":\"2023-05-08T11:31:46+00:00\",\"dateModified\":\"2023-05-09T06:37:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-senalizacion-de-trafico\\\/\"},\"wordCount\":613,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-senalizacion-de-trafico\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2023\\\/05\\\/Captura-de-pantalla-2023-05-08-a-las-13.11.33.png\",\"keywords\":[\"Arduino\",\"SEyTR_GII_Vicalvaro_2022-23\",\"Sistema de se\u00f1alizacion de trafico\"],\"articleSection\":[\"Proyectos\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-senalizacion-de-trafico\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-senalizacion-de-trafico\\\/\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-senalizacion-de-trafico\\\/\",\"name\":\"Sistema de se\u00f1alizaci\u00f3n de Tr\u00e1fico - Proyectos con Arduino.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-senalizacion-de-trafico\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-senalizacion-de-trafico\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2023\\\/05\\\/Captura-de-pantalla-2023-05-08-a-las-13.11.33.png\",\"datePublished\":\"2023-05-08T11:31:46+00:00\",\"dateModified\":\"2023-05-09T06:37:58+00:00\",\"description\":\"Proyecto de Arduino basado en el Sistema de Se\u00f1alizaci\u00f3n de Tr\u00e1fico para veh\u00edculos de dos ruedas y viandantes.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-senalizacion-de-trafico\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-senalizacion-de-trafico\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-senalizacion-de-trafico\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2023\\\/05\\\/Captura-de-pantalla-2023-05-08-a-las-13.11.33.png\",\"contentUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2023\\\/05\\\/Captura-de-pantalla-2023-05-08-a-las-13.11.33.png\",\"width\":636,\"height\":564},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-senalizacion-de-trafico\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sistema de se\u00f1alizaci\u00f3n de Tr\u00e1fico\"}]},{\"@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\\\/7491e54afbe5e7fd53467fccb9c7ce44\",\"name\":\"gdhwsw2\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ed762cea3155134adfbecf1780d8a40c0fe5e4b642859a56b3a2b3611a1ca73a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ed762cea3155134adfbecf1780d8a40c0fe5e4b642859a56b3a2b3611a1ca73a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ed762cea3155134adfbecf1780d8a40c0fe5e4b642859a56b3a2b3611a1ca73a?s=96&d=mm&r=g\",\"caption\":\"gdhwsw2\"},\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/author\\\/gdhwsw2\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sistema de se\u00f1alizaci\u00f3n de Tr\u00e1fico - Proyectos con Arduino.","description":"Proyecto de Arduino basado en el Sistema de Se\u00f1alizaci\u00f3n de Tr\u00e1fico para veh\u00edculos de dos ruedas y viandantes.","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\/sistema-de-senalizacion-de-trafico\/","og_locale":"es_ES","og_type":"article","og_title":"Sistema de se\u00f1alizaci\u00f3n de Tr\u00e1fico - Proyectos con Arduino.","og_description":"Proyecto de Arduino basado en el Sistema de Se\u00f1alizaci\u00f3n de Tr\u00e1fico para veh\u00edculos de dos ruedas y viandantes.","og_url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-senalizacion-de-trafico\/","og_site_name":"Proyectos con Arduino.","article_published_time":"2023-05-08T11:31:46+00:00","article_modified_time":"2023-05-09T06:37:58+00:00","og_image":[{"width":636,"height":564,"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.33.png","type":"image\/png"}],"author":"gdhwsw2","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"gdhwsw2","Tiempo de lectura":"13 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-senalizacion-de-trafico\/#article","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-senalizacion-de-trafico\/"},"author":{"name":"gdhwsw2","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/person\/7491e54afbe5e7fd53467fccb9c7ce44"},"headline":"Sistema de se\u00f1alizaci\u00f3n de Tr\u00e1fico","datePublished":"2023-05-08T11:31:46+00:00","dateModified":"2023-05-09T06:37:58+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-senalizacion-de-trafico\/"},"wordCount":613,"commentCount":0,"publisher":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-senalizacion-de-trafico\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.33.png","keywords":["Arduino","SEyTR_GII_Vicalvaro_2022-23","Sistema de se\u00f1alizacion de trafico"],"articleSection":["Proyectos"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-senalizacion-de-trafico\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-senalizacion-de-trafico\/","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-senalizacion-de-trafico\/","name":"Sistema de se\u00f1alizaci\u00f3n de Tr\u00e1fico - Proyectos con Arduino.","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-senalizacion-de-trafico\/#primaryimage"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-senalizacion-de-trafico\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.33.png","datePublished":"2023-05-08T11:31:46+00:00","dateModified":"2023-05-09T06:37:58+00:00","description":"Proyecto de Arduino basado en el Sistema de Se\u00f1alizaci\u00f3n de Tr\u00e1fico para veh\u00edculos de dos ruedas y viandantes.","breadcrumb":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-senalizacion-de-trafico\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-senalizacion-de-trafico\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-senalizacion-de-trafico\/#primaryimage","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.33.png","contentUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/Captura-de-pantalla-2023-05-08-a-las-13.11.33.png","width":636,"height":564},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-senalizacion-de-trafico\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blogs.etsii.urjc.es\/dseytr\/"},{"@type":"ListItem","position":2,"name":"Sistema de se\u00f1alizaci\u00f3n de Tr\u00e1fico"}]},{"@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\/7491e54afbe5e7fd53467fccb9c7ce44","name":"gdhwsw2","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/ed762cea3155134adfbecf1780d8a40c0fe5e4b642859a56b3a2b3611a1ca73a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ed762cea3155134adfbecf1780d8a40c0fe5e4b642859a56b3a2b3611a1ca73a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ed762cea3155134adfbecf1780d8a40c0fe5e4b642859a56b3a2b3611a1ca73a?s=96&d=mm&r=g","caption":"gdhwsw2"},"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/author\/gdhwsw2\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/6839","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\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/comments?post=6839"}],"version-history":[{"count":17,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/6839\/revisions"}],"predecessor-version":[{"id":7040,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/6839\/revisions\/7040"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media\/6851"}],"wp:attachment":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media?parent=6839"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/categories?post=6839"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/tags?post=6839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}