{"id":7563,"date":"2023-12-20T19:30:08","date_gmt":"2023-12-20T18:30:08","guid":{"rendered":"https:\/\/blogs.etsii.urjc.es\/dseytr\/?p=7563"},"modified":"2024-01-25T13:36:50","modified_gmt":"2024-01-25T12:36:50","slug":"robot-camarero","status":"publish","type":"post","link":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-camarero\/","title":{"rendered":"Robot Camarero"},"content":{"rendered":"\n<p>Realizado por: Francisco Pradas Mart\u00edn, Pablo Guti\u00e9rrez Gordillo, Ariel Carn\u00e9s Blasco, Javier Pina Diego<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Componentes<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\">Nombre<\/td><td class=\"has-text-align-center\" data-align=\"center\">Detalles<\/td><td class=\"has-text-align-center\" data-align=\"center\">Unidades<\/td><td class=\"has-text-align-center\" data-align=\"center\">Precio<br>Individual<\/td><td class=\"has-text-align-center\" data-align=\"center\">Precio<br>Total<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Placa Arduino UNO<\/td><td class=\"has-text-align-center\" data-align=\"center\">Dispon\u00edamos de 2 placas adicionales<\/td><td class=\"has-text-align-center\" data-align=\"center\">3<\/td><td class=\"has-text-align-center\" data-align=\"center\">11,49\u20ac<\/td><td class=\"has-text-align-center\" data-align=\"center\">22,98\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Resistencias<\/td><td class=\"has-text-align-center\" data-align=\"center\">&#8211;<\/td><td class=\"has-text-align-center\" data-align=\"center\">10<\/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\">Protoboard<\/td><td class=\"has-text-align-center\" data-align=\"center\">170 ptos<\/td><td class=\"has-text-align-center\" data-align=\"center\">2<\/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\">Kit Elegoo Smart Robot Car Kit V2.0<\/td><td class=\"has-text-align-center\" data-align=\"center\">No hubo que comprarlo, ya dispon\u00edamos de \u00e9l<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><td class=\"has-text-align-center\" data-align=\"center\">67,99\u20ac<\/td><td class=\"has-text-align-center\" data-align=\"center\">67,99\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Sensor Infrarrojos + Mando<\/td><td class=\"has-text-align-center\" data-align=\"center\">Utilizamos el que ven\u00eda en el kit y uno que ven\u00eda incorporado en el coche<\/td><td class=\"has-text-align-center\" data-align=\"center\">2<\/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\">Pantalla LCD<\/td><td class=\"has-text-align-center\" data-align=\"center\">Para la estaci\u00f3n central<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/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\">Servomotores<\/td><td class=\"has-text-align-center\" data-align=\"center\">Para estaci\u00f3n central y para estaci\u00f3n de carga<\/td><td class=\"has-text-align-center\" data-align=\"center\">2<\/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\">Motor Stepper<\/td><td class=\"has-text-align-center\" data-align=\"center\">Para estaci\u00f3n de carga<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/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\">Sensor ultras\u00f3nico<\/td><td class=\"has-text-align-center\" data-align=\"center\">Para el coche (integrado) y para la estaci\u00f3n de carga<\/td><td class=\"has-text-align-center\" data-align=\"center\">2<\/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\">Potenci\u00f3metro<\/td><td class=\"has-text-align-center\" data-align=\"center\">Para estaci\u00f3n central<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/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\">M\u00f3dulo de potencia<\/td><td class=\"has-text-align-center\" data-align=\"center\">Para estaci\u00f3n central<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/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\">Pila (4,5V)<\/td><td class=\"has-text-align-center\" data-align=\"center\">Para estaci\u00f3n central y para estaci\u00f3n de carga<\/td><td class=\"has-text-align-center\" data-align=\"center\">2<\/td><td class=\"has-text-align-center\" data-align=\"center\">7,57\u20ac<\/td><td class=\"has-text-align-center\" data-align=\"center\">15,14<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Cart\u00f3n\/ cart\u00f3n pluma<\/td><td class=\"has-text-align-center\" data-align=\"center\">Para estaci\u00f3n central y estaci\u00f3n de carga<\/td><td class=\"has-text-align-center\" data-align=\"center\">4<\/td><td class=\"has-text-align-center\" data-align=\"center\">1,20\u20ac<\/td><td class=\"has-text-align-center\" data-align=\"center\">4,80\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">PRECIO TOTAL<\/td><td class=\"has-text-align-center\" data-align=\"center\">En la columna izquierda el precio real de todo el proyecto, ya que dispon\u00edamos de muchos de los materiales<\/td><td class=\"has-text-align-center\" data-align=\"center\"><\/td><td class=\"has-text-align-center\" data-align=\"center\">4,80\u20ac<\/td><td class=\"has-text-align-center\" data-align=\"center\">110,91\u20ac<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Objetivo del proyecto<\/h2>\n\n\n\n<p>Tras debatir entre los miembros del grupo y hacer una lluvia de ideas sobre posibles proyectos, obtuvimos 3 posibilidades: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Estaci\u00f3n meteorol\u00f3gica<\/li>\n\n\n\n<li>Robot camarero<\/li>\n\n\n\n<li>Rat\u00f3n resuelve-laberintos<\/li>\n<\/ul>\n\n\n\n<p>Finalmente y tras una charla con el profesor, decidimos descartar la estaci\u00f3n meteorol\u00f3gica por ser demasiado sencilla, y el rat\u00f3n por complejidad algor\u00edtmica. <\/p>\n\n\n\n<p>Una vez decidido el proyecto que \u00edbamos a realizar, decidimos hacer una lluvia de ideas para ver c\u00f3mo pod\u00edamos implementarlo, para despu\u00e9s comenzar con la investigaci\u00f3n de qu\u00e9 \u00edbamos a necesitar para llevarlo a cabo (materiales, programaci\u00f3n, aprovechamiento de recursos&#8230;). <\/p>\n\n\n\n<p>La idea del proyecto era conseguir que un veh\u00edculo fuera de un punto \u00abA\u00bb a uno o varios puntos \u00abB\u00bb, recogiera una carga y la trajera de vuelta al punto de inicio. Tras pensar formas de interconectar varias estaciones de carga, vimos que era algo complejo a nivel hardware, ya que necesitar\u00edamos cables muy largos (lo que supondr\u00eda p\u00e9rdida de eficiencia), una base para cablear todo el proyecto por debajo de la misma para no ser visto (demasiado costoso y dif\u00edcil de transportar). <\/p>\n\n\n\n<p>Por tanto, optamos por una opci\u00f3n \u00abB\u00bb, que consist\u00eda en implementar 3 tipos de carga en una sola estaci\u00f3n de carga, y que lo que girara fuera la propia estaci\u00f3n. Algo as\u00ed como una estaci\u00f3n giratoria. Sin embargo, esto tambi\u00e9n supon\u00eda un problema ya que el motor no ten\u00eda fuerza suficiente para mover la estaci\u00f3n completa, por lo que finalmente optamos por hacer que se moviera \u00fanicamente una ruleta con 3 huecos (uno para cada tipo de carga), que se encontraba en la parte alta de la estaci\u00f3n. As\u00ed adem\u00e1s el sistema era m\u00e1s escalable porque si en un futuro quer\u00edamos avanzar a\u00fan m\u00e1s en el proyecto lo \u00fanico que deb\u00edamos hacer era implementar otra estaci\u00f3n de carga e introducirla en la estaci\u00f3n central.<\/p>\n\n\n\n<p>Adem\u00e1s, quisimos a\u00f1adir una estaci\u00f3n central que sirviera como \u00abpuesto de control\u00bb, en el que el veh\u00edculo se detuviera hasta saber a por qu\u00e9 producto ten\u00eda que ir. Cada parte del proyecto deb\u00eda ser aut\u00f3noma para que con un solo mando y un par de teclas pudiese controlarse todo. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Problemas encontrados<\/h2>\n\n\n\n<p>Algunos de los problemas que nos han surgido durante la realizaci\u00f3n de la pr\u00e1ctica han sido: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Infrarrojos<\/li>\n\n\n\n<li>Coche<\/li>\n<\/ul>\n\n\n\n<p>Tuvimos bastantes problemas con el infrarrojo. Desde problemas con la distancia a la que detectaba la se\u00f1al del mando, hasta problemas con valores basura e interferencias con otras se\u00f1ales. Tuvimos que hacer muchas pruebas, correcciones y mediciones hasta que conseguimos minimizar el n\u00famero de errores lo m\u00e1ximo posible. <\/p>\n\n\n\n<p>Respecto al coche, al tratarse de un modelo antiguo y con bastante uso, en un primer momento tuvimos problemas con las conexiones, ya que algunos cables estaban sueltos y no hac\u00edan buen contacto, por lo que hubo que soldar pr\u00e1cticamente todos los cables para que no se soltaran.<\/p>\n\n\n\n<p>Despu\u00e9s, el coche presentaba algunos problemas a la hora de hacer la funci\u00f3n de siguel\u00edneas, ya que los sensores detectaban se\u00f1ales err\u00f3neas (manchas en el suelo, sombras&#8230;). Esto se solucion\u00f3 tensando m\u00e1s la l\u00ednea de cinta aislante magn\u00e9tica y ajustando el potenci\u00f3metro de los sensores para hacerlos menos sensibles a otros elementos. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3digo completo del proyecto<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/PROYECTO COCHE CAMARERO\n\n\/\/MOVIMIENTO DEL COCHE\n#include &lt;Servo.h&gt; \/\/servo library\n\n#define LT1 digitalRead(10)\n#define LT2 digitalRead(4)\n#define LT3 digitalRead(2)\n\nServo myservo; \/\/ create servo object to control servo\nint Echo = A4;\nint Trig = A5;\nfloat DistanciaUmbral1 = 10;\nfloat DistanciaUmbral2 = 5;\nint motorDerechoAdelante = 6;\nint motorDerechoAtras = 7;\nint motorIzquierdoAtras = 8;\nint motorIzquierdoAdelante = 9;\nint ENA = 5;\nint ENB = 11;\nint velocidad = 80;\n\nvoid setup() {\n  \/\/ Configuramos los pines de los motores como salidas\n  pinMode(motorIzquierdoAdelante, OUTPUT);\n  pinMode(motorIzquierdoAtras, OUTPUT);\n  pinMode(motorDerechoAdelante, OUTPUT);\n  pinMode(motorDerechoAtras, OUTPUT);\n  pinMode(ENA, OUTPUT);\n  pinMode(ENB, OUTPUT);\n  digitalWrite(ENA, HIGH);\n  digitalWrite(ENB, HIGH);\n  pinMode(Trig, OUTPUT);\n  pinMode(Echo, INPUT);\n  pinMode(LT1, INPUT);\n  pinMode(LT2, INPUT);\n  pinMode(LT3, INPUT);\n  \n  \/\/ Inicializamos la comunicaci\u00f3n serial para depuraci\u00f3n\n  Serial.begin(9600);\n}\n\nvoid loop() {\n  while (!detectarBarrera()) {\n    seguirLinea();\n  }\n\n  detenerse(); \/\/ Se detiene cuando detecta una barrera\n  \n  \/\/ Detectar pelota y realizar media vuelta si es necesario\n  if (detectarPelota()) {\n    mediavuelta();\n    \/\/ Volver a seguir la l\u00ednea despu\u00e9s de dar la media vuelta\n    while (!detectarBarrera()) {\n      seguirLinea();\n    }\n  }\n  \/\/ Si no cae una pelota, permanece detenido.\n}\n\nvoid seguirLinea() {\n  if (LT2) {\n    avanzar();\n  } else if (LT1) {\n    girarIzquierda();\n    while (LT1);\n    \n  } else if (LT3) {\n    girarDerecha();\n    while (LT3);\n    \n  } else {\n    detenerse();\n  }\n}\n\nvoid girarIzquierda() {\n  \/\/ Avanzar hacia adelante\n  analogWrite(ENA, 120);\n  analogWrite(ENB, 120);\n  digitalWrite(motorIzquierdoAdelante, LOW);\n  digitalWrite(motorIzquierdoAtras, HIGH);\n  digitalWrite(motorDerechoAdelante, HIGH);\n  digitalWrite(motorDerechoAtras, LOW);\n}\n\nvoid girarDerecha() {\n  \/\/ Retroceder\n  analogWrite(ENA, velocidad);\n  analogWrite(ENB, velocidad);\n  digitalWrite(motorIzquierdoAdelante, HIGH);\n  digitalWrite(motorIzquierdoAtras, LOW);\n  digitalWrite(motorDerechoAdelante, LOW);\n  digitalWrite(motorDerechoAtras, HIGH);\n}\n\nvoid detenerse() {\n  \/\/ Detener ambos motores\n  analogWrite(ENA, velocidad);\n  analogWrite(ENB, velocidad);\n  digitalWrite(motorIzquierdoAdelante, LOW);\n  digitalWrite(motorIzquierdoAtras, LOW);\n  digitalWrite(motorDerechoAdelante, LOW);\n  digitalWrite(motorDerechoAtras, LOW);\n}\n\nvoid avanzar() {\n  \/\/ Girar a la izquierda\n  analogWrite(ENA, velocidad);\n  analogWrite(ENB, velocidad);\n  digitalWrite(motorIzquierdoAdelante, HIGH);\n  digitalWrite(motorIzquierdoAtras, LOW);\n  digitalWrite(motorDerechoAdelante, HIGH);\n  digitalWrite(motorDerechoAtras, LOW);\n}\n\nvoid retroceder() {\n  \/\/ Girar a la derecha\n  analogWrite(ENA, velocidad);\n  analogWrite(ENB, velocidad);\n  digitalWrite(motorIzquierdoAdelante, LOW);\n  digitalWrite(motorIzquierdoAtras, HIGH);\n  digitalWrite(motorDerechoAdelante, LOW);\n  digitalWrite(motorDerechoAtras, HIGH);\n}\n\nvoid mediavuelta() {\n  \/\/ Girar a la derecha\n  analogWrite(ENA, velocidad);\n  analogWrite(ENB, velocidad);\n  digitalWrite(motorIzquierdoAdelante, HIGH);\n  digitalWrite(motorIzquierdoAtras, LOW);\n  digitalWrite(motorDerechoAdelante, HIGH);\n  digitalWrite(motorDerechoAtras, LOW);\n}\n\nbool detectarBarrera() {\n  digitalWrite(Trig, LOW);\n  delayMicroseconds(2);\n  digitalWrite(Trig, HIGH);\n  delayMicroseconds(10);\n  digitalWrite(Trig, LOW);\n  long tiempoEcho = pulseIn(Echo, HIGH);\n  float distancia1 = tiempoEcho * 0.034 \/ 2;\n  return (distancia1 &lt; DistanciaUmbral1);\n}\n\nbool detectarPelota() {\n  digitalWrite(Trig, LOW);\n  delayMicroseconds(2);\n  digitalWrite(Trig, HIGH);\n  delayMicroseconds(10);\n  digitalWrite(Trig, LOW);\n  long tiempoEcho = pulseIn(Echo, HIGH);\n  float distancia2 = tiempoEcho * 0.034 \/ 2;\n  return (distancia2 &lt; DistanciaUmbral2);\n}<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/CODIGO DE LA ESTACI\u00d3N CENTRAL\n\n#include &lt;Servo.h&gt;\n#include &lt;IRremote.h&gt;\n#include &lt;LiquidCrystal.h&gt;\n\nint rs =12;\nint e =11;\nint d4=5;\nint d5=4;\nint d6=3;\nint d7=2;\nLiquidCrystal lcd(rs,e,d4,d5,d6,d7);\n\nServo servo1,servo2,servo3;     \/\/pueden ser 2 servo y un motor que eso si lo tenemos\n\nint sensor=10;    \/\/pin donde va el infrarrojo\nIRrecv infrarrojo(sensor);\n\nvoid abrir_puerta();\nvoid cerrar_puerta();\n\n\nvoid setup() {\n  \/\/ put your setup code here, to run once:\n  lcd.begin(16,2);\n  Serial.begin(9600);\n  lcd.setCursor(0,0);\n  lcd.print(\"LCD Setup\");\n  delay(2000);\n  lcd.clear();\n  infrarrojo.enableIRIn();\n  servo1.attach(9);\n   servo1.write(0);\n}\n\nvoid loop() {\n \n  lcd.setCursor(0,0);\n  lcd.print(\"Estacion?\");\n  \n  \/\/codigo del infrarrojo\n  if(infrarrojo.decode()){\n    Serial.println(infrarrojo.decodedIRData.decodedRawData,HEX); \n    if(infrarrojo.decodedIRData.decodedRawData == 0xE916FF00){\n      lcd.setCursor(0,1);\n      lcd.print(\"Estacion 0\");\n      abrir_puerta();\n      delay(2000);\n      servo1.write(0);\n\n    }\n    if(infrarrojo.decodedIRData.decodedRawData == 0xF30CFF00){\n      lcd.setCursor(0,1);\n      lcd.print(\"Estacion 1\");\n      abrir_puerta();\n      delay(2000);\n      servo1.write(0);\n\n    }\n    if(infrarrojo.decodedIRData.decodedRawData == 0xE718FF00){\n      lcd.setCursor(0,1);\n      lcd.print(\"Estacion 2\");\n      abrir_puerta();\n      delay(2000);\n      servo1.write(0);\n    }\n    Serial.println();\n    infrarrojo.resume();\n  }\n  \n  delay(10);\n\n}\n\n\nvoid abrir_puerta(){\n      for(int pos = 0; pos&lt;= 90; pos++){\n        servo1.write(pos);\n        delay(15);\n      }\n}\nvoid cerrar_puerta(){\n      for(int pos = 90; pos&gt;=0; pos--){\n        servo1.write(pos);\n        delay(15);\n      }\n}<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/C\u00d3DIGO DE LA ESTACI\u00d3N DE CARGA\n\n#include &lt;Stepper.h&gt;\n#include &lt;Servo.h&gt;\n#include &lt;IRremote.h&gt;\n\n\n\/\/2048 pasos es una vuelta\nint pasos_por_revolucion=2048;\nint angulo_a=0;\nint angulo_b=680;\nint angulo_c=-angulo_b;\nint velocidad=10;\nStepper mystepper(pasos_por_revolucion,8,10,9,11);\n\nServo servo1;     \n\nint sensor=3;    \/\/pin donde va el infrarrojo\nIRrecv infrarrojo(sensor);\n\n\n\nint trigger=A0;\nint echo=5;\nlong tiempo_trigger;\n\n\n\n\nvoid abrir_puerta();\nvoid cerrar_puerta();\nvoid reconocer_coche();\n\n\nvoid setup() {\n  \/\/ put your setup code here, to run once:\n  mystepper.setSpeed(velocidad);\n  mystepper.step(angulo_a);\n\n  Serial.begin(9600);\n\n  infrarrojo.enableIRIn();\n  servo1.attach(6);\n  servo1.write(0);\n\n  pinMode(trigger,OUTPUT);\n  pinMode(echo,INPUT);\n\n\n}\n\nvoid loop() {\n \n  \/\/Serial.print(\"Estacion?\");\n  \n  \/\/codigo del infrarrojo\n  if(infrarrojo.decode()){\n    \/\/Serial.println(infrarrojo.decodedIRData.decodedRawData,HEX); \n    if(infrarrojo.decodedIRData.decodedRawData == 0xE916FF00){\n      Serial.println(\"Estacion 0\");\n      mystepper.step(angulo_a);\n      reconocer_coche();\n      mystepper.step(-angulo_a);\n\n\n    }\n    if(infrarrojo.decodedIRData.decodedRawData == 0xF30CFF00){\n      Serial.println(\"Estacion 1\");\n      mystepper.step(angulo_b);\n      reconocer_coche();\n      mystepper.step(-angulo_b);\n \n\n    }\n    if(infrarrojo.decodedIRData.decodedRawData == 0xE718FF00){\n      Serial.println(\"Estacion 2\");\n      mystepper.step(angulo_c);\n      reconocer_coche();\n      mystepper.step(-angulo_c);\n\n    }\n    Serial.println();\n    infrarrojo.resume();\n  }\n  \n  delay(10);\n\n}\n\n\nvoid abrir_puerta(){\n      for(int pos = 0; pos&lt;= 90; pos++){\n        servo1.write(pos);\n        delay(15);\n      }\n}\nvoid cerrar_puerta(){\n      for(int pos = 90; pos&gt;=0; pos--){\n        servo1.write(pos);\n        delay(15);\n      }\n}\n\nvoid reconocer_coche(){\n      Serial.println(\"--------------------------------\");\n      digitalWrite(trigger,LOW);\n      delayMicroseconds(10);\n      digitalWrite(trigger,HIGH);\n      delayMicroseconds(10);\n      digitalWrite(trigger,LOW);\n\n      tiempo_trigger=pulseIn(echo,HIGH);\n      float distancia=(tiempo_trigger*0.034)\/2;\n      Serial.print(distancia);\n\n      if(distancia&lt;=15){\n      delay(200);\n      abrir_puerta();\n      delay(2000);\n      servo1.write(0);\n      }\n      else{\n        reconocer_coche();\n      }\n\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Explicaci\u00f3n del funcionamiento del prototipo<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Coche<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-align-left\">Este es el veh\u00edculo que transportar\u00e1 la carga. Su objetivo es detectar cuando la barrera de entrada sube para as\u00ed ir a la estaci\u00f3n de carga. En la estaci\u00f3n de carga tendr\u00e1 que esperar a recibir la carga, en cuanto la reciba dar\u00e1 media vuelta y se retirar\u00e1 por la estaci\u00f3n central. <\/p>\n\n\n\n<p class=\"has-text-align-left\">En el c\u00f3digo hay una serie de funciones para controlar el movimiento del coche. A diferencia de lo que podr\u00eda parecer obvio de que hay una variable para cada motor, hay dos variables para cada lado del coche (izquierdo y derecho) para cada movimiento posible (adelante y atr\u00e1s). Adem\u00e1s se a\u00f1aden dos funciones para detectar objetos (una barrera y una pelota) que se controlan con un sensor ultras\u00f3nico, por lo que dichas funciones calculan la distancia a la que est\u00e1 el coche, y act\u00faan en funci\u00f3n de los resultados obtenidos. Para el movimiento del coche, se ha incluido la funci\u00f3n para seguir l\u00edneas mediante el control de 3 sensores que se encuentran debajo del coche y una estructura de c\u00f3digo de else-ifs.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Estaci\u00f3n central<\/li>\n<\/ul>\n\n\n\n<p>Esta ser\u00e1 la estaci\u00f3n de la que sale el coche. Su objetivo es el de abrir la barrera de la entrada una vez se haya seleccionado un tipo de carga. Es un c\u00f3digo simple que est\u00e1 dividido por 3 ifs. Dependiendo de qu\u00e9 tecla reconozca la estaci\u00f3n se ir\u00e1 la ejecuci\u00f3n del c\u00f3digo por un lado o por otro y los mensajes por pantalla cambiar\u00e1n adem\u00e1s de abrir y cerrar la compuerta de la estaci\u00f3n.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Estaci\u00f3n de carga<\/li>\n<\/ul>\n\n\n\n<p>Esta ser\u00e1 la estaci\u00f3n en la que tendremos la carga que vamos a transportar. Su objetivo es identificar el tipo de carga deseado y esperar al cami\u00f3n para soltarlo. Es bastante parecido al c\u00f3digo de la estaci\u00f3n anterior, la diferencia es que dependiendo de qu\u00e9 bot\u00f3n se pulse se girar\u00e1 hacia un producto u otro y la puerta se abrir\u00e1 si se detecta un veh\u00edculo a la espera de que se dispense el producto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Video del funcionamiento del prototipo<\/h2>\n\n\n\n<p>Todas las fotos y videos del proyecto est\u00e1n aqu\u00ed adjuntadas:<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"480\" style=\"aspect-ratio: 848 \/ 480;\" width=\"848\" controls src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/12\/15b7c582-9f4c-4c44-8c99-221b9711a45f-Compressed-with-FlexClip-Compressed-with-FlexClip.mp4\"><\/video><\/figure>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"480\" style=\"aspect-ratio: 848 \/ 480;\" width=\"848\" controls src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/12\/15b7c582-9f4c-4c44-8c99-221b9711a45f-2-Compressed-with-FlexClip-Compressed-with-FlexClip.mp4\"><\/video><\/figure>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"480\" style=\"aspect-ratio: 848 \/ 480;\" width=\"848\" controls src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/12\/15b7c582-9f4c-4c44-8c99-221b9711a45f-3-Compressed-with-FlexClip-Compressed-with-FlexClip.mp4\"><\/video><\/figure>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"480\" style=\"aspect-ratio: 848 \/ 480;\" width=\"848\" controls src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/12\/15b7c582-9f4c-4c44-8c99-221b9711a45f-4-Compressed-with-FlexClip-Compressed-with-FlexClip-1.mp4\"><\/video><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Realizado por: Francisco Pradas Mart\u00edn, Pablo Guti\u00e9rrez Gordillo, Ariel Carn\u00e9s Blasco, Javier Pina Diego Componentes Nombre Detalles Unidades PrecioIndividual PrecioTotal Placa Arduino UNO Dispon\u00edamos de 2 placas adicionales 3 11,49\u20ac 22,98\u20ac Resistencias &#8211; 10&#46;&#46;&#46;<\/p>\n","protected":false},"author":194,"featured_media":7912,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-7563","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-proyectos"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Robot Camarero - 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\/robot-camarero\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Robot Camarero - Proyectos con Arduino.\" \/>\n<meta property=\"og:description\" content=\"Realizado por: Francisco Pradas Mart\u00edn, Pablo Guti\u00e9rrez Gordillo, Ariel Carn\u00e9s Blasco, Javier Pina Diego Componentes Nombre Detalles Unidades PrecioIndividual PrecioTotal Placa Arduino UNO Dispon\u00edamos de 2 placas adicionales 3 11,49\u20ac 22,98\u20ac Resistencias &#8211; 10&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-camarero\/\" \/>\n<meta property=\"og:site_name\" content=\"Proyectos con Arduino.\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-20T18:30:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-25T12:36:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/12\/ARDUINO.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"239\" \/>\n\t<meta property=\"og:image:height\" content=\"211\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DSE_2023_24_G13\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"DSE_2023_24_G13\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 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\\\/robot-camarero\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-camarero\\\/\"},\"author\":{\"name\":\"DSE_2023_24_G13\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/person\\\/d64c9dcf369297457443c9c6a4b5ffe9\"},\"headline\":\"Robot Camarero\",\"datePublished\":\"2023-12-20T18:30:08+00:00\",\"dateModified\":\"2024-01-25T12:36:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-camarero\\\/\"},\"wordCount\":1148,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-camarero\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2023\\\/12\\\/ARDUINO.jpg\",\"articleSection\":[\"Proyectos\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-camarero\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-camarero\\\/\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-camarero\\\/\",\"name\":\"Robot Camarero - Proyectos con Arduino.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-camarero\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-camarero\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2023\\\/12\\\/ARDUINO.jpg\",\"datePublished\":\"2023-12-20T18:30:08+00:00\",\"dateModified\":\"2024-01-25T12:36:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-camarero\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-camarero\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-camarero\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2023\\\/12\\\/ARDUINO.jpg\",\"contentUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2023\\\/12\\\/ARDUINO.jpg\",\"width\":239,\"height\":211},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-camarero\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Robot Camarero\"}]},{\"@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\\\/d64c9dcf369297457443c9c6a4b5ffe9\",\"name\":\"DSE_2023_24_G13\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5f2df810569103ae4cad49b4c04941bcdffef32dabd26b857b94db95d5057f30?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5f2df810569103ae4cad49b4c04941bcdffef32dabd26b857b94db95d5057f30?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5f2df810569103ae4cad49b4c04941bcdffef32dabd26b857b94db95d5057f30?s=96&d=mm&r=g\",\"caption\":\"DSE_2023_24_G13\"},\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/author\\\/dse202324g13\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Robot Camarero - 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\/robot-camarero\/","og_locale":"es_ES","og_type":"article","og_title":"Robot Camarero - Proyectos con Arduino.","og_description":"Realizado por: Francisco Pradas Mart\u00edn, Pablo Guti\u00e9rrez Gordillo, Ariel Carn\u00e9s Blasco, Javier Pina Diego Componentes Nombre Detalles Unidades PrecioIndividual PrecioTotal Placa Arduino UNO Dispon\u00edamos de 2 placas adicionales 3 11,49\u20ac 22,98\u20ac Resistencias &#8211; 10&#46;&#46;&#46;","og_url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-camarero\/","og_site_name":"Proyectos con Arduino.","article_published_time":"2023-12-20T18:30:08+00:00","article_modified_time":"2024-01-25T12:36:50+00:00","og_image":[{"width":239,"height":211,"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/12\/ARDUINO.jpg","type":"image\/jpeg"}],"author":"DSE_2023_24_G13","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"DSE_2023_24_G13","Tiempo de lectura":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-camarero\/#article","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-camarero\/"},"author":{"name":"DSE_2023_24_G13","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/person\/d64c9dcf369297457443c9c6a4b5ffe9"},"headline":"Robot Camarero","datePublished":"2023-12-20T18:30:08+00:00","dateModified":"2024-01-25T12:36:50+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-camarero\/"},"wordCount":1148,"commentCount":0,"publisher":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-camarero\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/12\/ARDUINO.jpg","articleSection":["Proyectos"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-camarero\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-camarero\/","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-camarero\/","name":"Robot Camarero - Proyectos con Arduino.","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-camarero\/#primaryimage"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-camarero\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/12\/ARDUINO.jpg","datePublished":"2023-12-20T18:30:08+00:00","dateModified":"2024-01-25T12:36:50+00:00","breadcrumb":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-camarero\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-camarero\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-camarero\/#primaryimage","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/12\/ARDUINO.jpg","contentUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/12\/ARDUINO.jpg","width":239,"height":211},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-camarero\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blogs.etsii.urjc.es\/dseytr\/"},{"@type":"ListItem","position":2,"name":"Robot Camarero"}]},{"@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\/d64c9dcf369297457443c9c6a4b5ffe9","name":"DSE_2023_24_G13","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/5f2df810569103ae4cad49b4c04941bcdffef32dabd26b857b94db95d5057f30?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5f2df810569103ae4cad49b4c04941bcdffef32dabd26b857b94db95d5057f30?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5f2df810569103ae4cad49b4c04941bcdffef32dabd26b857b94db95d5057f30?s=96&d=mm&r=g","caption":"DSE_2023_24_G13"},"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/author\/dse202324g13\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/7563","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\/194"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/comments?post=7563"}],"version-history":[{"count":7,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/7563\/revisions"}],"predecessor-version":[{"id":7696,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/7563\/revisions\/7696"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media\/7912"}],"wp:attachment":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media?parent=7563"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/categories?post=7563"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/tags?post=7563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}