{"id":3146,"date":"2021-01-20T19:36:49","date_gmt":"2021-01-20T19:36:49","guid":{"rendered":"https:\/\/blogs.etsii.urjc.es\/dseytr\/?p=3146"},"modified":"2021-01-20T20:00:44","modified_gmt":"2021-01-20T20:00:44","slug":"estacion-sensorial-movil","status":"publish","type":"post","link":"https:\/\/blogs.etsii.urjc.es\/dseytr\/estacion-sensorial-movil\/","title":{"rendered":"Estaci\u00f3n Sensorial M\u00f3vil"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><span class=\"has-inline-color has-luminous-vivid-amber-color\">Autores<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><code>\u00c1ngel Baeza S\u00e1nchez<\/code><\/li><li><code>Javier Ra\u00fal Alonso Tejera<\/code><\/li><li><code>Vicente Manuel Aguilera Gallardo<\/code><\/li><\/ul>\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\/2021\/01\/1-1024x769.jpg\" alt=\"\" class=\"wp-image-3372\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/1-1024x769.jpg 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/1-300x225.jpg 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/1-768x577.jpg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/1-1536x1153.jpg 1536w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/1-2048x1538.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"has-inline-color has-luminous-vivid-amber-color\">Introducci\u00f3n<\/span><\/h3>\n\n\n\n<p>Para el proyecto de la asignatura de Dise\u00f1o de Sistemas Empotrados se ha decidido proceder a la construcci\u00f3n y programaci\u00f3n de un veh\u00edculo de tres ruedas con diversos sensores los cuales aportan diversas funcionalidades; se ha bautizado el veh\u00edculo como Estaci\u00f3n Sensorial M\u00f3vil. La Estaci\u00f3n Sensorial M\u00f3vil (ESM para abreviar), cuenta con una multitud de sensores. Entre ellos se encuentran: Un sensor de distancia, un sensor de luminosidad y un sensor de infrarrojos. <\/p>\n\n\n\n<p>El prop\u00f3sito final de la ESM es su uso bajo dos modos de funcionamiento, un modo autom\u00e1tico, en el que la estructura se mueve autom\u00e1ticamente en l\u00ednea recta utilizando sensores de distancia girando para evitar chocarse, y un modo \u201ccontrol\u201d, en el que la ESM hace uso de su sensor de infrarrojos para poder ser controlada a distancia. Adem\u00e1s, en ambos modos, la ESM utiliza el sensor de luminosidad para encender unos leds a modo de faros para poder situarla en la oscuridad.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"has-inline-color has-luminous-vivid-amber-color\">Materiales y costes<\/span><\/h3>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-subtle-light-gray-background-color has-background\"><thead><tr><th class=\"has-text-align-center\" data-align=\"center\">Material<\/th><th class=\"has-text-align-center\" data-align=\"center\">Cantidad<\/th><th class=\"has-text-align-center\" data-align=\"center\">Precio Total<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\">Motor 1.5V-2V<\/td><td class=\"has-text-align-center\" data-align=\"center\">2<\/td><td class=\"has-text-align-center\" data-align=\"center\">3\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Cableado variado<\/td><td class=\"has-text-align-center\" data-align=\"center\">&#8211;<\/td><td class=\"has-text-align-center\" data-align=\"center\">&#8211;<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Puente H (Controlador para los motores)<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><td class=\"has-text-align-center\" data-align=\"center\">5\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Ruedas motoras<\/td><td class=\"has-text-align-center\" data-align=\"center\">2<\/td><td class=\"has-text-align-center\" data-align=\"center\">2.5\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Rueda \u00abloca\u00bb adicional<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.95\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Mando infrarrojo<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><td class=\"has-text-align-center\" data-align=\"center\">&#8211;<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Alimentaci\u00f3n (Pilas y bater\u00edas)<\/td><td class=\"has-text-align-center\" data-align=\"center\">&#8211;<\/td><td class=\"has-text-align-center\" data-align=\"center\">&#8211;<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Materiales para la estructura<\/td><td class=\"has-text-align-center\" data-align=\"center\">&#8211;<\/td><td class=\"has-text-align-center\" data-align=\"center\">5\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">PCB<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><td class=\"has-text-align-center\" data-align=\"center\">&#8211;<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Buzzer pasivo<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><td class=\"has-text-align-center\" data-align=\"center\">1\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Receptor infrarrojo<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><td class=\"has-text-align-center\" data-align=\"center\">0,3\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Sensor de distancia<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><td class=\"has-text-align-center\" data-align=\"center\">1\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Resistencias y transistores varios<\/td><td class=\"has-text-align-center\" data-align=\"center\">&#8211;<\/td><td class=\"has-text-align-center\" data-align=\"center\">&#8211;<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Leds de posici\u00f3n<\/td><td class=\"has-text-align-center\" data-align=\"center\">2<\/td><td class=\"has-text-align-center\" data-align=\"center\">0,20\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">LDR<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><td class=\"has-text-align-center\" data-align=\"center\">0,20\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>TOTAL<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">19,15\u20ac Aprox.<\/td><\/tr><\/tbody><\/table><figcaption>Hay electr\u00f3nica varia que ya ten\u00edamos previamente y obviamente no ha habido que pagar.<br>Estos son los precios aproximados de la mayor\u00eda de piezas (Obviamos la placa Arduino UNO).<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2048\" height=\"1532\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/01\/6-1024x766.jpeg\" alt=\"\" class=\"wp-image-3376\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/6-1024x766.jpeg 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/6-300x224.jpeg 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/6-768x575.jpeg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/6-1536x1149.jpeg 1536w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/6.jpeg 2048w\" sizes=\"auto, (max-width: 2048px) 100vw, 2048px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"has-inline-color has-luminous-vivid-amber-color\">Circuito, Dise\u00f1o e Implementaci\u00f3n &#8211; Hardware<\/span><\/h3>\n\n\n\n<p>La ESM est\u00e1 formada por cinco componentes principales:<\/p>\n\n\n\n<ol class=\"wp-block-list\" type=\"1\"><li>Se ha construido una PCB personalizada, la cual integra un sensor LDR, un sensor de distancia, un sensor de infrarrojos, un buzzer y un par de leds.<\/li><li>Una estructura motora compuesta por la propia estructura de madera ligera , dos ruedas traseras con dos motores, y una rueda m\u00f3vil central.<\/li><li>La placa de Arduino.<\/li><li>Un Puente H para coordinar los motores.<\/li><li>Un sistema de alimentaci\u00f3n propio.<\/li><\/ol>\n\n\n\n<p>A la hora de la construcci\u00f3n de la ESM, en primer lugar, se ha medido el tama\u00f1o de la placa de Arduino y de la PCB que se iba a utilizar, y se ha elegido una plancha de madera para sostener la circuiter\u00eda de un tama\u00f1o acorde, dejando espacio para la bater\u00eda y el resto de componentes.<\/p>\n\n\n\n<p>Una vez lista la plancha de madera, se le han adherido las ruedas traseras, con sus respectivos motores y se ha atornillado una rueda m\u00f3vil a la parte frontal de la estructura.<\/p>\n\n\n\n<p>Una vez listo el esqueleto del proyecto, se ha procedido a pegar la placa de Arduino a este, y a soldar los diferentes componentes a la PCB la cual se ha adherido tambi\u00e9n al cuerpo principal.<\/p>\n\n\n\n<p>Finalmente, se ha construido un sistema de alimentaci\u00f3n utilizando celdas de bater\u00edas de un port\u00e1til en desuso, creando una bater\u00eda de unos 12 voltios. Esta bater\u00eda est\u00e1 separada en dos nodos, uno para suministrar un voltaje de 3V a los motores, y otro para suministrar menos de 12V a la placa. Una vez todos los componentes han sido construidos, se han conectado todos los componentes del sistema mediante cables.<\/p>\n\n\n\n<p>Una vez el proyecto ha alcanzado este punto, se ha comenzado a desarrollar el c\u00f3digo para su correcto funcionamiento, a la vez que se han pulido diferentes apartados de la estructura que no funcionaban del todo bien.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"513\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/01\/Magic-1024x513.png\" alt=\"\" class=\"wp-image-3286\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/Magic-1024x513.png 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/Magic-300x150.png 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/Magic-768x385.png 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/Magic.png 1431w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"has-inline-color has-luminous-vivid-amber-color\">Funcionamiento &#8211; Software<\/span><\/h3>\n\n\n\n<p>La implementaci\u00f3n software se basa en la utilizaci\u00f3n de una m\u00e1quina de estados para poder controlar los diferentes modos de funcionamiento y entradas recibidas de forma m\u00e1s correcta.<\/p>\n\n\n\n<p>En principio denominamos 5 estados posibles:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Idle<\/li><\/ol>\n\n\n\n<p>Es el centro de todos los estados, permite pasar al resto de estados. Es el equivalente a un punto muerto. Almacena el c\u00f3digo para activar la luz en funci\u00f3n del foto-resistor.<\/p>\n\n\n\n<p>2. Navegaci\u00f3n<\/p>\n\n\n\n<p>En este modo, la ESM avanza indefinidamente, cuando el sensor de ultrasonidos detecta una superficie, frena y gira hacia la derecha hasta que deja de detectar un obst\u00e1culo. Sigue girando durante una fracci\u00f3n de segundo m\u00e1s para asegurar que no choca con nada, y posteriormente retoma su avance.<\/p>\n\n\n\n<p>a. Adelante -&gt; Estado sobre el que avanza hasta detectar obst\u00e1culo.<\/p>\n\n\n\n<p>b. Girar -&gt; Estado en el que gira hasta dejar de detectar obst\u00e1culo.<\/p>\n\n\n\n<p>3. Control<\/p>\n\n\n\n<p>En este estado se permite controlar la ESM con el mando a distancia.<\/p>\n\n\n\n<p>Cuando se presiona un bot\u00f3n, la ESM realiza esa acci\u00f3n en bucle hasta que se cancele esa opci\u00f3n presionando otro bot\u00f3n.Tambi\u00e9n se incluye un bot\u00f3n de frenado para pausar el movimiento del coche.<\/p>\n\n\n\n<p>4. Alarma<\/p>\n\n\n\n<p>Si el sensor de ultrasonidos encuentra un obst\u00e1culo a una distancia d, suena una alarma a un volumen v. Tanto V como D son configurables usando el mando.<\/p>\n\n\n\n<p>5. Piano<\/p>\n\n\n\n<p>Se le asocia un tono del buzzer a cada uno de los n\u00fameros del mando. Esto permite utilizar la ESM como un piano m\u00f3vil.<\/p>\n\n\n\n<p>La frecuencia del sonido del buzzer se puede configurar tambi\u00e9n utilizando el mando.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"has-inline-color has-luminous-vivid-amber-color\">Problemas y Soluciones<\/span><\/h3>\n\n\n\n<p>El primer problema encontrado fue al terminar el esqueleto del proyecto, y es que se hab\u00eda pensado que la ESM fuese de tracci\u00f3n a cuatro ruedas, sin embargo, debido a la calidad de las ruedas empleadas, esto imped\u00eda que girase de forma correcta. La soluci\u00f3n fue sustituir las dos ruedas delanteras por una rueda m\u00f3vil singular, facilitando as\u00ed el giro del prototipo.<\/p>\n\n\n\n<p>Otro de los problemas principales que se han encontrado a lo largo del desarrollo es la dificultad que conlleva soldar, ya que, al comenzar el proyecto, se decidi\u00f3 utilizar componentes propios de los alumnos, en lugar de los recibidos por el profesor con el objetivo de no tener que desmontar el proyecto. Por otra parte, aunque quede un buen resultado, hay que tener cuidado al soldar y tener algo de habilidad para no ensuciar en demas\u00eda y ocasionar problemas de funcionalidad.<\/p>\n\n\n\n<p>Un problema menor que hemos encontrado ha sido la dificultad a la hora de entenderse con el puente H, puesto que no respond\u00eda correctamente a las \u00f3rdenes de c\u00f3digo; Afortunadamente, al cambiarlo por otro, el prototipo volvi\u00f3 a funcionar correctamente.<\/p>\n\n\n\n<p>El problema final que se ha encontrado ha sido que, una vez terminado el prototipo, faltaba potencia a la hora de mover la ESM. En un primer momento se pens\u00f3 que era cosa del peso, por lo que se reconstruy\u00f3 toda la estructura para reducirlo. Esto no fue suficiente, por lo que se valor\u00f3 cambiar los motores del proyecto, sin embargo, al final, bast\u00f3 por cambiar la fuente de alimentaci\u00f3n de los motores por la bater\u00eda fabricada.<\/p>\n\n\n\n<p>Con el fin de mejorar el rendimiento y funcionalidad general de la estaci\u00f3n, ser\u00eda recomendable optar por motores con mayor potencia (Unas ruedas de mejor calidad tambi\u00e9n ayudar\u00edan).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"766\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/01\/5-1024x766.jpeg\" alt=\"\" class=\"wp-image-3380\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/5-1024x766.jpeg 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/5-300x224.jpeg 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/5-768x575.jpeg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/5-1536x1149.jpeg 1536w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/01\/5.jpeg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"has-inline-color has-luminous-vivid-amber-color\">C\u00f3digo<\/span><\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &lt;IRremote.h&gt;  \/\/including infrared remote header file     \n\nconst int pResistorPin = A0;\n\nconst int IRPin = 2; \/\/ the pin where you connect the output pin of IR sensor7\n\nconst int LEDPin = 3;\nconst int buzzerPin = 4;\n\nconst int A1A = 5;\nconst int A1B = 6;\n\nconst int pingPin = 7; \/\/ Trigger Pin of Ultrasonic Sensor\nconst int echoPin = 8; \/\/ Echo Pin of Ultrasonic Sensor\n\nconst int B1A = 9;\nconst int B1B = 10;\n\n\/\/IR VALUES\n\/*\n  RED: 0x33B8807F\n  GREEN: 0x33B8A05F\n  YELLOW: 0x33B8906F\n  BLUE: 0x33B8B04F\n\n  VOLUP: 0x33B8708F\n  VOLDOWN: 0x33B840BF\n  HOME : 0x33B8C03F\n\n  UP: 0x33B8E01F\n  DOWN: 0x33B822DD\n  RIGHT: 0x33B848B7\n  LEFT: 0x33B808F7\n\n  1: 0x33B8827D\n  2: 0x33B8A25D\n  3: 0x33B8B24D\n  4: 0x33B842BD\n  5: 0x33B8629D\n  6: 0x33B8728D\n  7: 0x33B8C23D\n  8: 0x33B8E21D\n  9: 0x33B8F20D\n*\/\n\nIRrecv irrecv(IRPin);\ndecode_results IRresults;\nbool newIRvalue = false;\n\n\/\/IDLE VARIABLES\nconst float MAXLIGHT =  1400;\nconst float MINLIGHT = 200;\nconst float CHANGELIGHT = 50;\nfloat lightFactor = 600;\n\n\/\/PIANO VARIABLES\nfloat pianoIntensity = 1;\nconst float MINPIANO = 0.1;\nconst float MAXPIANO = 2;\n\nconst float CHANGEPIANO = 0.1;\n\n\/\/ALARM VARIABLES\nconst float MAXALARMDISTANCE = 510;\nconst float MINALARMDISTANCE = 10;\nconst float CHANGEALARMDISTANCE = 20;\nfloat alarmDistance = MINALARMDISTANCE;\n\nconst float MAXALARMINTENSITY = 2;\nconst float MINALARMINTENSITY = 0.2;\nconst float CHANGEALARMINTENSITY = 0.1;\n\nfloat alarmIntensity = MINALARMINTENSITY;\n\n\/\/NAVIGATION MODE\nconst int MINDISTANCE = 50;\nconst int DELAYTIME = 750;\n\n\/\/MODES\nint currentMode;\nconst int IDLEMODE = 1;\nconst int NAVMODE = 2;\nconst int ALARMMODE = 3;\nconst int PIANOMODE = 4;\nconst int CONTROLMODE = 5;\n\nint currentState;\n\nbool homeIsActive = true;\n\n\/\/NAVIGATION STATE\nconst int FORWARDSTATE = 1;\nconst int TURNINGSTATE = 2;\n\nvoid setup() {\n  \n  Serial.begin(9600); \/\/ Starting Serial Terminal\n  Serial.println(\"STARTING\");\n\n  \/\/Distance Sensor\n  pinMode(pingPin, OUTPUT);\n  pinMode(echoPin, INPUT);\n\n  \/\/IR Sensor\n  irrecv.enableIRIn();\n\n  \/\/Light Sensor\n  pinMode(pResistorPin, INPUT);\n\n  pinMode(LEDPin, OUTPUT);\n  digitalWrite(LEDPin, HIGH);\n\n  pinMode(buzzerPin, OUTPUT);\n\n  pinMode(B1A, OUTPUT);\n  pinMode(B1B, OUTPUT);\n  pinMode(A1A, OUTPUT);\n  pinMode(A1B, OUTPUT);\n\n  currentMode = IDLEMODE;\n}\n\nvoid loop() {\n  \n  newIRvalue = getIR();\n  \n  if (currentMode != IDLEMODE) {\n    if (newIRvalue) {\n      \/\/If HOME has been pressed\n      if (IRresults.value == 0x33B8C03F) {\n        Serial.println(\"STARTING IDLE MODE\");\n        currentMode = IDLEMODE;\n\n        stopMovement();\n\n        tone(buzzerPin, 300, 200);\n        blinkLEDs(50, 2);\n        tone(buzzerPin, 500, 200);\n        blinkLEDs(50, 2);\n        tone(buzzerPin, 200, 200);\n      }\n    }\n  }\n  \n  switch (currentMode) {\n\n    \/\/IDLE\n    case IDLEMODE:\n      \/\/Serial.print(\"IR: \");\n      \/\/Serial.println(IRresults.value, HEX);\n      idleMode();\n      break;\n\n    case NAVMODE:\n      navMode();\n      break;\n\n    case ALARMMODE:\n      alarmMode();\n      break;\n\n    case PIANOMODE:\n      pianoMode();\n      break;\n\n    case CONTROLMODE:\n      controlMode();\n\n    default:\n      break;\n      \n  }\n}\n\n\/\/\/\n\nvoid idleMode() {\n  if (newIRvalue) {\n    switch (IRresults.value) {\n\n      \/\/1 -&gt; NAVIGATION\n      case 0x33B8827D:\n        digitalWrite(LEDPin, HIGH);\n\n        Serial.println(\"STARTING NAVIGATION MODE\");\n        currentMode = NAVMODE;\n        currentState = FORWARDSTATE;\n\n        tone(buzzerPin, 100, 200);\n        blinkLEDs(50, 2);\n        tone(buzzerPin, 100, 200);\n        break;\n\n      \/\/2 -&gt; CONTROL\n      case 0x33B8A25D:\n        digitalWrite(LEDPin, HIGH);\n\n        Serial.println(\"STARTING CONTROL MODE\");\n        currentMode = CONTROLMODE;\n        currentState = -1;\n\n\n        tone(buzzerPin, 150, 200);\n        blinkLEDs(50, 2);\n        tone(buzzerPin, 150, 200);\n        break;\n\n      \/\/3 -&gt; ALARM\n      case 0x33B8B24D:\n        digitalWrite(LEDPin, HIGH);\n\n        Serial.println(\"STARTING ALARM MODE\");\n        currentMode = ALARMMODE;\n        currentState = -1;\n\n\n        tone(buzzerPin, 200, 200);\n        blinkLEDs(50, 2);\n        tone(buzzerPin, 200, 200);\n        break;\n\n      \/\/4 -&gt; PIANO\n      case 0x33B842BD:\n        digitalWrite(LEDPin, HIGH);\n\n        Serial.println(\"STARTING PIANO MODE\");\n        currentMode = PIANOMODE;\n        currentState = -1;\n\n\n        tone(buzzerPin, 250, 200);\n        blinkLEDs(50, 2);\n        tone(buzzerPin, 250, 200);\n        break;\n\n      \/\/Up -&gt; Light Up\n      case 0x33B8E01F:\n        if (lightFactor &lt; MAXLIGHT) {\n          lightFactor += CHANGELIGHT;\n          Serial.print(\"Light Factor up: \");\n          Serial.println(lightFactor);\n\n          tone(buzzerPin, 400, 150);\n\n\n        } else {\n          tone(buzzerPin, 100, 250);\n          delay(270);\n\n        }\n\n        break;\n\n      \/\/Down -&gt; Light Down\n      case 0x33B822DD:\n        if (lightFactor &gt; MINLIGHT &amp;&amp; lightFactor &gt; 0) {\n          lightFactor -= CHANGELIGHT;\n          Serial.print(\"Light Factor Down: \");\n          Serial.println(lightFactor);\n\n          tone(buzzerPin, 240, 150);\n\n        } else {\n          tone(buzzerPin, 100, 250);\n          delay(270);\n\n        }\n        break;\n\n      default:\n        break;\n\n    }\n\n\n  } else {\n    if (getLight() &lt; lightFactor) {\n      digitalWrite(LEDPin, LOW);\n\n    } else {\n      digitalWrite(LEDPin, HIGH);\n    }\n  }\n\n}\n\nvoid navMode() {\n  switch (currentState) {\n    case FORWARDSTATE:\n      if (getDistance() &gt; MINDISTANCE) {\n        moveForward(255);\n      } else {\n        currentState = TURNINGSTATE;\n        stopMovement();\n        Serial.println(\"NAVIGATION: Turning\");\n        delay(DELAYTIME);\n      }\n\n      break;\n\n    case TURNINGSTATE:\n      if (getDistance() &lt; MINDISTANCE) {\n        moveRight(255);\n\n      } else {\n        delay(DELAYTIME);\n        currentState = FORWARDSTATE;\n        Serial.println(\"NAVIGATION: Going forward\");\n        stopMovement();\n        delay(DELAYTIME);\n      }\n\n      break;\n  }\n}\n\n\nvoid controlMode() {\n  const int intensity = 255;\n\n  if (!newIRvalue) {\n    return;\n  }\n\n  switch (IRresults.value) {\n    \n    \/\/FORWARD\n    case 0x33B8E01F:\n      Serial.println(\"Moving Forward in Control\");\n      moveForward(intensity);\n      break;\n\n    \/\/BACK\n    case 0x33B822DD:\n      Serial.println(\"Moving BackWard in Control\");\n      moveBackward(intensity);\n      break;\n\n    \/\/RIGHT\n    case 0x33B848B7:\n      Serial.println(\"Moving Right in Control\");\n      moveRight(intensity);\n      break;\n\n    \/\/LEFT\n    case 0x33B808F7:\n      Serial.println(\"Moving Left in Control\");\n      moveLeft(intensity);\n      break;\n\n    \/\/STOP\n    case 0x33B88877:\n      Serial.println(\"Stoping Movement in Control\");\n      stopMovement();\n      break;\n\n    default:\n      break;\n\n  }\n}\n\n\nvoid alarmMode() {\n\n  if (newIRvalue) {\n    switch (IRresults.value) {\n      \/\/UP\n      case 0x33B8E01F:\n        if (alarmDistance &lt; MAXALARMDISTANCE) {\n          alarmDistance += CHANGEALARMDISTANCE;\n\n          tone(buzzerPin, 400, 100);\n          delay(120);\n          tone(buzzerPin, 400, 100);\n\n          Serial.print(\"Alarm Distance up: \");\n          Serial.println(alarmDistance);\n\n          delay(200);\n\n        } else {\n          Serial.println(\"Alarm Distace at maximum!\");\n          blinkLEDs(50, 4);\n        }\n\n        break;\n\n      \/\/DOWN\n      case 0x33B822DD:\n        if (alarmDistance &gt; MINALARMDISTANCE &amp;&amp; alarmDistance &gt; 0) {\n          alarmDistance -= CHANGEALARMDISTANCE;\n\n          tone(buzzerPin, 200, 100);\n          delay(120);\n          tone(buzzerPin, 200, 100);\n\n          Serial.print(\"Alarm Distance Down: \");\n          Serial.println(alarmDistance);\n\n          delay(200);\n\n        } else {\n          Serial.println(\"Alarm Distace at minimum!\");\n          blinkLEDs(50, 4);\n        }\n\n        break;\n\n      \/\/Volume Up\n      case 0x33B8708F:\n\n        if (alarmIntensity &lt; MAXALARMINTENSITY) {\n          alarmIntensity += CHANGEALARMINTENSITY;\n          Serial.print(\"Alarm Volume up: \");\n          Serial.println(alarmIntensity);\n\n          tone(buzzerPin, 1000 * alarmIntensity, 100);\n          delay(200);\n\n        } else {\n          blinkLEDs(100, 3);\n        }\n\n        break;\n\n      \/\/Volume Down:\n      case 0x33B840BF:\n        Serial.print(\"Alarm Volume Down: \");\n        Serial.println(alarmIntensity);\n        if (alarmIntensity &gt; MINALARMINTENSITY) {\n          alarmIntensity -= CHANGEALARMINTENSITY;\n\n          tone(buzzerPin, 1000 * alarmIntensity, 100);\n          delay(200);\n\n        } else {\n          blinkLEDs(200, 3);\n        }\n\n        break;\n\n      default:\n        break;\n\n    }\n  }\n\n  if (getDistance() &lt; alarmDistance) {\n\n    tone(buzzerPin, 1000 * alarmIntensity, 30);\n  }\n\n}\n\nvoid pianoMode() {\n  const unsigned long DURATION = 100;\n\n  if (!newIRvalue) {\n    return;\n  }\n\n  switch (IRresults.value) {\n    \/\/1\n    case 0x33B8827D:\n      Serial.println(\"TONE 1\");\n      tone(buzzerPin, 100 * pianoIntensity, DURATION);\n      blinkLEDs(DURATION * 0.2, 1);\n      break;\n\n    \/\/2\n    case 0x33B8A25D:\n      Serial.println(\"TONE 2\");\n      tone(buzzerPin, 200 * pianoIntensity, DURATION);\n      blinkLEDs(DURATION * 0.2, 1);\n      break;\n\n    \/\/3\n    case 0x33B8B24D:\n      Serial.println(\"TONE 3\");\n      tone(buzzerPin, 300 * pianoIntensity, DURATION);\n      blinkLEDs(DURATION * 0.2, 1);\n      break;\n    \/\/4\n    case 0x33B842BD:\n      Serial.println(\"TONE 4\");\n      tone(buzzerPin, 400 * pianoIntensity, DURATION);\n      blinkLEDs(DURATION * 0.2, 1);\n      break;\n    \/\/5\n    case 0x33B8629D:\n      Serial.println(\"TONE 5\");\n      tone(buzzerPin, 500 * pianoIntensity, DURATION);\n      blinkLEDs(DURATION * 0.2, 1);\n      break;\n    \/\/6\n    case 0x33B8728D:\n      Serial.println(\"TONE 6\");\n      tone(buzzerPin, 600 * pianoIntensity, DURATION);\n      blinkLEDs(DURATION * 0.2, 1);\n      break;\n    \/\/7\n    case 0x33B8C23D:\n      Serial.println(\"TONE 7\");\n      tone(buzzerPin, 700 * pianoIntensity, DURATION);\n      blinkLEDs(DURATION * 0.2, 1);\n      break;\n    \/\/8\n    case 0x33B8E21D:\n      Serial.println(\"TONE 8\");\n      tone(buzzerPin, 800 * pianoIntensity, DURATION);\n      blinkLEDs(DURATION * 0.2, 1);\n      break;\n    \/\/9\n    case 0x33B8F20D:\n      Serial.println(\"TONE 9\");\n      tone(buzzerPin, 900 * pianoIntensity, DURATION);\n      blinkLEDs(DURATION * 0.2, 1);\n      break;\n\n    \/\/Volume Up\n    case 0x33B8708F:\n      Serial.print(\"Piano Volume Up: \");\n      Serial.println(pianoIntensity);\n      if (pianoIntensity &lt; MAXPIANO) {\n        pianoIntensity += CHANGEPIANO;\n\n        tone(buzzerPin, 1000 * pianoIntensity, DURATION * 0.5);\n        delay(DURATION * 0.5);\n        tone(buzzerPin, 1000 * pianoIntensity, DURATION * 0.5);\n        delay(DURATION * 0.5);\n\n      } else {\n        Serial.print(\"Volume at Maximum!\");\n\n        blinkLEDs(DURATION * 0.4, 3);\n      }\n\n\n      break;\n\n    \/\/Volume Down:\n    case 0x33B840BF:\n\n      if (pianoIntensity &gt; MINPIANO &amp;&amp; pianoIntensity &gt; 0) {\n        pianoIntensity -= CHANGEPIANO;\n        Serial.print(\"Piano Volume Down: \");\n        Serial.println(pianoIntensity);\n\n        tone(buzzerPin, 1000 * pianoIntensity, DURATION * 0.5);\n        delay(DURATION * 0.5);\n        tone(buzzerPin, 1000 * pianoIntensity, DURATION * 0.5);\n        delay(DURATION * 0.5);\n\n      } else {\n        Serial.print(\"Volume at Minimum!\");\n\n        blinkLEDs(DURATION * 0.4, 3);\n      }\n      break;\n\n    default:\n      break;\n  }\n\n}\n\n\/\/\/\n\nvoid blinkLEDs(int t, int n) {\n\n  for (int i = 0; i &lt; n; i++) {\n    digitalWrite(LEDPin, LOW);\n    delay(t);\n    digitalWrite(LEDPin, HIGH);\n    delay(t);\n  }\n\n  digitalWrite(LEDPin, HIGH);\n}\n\n\/\/MOVEMENT\nvoid moveForward(int intensity) {\n  digitalWrite(A1A, intensity);\n  digitalWrite(A1B, 0);\n\n  digitalWrite(B1A, 0);\n  digitalWrite(B1B, intensity);\n}\n\nvoid moveRight(int intensity) {\n  digitalWrite(A1A, intensity);\n  digitalWrite(A1B, 0);\n\n  digitalWrite(B1A, intensity);\n  digitalWrite(B1B, 0);\n}\n\nvoid moveLeft(int intensity) {\n  digitalWrite(A1A, 0);\n  digitalWrite(A1B, intensity);\n\n  digitalWrite(B1A, 0);\n  digitalWrite(B1B, intensity);\n}\n\nvoid moveBackward(int intensity) {\n  digitalWrite(A1A, 0);\n  digitalWrite(A1B, intensity);\n\n  digitalWrite(B1A, intensity);\n  digitalWrite(B1B, 0);\n}\n\nvoid stopMovement() {\n  digitalWrite(A1A, 0);\n  digitalWrite(A1B, 0);\n\n  digitalWrite(B1A, 0);\n  digitalWrite(B1B, 0);\n}\n\n\/\/SENSORS\nlong getDistance() {\n  \n  long duration;\n\n  digitalWrite(pingPin, HIGH);\n  delay(50);\n  digitalWrite(pingPin, LOW);\n\n  duration = pulseIn(echoPin, HIGH) * 0.01724;\n\n  \/\/Serial.print(\"DISTANCE: \");\n  \/\/Serial.println(duration);\n\n  return duration ;\n\n}\n\nbool getIR() {\n  if (irrecv.decode(&amp;IRresults)) {\n\n    if (IRresults.value != 0xFFFFFFFF) {\n      irrecv.resume();\n      return true;\n    }\n    irrecv.resume();\n\n  }\n\n  return false;\n}\n\nfloat getLight() {\n  return analogRead(pResistorPin);\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"has-inline-color has-luminous-vivid-amber-color\">V\u00eddeo Demostraci\u00f3n<\/span><\/h3>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"video-container\"><iframe loading=\"lazy\" title=\"Estaci\u00f3n Sensorial M\u00f3vil - Dise\u00f1o de Sistemas Empotrados\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/LbvbGURcKIo?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","protected":false},"excerpt":{"rendered":"<p>Autores \u00c1ngel Baeza S\u00e1nchez Javier Ra\u00fal Alonso Tejera Vicente Manuel Aguilera Gallardo Introducci\u00f3n Para el proyecto de la asignatura de Dise\u00f1o de Sistemas Empotrados se ha decidido proceder a la construcci\u00f3n y programaci\u00f3n de&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3146","post","type-post","status-publish","format-standard","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>Estaci\u00f3n Sensorial M\u00f3vil - 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\/estacion-sensorial-movil\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Estaci\u00f3n Sensorial M\u00f3vil - Proyectos con Arduino.\" \/>\n<meta property=\"og:description\" content=\"Autores \u00c1ngel Baeza S\u00e1nchez Javier Ra\u00fal Alonso Tejera Vicente Manuel Aguilera Gallardo Introducci\u00f3n Para el proyecto de la asignatura de Dise\u00f1o de Sistemas Empotrados se ha decidido proceder a la construcci\u00f3n y programaci\u00f3n de&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/estacion-sensorial-movil\/\" \/>\n<meta property=\"og:site_name\" content=\"Proyectos con Arduino.\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-20T19:36:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-01-20T20:00:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/01\/1-1024x769.jpg\" \/>\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=\"12 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\\\/estacion-sensorial-movil\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/estacion-sensorial-movil\\\/\"},\"author\":{\"name\":\"Administrador de la red\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/person\\\/bdc38fea664f13638d2a51f4d2fc7211\"},\"headline\":\"Estaci\u00f3n Sensorial M\u00f3vil\",\"datePublished\":\"2021-01-20T19:36:49+00:00\",\"dateModified\":\"2021-01-20T20:00:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/estacion-sensorial-movil\\\/\"},\"wordCount\":1201,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/estacion-sensorial-movil\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2021\\\/01\\\/1-1024x769.jpg\",\"articleSection\":[\"Proyectos\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/estacion-sensorial-movil\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/estacion-sensorial-movil\\\/\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/estacion-sensorial-movil\\\/\",\"name\":\"Estaci\u00f3n Sensorial M\u00f3vil - Proyectos con Arduino.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/estacion-sensorial-movil\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/estacion-sensorial-movil\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2021\\\/01\\\/1-1024x769.jpg\",\"datePublished\":\"2021-01-20T19:36:49+00:00\",\"dateModified\":\"2021-01-20T20:00:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/estacion-sensorial-movil\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/estacion-sensorial-movil\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/estacion-sensorial-movil\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2021\\\/01\\\/1-1024x769.jpg\",\"contentUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2021\\\/01\\\/1-1024x769.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/estacion-sensorial-movil\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Estaci\u00f3n Sensorial M\u00f3vil\"}]},{\"@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":"Estaci\u00f3n Sensorial M\u00f3vil - 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\/estacion-sensorial-movil\/","og_locale":"es_ES","og_type":"article","og_title":"Estaci\u00f3n Sensorial M\u00f3vil - Proyectos con Arduino.","og_description":"Autores \u00c1ngel Baeza S\u00e1nchez Javier Ra\u00fal Alonso Tejera Vicente Manuel Aguilera Gallardo Introducci\u00f3n Para el proyecto de la asignatura de Dise\u00f1o de Sistemas Empotrados se ha decidido proceder a la construcci\u00f3n y programaci\u00f3n de&#46;&#46;&#46;","og_url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/estacion-sensorial-movil\/","og_site_name":"Proyectos con Arduino.","article_published_time":"2021-01-20T19:36:49+00:00","article_modified_time":"2021-01-20T20:00:44+00:00","og_image":[{"url":"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/01\/1-1024x769.jpg","type":"","width":"","height":""}],"author":"Administrador de la red","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Administrador de la red","Tiempo de lectura":"12 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/estacion-sensorial-movil\/#article","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/estacion-sensorial-movil\/"},"author":{"name":"Administrador de la red","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/person\/bdc38fea664f13638d2a51f4d2fc7211"},"headline":"Estaci\u00f3n Sensorial M\u00f3vil","datePublished":"2021-01-20T19:36:49+00:00","dateModified":"2021-01-20T20:00:44+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/estacion-sensorial-movil\/"},"wordCount":1201,"commentCount":0,"publisher":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/estacion-sensorial-movil\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/01\/1-1024x769.jpg","articleSection":["Proyectos"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/estacion-sensorial-movil\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/estacion-sensorial-movil\/","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/estacion-sensorial-movil\/","name":"Estaci\u00f3n Sensorial M\u00f3vil - Proyectos con Arduino.","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/estacion-sensorial-movil\/#primaryimage"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/estacion-sensorial-movil\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/01\/1-1024x769.jpg","datePublished":"2021-01-20T19:36:49+00:00","dateModified":"2021-01-20T20:00:44+00:00","breadcrumb":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/estacion-sensorial-movil\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/estacion-sensorial-movil\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/estacion-sensorial-movil\/#primaryimage","url":"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/01\/1-1024x769.jpg","contentUrl":"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/01\/1-1024x769.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/estacion-sensorial-movil\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blogs.etsii.urjc.es\/dseytr\/"},{"@type":"ListItem","position":2,"name":"Estaci\u00f3n Sensorial M\u00f3vil"}]},{"@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\/3146","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=3146"}],"version-history":[{"count":43,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/3146\/revisions"}],"predecessor-version":[{"id":3394,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/3146\/revisions\/3394"}],"wp:attachment":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media?parent=3146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/categories?post=3146"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/tags?post=3146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}