{"id":6517,"date":"2023-05-06T10:53:47","date_gmt":"2023-05-06T08:53:47","guid":{"rendered":"https:\/\/blogs.etsii.urjc.es\/dseytr\/?p=6517"},"modified":"2023-05-06T11:26:04","modified_gmt":"2023-05-06T09:26:04","slug":"parquimetro","status":"publish","type":"post","link":"https:\/\/blogs.etsii.urjc.es\/dseytr\/parquimetro\/","title":{"rendered":"Parqu\u00edmetro"},"content":{"rendered":"\n<p>Autores: \u00c1lvaro S\u00e1nchez-Paniagua R\u00edos |Adri\u00e1n Basagoitia Bl\u00e1zquez | Mario Maga\u00f1a Agudo<\/p>\n\n\n\n<figure class=\"wp-block-image size-medium is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/WhatsApp-Image-2023-05-02-at-22.37.02-198x300.jpeg\" alt=\"\" class=\"wp-image-6679\" width=\"326\" height=\"494\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/WhatsApp-Image-2023-05-02-at-22.37.02-198x300.jpeg 198w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/WhatsApp-Image-2023-05-02-at-22.37.02-675x1024.jpeg 675w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/WhatsApp-Image-2023-05-02-at-22.37.02-768x1165.jpeg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/WhatsApp-Image-2023-05-02-at-22.37.02.jpeg 962w\" sizes=\"auto, (max-width: 326px) 100vw, 326px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Introducci\u00f3n: ideas y objetivos<\/h2>\n\n\n\n<p>En primer lugar se ha de explicar que tuvimos varias ideas para la realizaci\u00f3n del proyecto, todas ellas eran v\u00e1lidas, pero debido a que no ten\u00edamos experiencia ni conocimientos previos sobre sistemas empotrados o sistemas similares a Arduino decidimos escoger un proyecto con el que todos los integrantes hubi\u00e9semos interactuado y tuvi\u00e9semos un conocimiento previo, por lo que escogimos una m\u00e1quina expendedora de \u201ctickets\u201d asociada a un espacio de estacionamiento de veh\u00edculos o parking. El concepto es general y pr\u00e1cticamente la totalidad de las personas ha interactuado con una m\u00e1quina de este estilo en alg\u00fan momento de su vida, desde m\u00e1quinas expendedoras de comida, m\u00e1quinas para comprar billetes de transporte p\u00fablico, m\u00e1quinas expendedoras del ticket para saber cu\u00e1ndo es la cita en un centro m\u00e9dico o como es nuestro caso para la expedici\u00f3n de un ticket en un parking o un parqu\u00edmetro en la v\u00eda publica en lugares como en centro de Madrid.<\/p>\n\n\n\n<p><br>Asimismo nuestro enfoque fue algo parecido al mundo laboral, donde en una empresa en la que te encuentres trabajando recibas por ejemplo, un lunes un proyecto que debes implementar en 3 o 6 meses de un sistema y tu supervisor te diga a ti o al grupo de trabajo en el que te encuentres que el cliente va a venir el mi\u00e9rcoles o el viernes y hay que tener algo para ense\u00f1arle. En t\u00e9rminos generales un primer prototipo b\u00e1sico y con algunas funcionalidades b\u00e1sicas que est\u00e9n recogidas durante la especificaci\u00f3n.<br>El proyecto en un principio iba a estar orientado de menos a m\u00e1s, es decir implementar lo m\u00e1s b\u00e1sico y despu\u00e9s a\u00f1adir funcionalidades m\u00e1s complejas, pero esto no ha sido del todo un camino f\u00e1cil y hemos tenido que \u201ccortar\u201d alguna de las funcionalidades que hab\u00edamos pensado, pero esto se detallara en los subsiguientes apartados.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Materiales y presupuesto<\/h2>\n\n\n\n<p>Los materiales utilizados en el proyecto han sido:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1 x Placa Arduino Uno R3.<\/li>\n\n\n\n<li>1 x Pantalla LCD 16&#215;2.<\/li>\n\n\n\n<li>4 x TRCT5000 (Sensores Infrarrojos).<\/li>\n\n\n\n<li>1 x Placa de prototipado.<\/li>\n\n\n\n<li>2 x Botones.<\/li>\n\n\n\n<li>1 x Modulo de controlador de motos paso a paso ULN2003.<\/li>\n\n\n\n<li>1 x Motor paso a paso. &#8211; 4 x Resistencias de 1K\u03a9. &#8211; 1 x Resistencia de 220\u03a9.<\/li>\n\n\n\n<li>Cableado diverso<\/li>\n\n\n\n<li>Fragmentos de madera y cart\u00f3n diversos.<\/li>\n<\/ul>\n\n\n\n<p>Todo estaba incluido en el kit excepto:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Elemento<\/strong><\/td><td><strong>Precio (\u20ac)<\/strong><\/td><td><strong>Descripci\u00f3n de compra<\/strong><\/td><\/tr><tr><td>Infrarrojos<\/td><td>10<\/td><td>Comprados en Amazon<\/td><\/tr><tr><td>Deslizadores<\/td><td>5<\/td><td>Comprados en Aliexpress<\/td><\/tr><tr><td>Pegamento, elementos de fabricaci\u00f3n y otros<\/td><td>3<\/td><td>Comprado en tiendas varias<\/td><\/tr><tr><td><strong>TOTAL<\/strong><\/td><td>18 <\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"494\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/image-8-1024x494.png\" alt=\"\" class=\"wp-image-6683\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/image-8-1024x494.png 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/image-8-300x145.png 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/image-8-768x370.png 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/image-8.png 1220w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Implementaci\u00f3n te\u00f3rica en tinkercat.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Implementaci\u00f3n software<\/h2>\n\n\n\n<p>En esta secci\u00f3n se explicar\u00e1 el c\u00f3digo implementado para el proyecto, y su funcionamiento, se mostrar\u00e1n algunos detalles del c\u00f3digo, la totalidad del c\u00f3digo se puede consultar en el archivo .ino adjuntado con este documento.<br>Esta secci\u00f3n se dividir\u00e1 en declaraci\u00f3n de variables, configuraci\u00f3n y bucle c\u00edclico.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/* ***** Import ***** *\/\n#include &lt;LiquidCrystal.h&gt;\n#include &lt;Stepper.h&gt;\n\n\/* ***** Variable declaration ***** *\/\n\/\/ Buttons\nint acceptButtonState = 0;\nint rejectButtonState = 0;\n\n\/\/ Hours related\nconst float hourCost = 0.5;\nint sliderValue = 0; \nint hours = 0;\nfloat cost = 0;\nfloat totalCost = 0;\n\n\/\/ Coin related\nint IRbadCoinState  = 0;\nint IR50CentCoinState = 0;\nint IR1EuroCoinState  = 0;\nint IR2EuroCoinState  = 0;\n\n\/\/ Timers\nint timerHours = 0;\nint timerCoins = 0;\n\n\/\/ Booleans\nbool booleanHoursAccept = false;\nbool booleanHoursReject = false;\nbool booleanCoinsAccept = false;\nbool booleanCoinsReject = false;\n\n\/* *** Pin *** *\/\n\/\/ Pin IR\nconst int pinBadCoin    = A2;\nconst int pin50CentCoin = 10;\nconst int pin1EuroCoin  = A1;\nconst int pin2EuroCoin  = 11;\n\n\/\/ Pin LCD\nconst int  rs = 7;\nconst int  en = 6;\nconst int  d4 = 2;\nconst int  d5 = 3;\nconst int  d6 = 4;\nconst int  d7 = 5;\nLiquidCrystal lcd(rs, en, d4, d5, d6, d7);\n\n\/\/ Slider\nconst int slider = A0;\n\n\/\/ Buttons\nconst int rejectButton = A4;\nconst int acceptButton = A5;\n\n\/\/ Stepper engine\nconst int stepsPerRevolution = 300;\nconst int rolePerMinute = 15;\nconst int engine1 = 8;\nconst int engine2 = 9;\nconst int engine3 = 12;\nconst int engine4 = 13;\nStepper engine(stepsPerRevolution, 8, 12, 9, 13);\n\n\/* ***** Configuration ***** *\/\nvoid setup() {  \n  \/\/ Serial port initialization\n  Serial.begin(9600);\n\n  \/\/ Engine\n  engine.setSpeed(rolePerMinute);\n  \n  \/\/ Pin declaration\n  pinMode(rs, OUTPUT);\n  pinMode(en, OUTPUT);\n  pinMode(d4, OUTPUT);\n  pinMode(d5, OUTPUT);\n  pinMode(d6, OUTPUT);\n  pinMode(d7, OUTPUT); \n  pinMode(engine1, OUTPUT); \n  pinMode(engine2, OUTPUT); \n  pinMode(engine3, OUTPUT); \n  pinMode(engine4, OUTPUT); \n\n  pinMode(pinBadCoin, INPUT);\n  pinMode(pin50CentCoin, INPUT);\n  pinMode(pin1EuroCoin, INPUT);\n  pinMode(pin2EuroCoin, INPUT);\n  pinMode(slider, INPUT);\n  pinMode(rejectButton, INPUT); \n  pinMode(acceptButton, INPUT);\n\n\n  \/\/ Screen initialization\n  lcd.begin(16, 2);\n\n} \/\/ End Setup\n\n\/* *****  Loop ***** *\/\nvoid loop() {\n  \/\/ Clean variable values\n  sliderValue = 0; \n  acceptButtonState = 0;\n  rejectButtonState = 0;\n  IRbadCoinState  = 0;\n  IR50CentCoinState = 0;\n  IR1EuroCoinState  = 0;\n  IR2EuroCoinState  = 0;\n  hours = 0;\n  cost = 0;\n  totalCost = 0;\n\n  timerHours = 0;\n  timerCoins = 0;\n\n  booleanHoursAccept = false;\n  booleanHoursReject = false;\n  booleanCoinsAccept = false;\n  booleanCoinsReject = false;\n\n\n  \/\/ Clear LCD text and turn off the LCD.\n  lcd.clear();\n  lcd.noDisplay();\n  \n  \/* ***** \"Sleep Mode\" ***** *\/\n  while(acceptButtonState &lt;= 500 &amp;&amp; rejectButtonState &lt;= 500){\n    acceptButtonState = analogRead(acceptButton);\n    rejectButtonState = analogRead(rejectButton);\n    delay(500);\n  }\n  \n  \/* ***** Welcome Message ***** *\/\n  \/\/ Turn On LCD and clear variables of buttons\n  lcd.display();\n  acceptButtonState = 0;\n  rejectButtonState = 0;\n  \n\n  \/* Welcome Message *\/\n  lcd.setCursor(0, 0);\n  lcd.print(\"Bienvenido\");\n\n  delay(2000);\n\n\n  \/* ***** Hours ***** *\/\n  \/\/ Hours Welcome Message\n  lcd.clear();\n  lcd.setCursor(0, 0);\n  lcd.print(\"Elija num horas\");\n  lcd.setCursor(0, 1);\n  lcd.print(\"con deslizador,\");\n  \n  delay(3000);\n\n  lcd.clear();\n  lcd.setCursor(0, 0);\n  lcd.print(\"y pulse boton\");\n  lcd.setCursor(0, 1);\n  lcd.print(\"aceptar.\");\n  delay(3000);\n\n  \/* Select Hours *\/\n  while(booleanHoursAccept != true &amp;&amp; booleanHoursReject != true){\n    while(acceptButtonState &lt;= 500 &amp;&amp; rejectButtonState &lt;= 500 &amp;&amp; timerHours &lt;= 200){\n      hours = 0;\n      sliderValue = analogRead(slider);\n      lcd.clear();\n      lcd.setCursor(0, 0);\n\n      if(sliderValue &lt;= 163){\n        hours = 1;\n        lcd.print(\"Horas: 1\");\n      }else if(sliderValue &gt; 163 &amp;&amp; sliderValue &lt;= 346){\n        hours = 2;\n        lcd.print(\"Horas: 2\");\n      }else if(sliderValue &gt; 346 &amp;&amp; sliderValue &lt;= 509){\n        hours = 3;\n        lcd.print(\"Horas: 3\");\n      }else if(sliderValue &gt; 509 &amp;&amp; sliderValue &lt;= 693){\n        hours = 4;\n        lcd.print(\"Horas: 4\");\n      }else if(sliderValue &gt; 693 &amp;&amp; sliderValue &lt;= 856){\n        hours = 5;\n        lcd.print(\"Horas: 5\");\n      }else{\/\/ &gt; 856 &amp;&amp; &lt;= 1023\n        hours = 6;\n        lcd.print(\"Horas: 6\");\n      }\n     \n      \/\/ Read state of the buttons\n      acceptButtonState = analogRead(acceptButton);\n      rejectButtonState = analogRead(rejectButton);\n      \n      delay(100);\n      timerHours += 1;\n    } \/\/ End Inner while\n\n    \/\/ Accept operation\n    if(acceptButtonState &gt; 500 &amp;&amp; rejectButtonState &lt;= 500){\n      booleanHoursAccept = true;\n      lcd.clear();\n      lcd.setCursor(0, 0);\n      lcd.print(\"Horas: \");\n      lcd.print(hours);\n      lcd.setCursor(0, 1);\n      lcd.print(\"Precio: \");\n      cost = hourCost*hours;\n      totalCost = hourCost*hours;\n      lcd.print(cost);\n\n    \/\/ Reject Operation\n    }else if((acceptButtonState &lt; 500 &amp;&amp; rejectButtonState &gt;= 500) || (timerHours &gt; 200)){\n      booleanHoursReject = true;\n      lcd.clear();\n      lcd.setCursor(0, 0);\n      lcd.print(\"Operacion\");\n      lcd.setCursor(0, 1);\n      lcd.print(\"Cancelada\");\n\n      engine.step(-stepsPerRevolution);\n      engine.step(stepsPerRevolution);\n      delay(4000);\n\n    \/\/ Both buttons pressed\n    }else if(acceptButtonState &gt; 500 &amp;&amp; rejectButtonState &gt; 500){\n      lcd.clear();\n      lcd.setCursor(0, 0);\n      lcd.print(\"Pulse solo\");\n      lcd.setCursor(0, 1);\n      lcd.print(\"un bot\u00f3n\");\n      timerHours = 0;\n    }\n\n    delay(5000);\n    acceptButtonState = 0;\n    rejectButtonState = 0;\n  } \/\/ End outer While\n    \n\n  \/* ***** Coins ***** *\/\n  \/\/ Welcome Message\n  lcd.clear();\n  lcd.setCursor(0,0);\n  lcd.print(\"Introduzca\");\n  lcd.setCursor(0, 1);\n  lcd.print(\"Monedas\");\n\n  while(booleanCoinsAccept != true &amp;&amp; booleanCoinsReject != true &amp;&amp; booleanHoursAccept){\n    while(rejectButtonState == 0 &amp;&amp; cost &gt; 0 &amp;&amp; timerCoins &lt;= 200){\n      \/\/ Clean value of variables\n      IRbadCoinState  = 1;\n      IR50CentCoinState = 1;\n      IR1EuroCoinState  = 1;\n      IR2EuroCoinState  = 1;\n      rejectButtonState = 0;\n\n      \/\/ Read new values\n      IRbadCoinState    = analogRead(pinBadCoin);\n      IR50CentCoinState = digitalRead(pin50CentCoin);\n      IR1EuroCoinState  = analogRead(pin1EuroCoin);\n      IR2EuroCoinState  = digitalRead(pin2EuroCoin);\n      \n      if(IRbadCoinState &lt;= 100){\n        lcd.clear();\n        lcd.setCursor(0,0);\n        lcd.print(\"Moneda no\");\n        lcd.setCursor(0, 1);\n        lcd.print(\"Reconocida\");\n        delay(2000);\n        lcd.clear();\n        lcd.setCursor(0, 0);\n        lcd.print(\"Total: \");\n        lcd.print(totalCost);\n        lcd.setCursor(0, 1);\n        lcd.print(\"Faltante: \");\n        lcd.print(cost);\n        delay(2000);\n        timerCoins = 0;\n\n      }else if(IR50CentCoinState == LOW){\n        cost = cost - 0.50;\n        lcd.clear();\n        lcd.setCursor(0, 0);\n        lcd.print(\"Total: \");\n        lcd.print(totalCost);\n        lcd.setCursor(0, 1);\n        lcd.print(\"Faltante: \");\n        lcd.print(cost);\n        delay(2000);\n        timerCoins = 0;\n\n      }else if(IR1EuroCoinState &lt;= 100){\n        cost = cost - 1;\n        lcd.clear();\n        lcd.setCursor(0, 0);\n        lcd.print(\"Total: \");\n        lcd.print(totalCost);\n        lcd.setCursor(0, 1);\n        lcd.print(\"Faltante: \");\n        lcd.print(cost);\n        delay(2000);\n        timerCoins = 0;\n\n      }else if(IR2EuroCoinState == LOW){\n        cost = cost - 2;\n        lcd.clear();\n        lcd.setCursor(0, 0);\n        lcd.print(\"Total: \");\n        lcd.print(totalCost);\n        lcd.setCursor(0, 1);\n        lcd.print(\"Faltante: \");\n        lcd.print(cost);\n        delay(2000);\n        timerCoins = 0;\n\n      }else{\n        \/\/ No coin introduced\n        timerCoins += 1;\n      }\n\n      delay(100);\n      rejectButtonState = analogRead(rejectButton);\n    } \/\/ End inner while coins\n\n    \/\/ Reject Operation\n    if(rejectButtonState &gt;= 500 || timerCoins &gt; 200){\n        booleanCoinsReject = true;\n        lcd.clear();\n        lcd.setCursor(0, 0);\n        lcd.print(\"Operacion\");\n        lcd.setCursor(0, 1);\n        lcd.print(\"Cancelada\");\n    \n    \/\/ Accept operation\n    }else if(cost &lt;= 0){\n        booleanCoinsAccept = true;\n        lcd.clear();\n        lcd.setCursor(0, 0);\n        lcd.print(\"Pago\");\n        lcd.setCursor(0, 1);\n        lcd.print(\"Completado\");\n    }\n    delay(2000);\n  }\/\/ End outer while coins\n\n  \/* Move Engine &amp; Drop token *\/\n  if(booleanCoinsAccept){\n    lcd.clear();\n    lcd.setCursor(0, 0);\n    lcd.print(\"Expidiendo\");\n    lcd.setCursor(0, 1);\n    lcd.print(\"ficha\");\n    delay(2000);\n\n    engine.step(stepsPerRevolution);\n    delay(2000);\n    engine.step(-stepsPerRevolution);\n    delay(2000);\n    engine.step(-stepsPerRevolution);\n    delay(2000);\n    engine.step(stepsPerRevolution);\n    delay(4000);\n\n  }else if(booleanCoinsReject){\n    lcd.clear();\n    lcd.setCursor(0, 0);\n    lcd.print(\"Devolviendo\");\n    lcd.setCursor(0, 1);\n    lcd.print(\"Dinero\");\n\n    engine.step(-stepsPerRevolution);\n    delay(400);\n    engine.step(stepsPerRevolution);\n    delay(4000);\n  }\n} \/\/ End Loop\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Casos de uso<\/h2>\n\n\n\n<p>Los casos de usos que hemos contemplado son:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Operaci\u00f3n correcta: El usuario \u201cdespertar\u00e1\u201d al sistema, elegir\u00e1 un n\u00famero de horas, introducir\u00e1 el dinero y recibir\u00e1 un \u201cticket\u201d.<\/li>\n\n\n\n<li>Operaci\u00f3n cancelada: El usuario cancelar\u00e1 la operaci\u00f3n seleccionando el n\u00famero de horas o introduciendo el dinero. En cualquiera de los casos el sistema devolver\u00e1 cualquier dinero introducido.<\/li>\n\n\n\n<li>Tiempo l\u00edmite: Un usuario puede decidir abandonar la operaci\u00f3n e irse f\u00edsicamente sin cancelar la operaci\u00f3n en el sistema. El sistema tiene un tiempo l\u00edmite despu\u00e9s del que cancelar\u00e1 autom\u00e1ticamente la operaci\u00f3n y devolver\u00e1 el dinero introducido.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Problemas encontrados<\/h2>\n\n\n\n<p>Durante la implementaci\u00f3n del proyecto hemos tenido diversos problemas y\/o dificultades:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Numero de pines: Debido a la naturaleza de la placa Arduino UNO los pines son limitados y algunas de las cosas que ten\u00edamos pensadas como la introducci\u00f3n de una segunda pantalla LCD o un display de 7 segmentos para mostrar las horas, o un segundo motor tuvimos que descartarlo.<\/li>\n\n\n\n<li>Clasificador de monedas: En un primer momento no sab\u00edamos c\u00f3mo clasificar las monedas, buscando por internet comprobamos que hab\u00eda distintos modos de hacerlo, por di\u00e1metro, por peso, etc\u2026 y de distintas maneras, por ca\u00edda vertical, deslizando por una rampa, etc\u2026<br>La opci\u00f3n que elegimos fue clasificar las monedas a trav\u00e9s de una rampa por di\u00e1metro, en un principio quer\u00edamos haber podido clasificar todas y cada una de las monedas, de c\u00e9ntimo o de euros pero tuvimos que desistir debido a que se necesitaban demasiados pines, como soluci\u00f3n restringimos el uso de monedas 50 c\u00e9ntimos, 1 euro y 2 euros, adem\u00e1s de poder saber si se ha introducido una moneda que no es de cualquiera de los tipos anteriores.<br>En cuanto a la implementaci\u00f3n f\u00edsica en un principio pensamos en hacer el clasificador con alg\u00fan tipo de herramienta CAD en 3D y posteriormente imprimirlo, pero el coste de la impresi\u00f3n era demasiado alto para nuestro presupuesto y decidimos desistir de esta idea e implementar f\u00edsicamente el clasificador con cart\u00f3n.<\/li>\n\n\n\n<li>Motor paso a paso y pines digitales 0 y 1: Durante el proceso de pruebas del software no se encontr\u00f3 ning\u00fan problema con el uso de los pines digitales 0 y 1, pero cuando se procedi\u00f3 a probar el software con el hardware encontramos una serie de problemas, en concreto relacionados con el motor paso a paso, que solo giraba en un sentido, concretamente hacia la derecha. Despu\u00e9s de revisar el c\u00f3digo varias veces y revisar el cableado no encontramos soluci\u00f3n alguna y pensamos que el motor podr\u00eda haber dejado de funcionar, por lo que probamos el motor de forma separada con un c\u00f3digo de prueba y funcionaba. Tras esto probamos a poner el motor en los pines 0 y 1 nuevamente con el mismo resultado. Como soluci\u00f3n dejamos de usar los pines digitales 0 y 1 y pasamos dos sensores infrarrojos a los pines anal\u00f3gicos.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Mejoras<\/h2>\n\n\n\n<p>En este apartado se expondr\u00e1n algunas de las mejoras que hemos pensado o que no hemos podido implementar:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Una segunda pantalla LCD: En esta pantalla se mostrar\u00eda la hora actual y la fecha, cuando se seleccionasen las horas con el deslizador, se pondr\u00eda la hora actual en la l\u00ednea superior y la hora de salida en la inferior. Se necesitar\u00eda otra placa con m\u00e1s pines adem\u00e1s de un m\u00f3dulo con conexi\u00f3n a internet para poder consultar la hora actual a un servicio online como el de Microsoft.<\/li>\n\n\n\n<li>M\u00e1s monedas: Una mejora es poder detectar todas las monedas, desde 1 c\u00e9ntimo hasta 2 euros. Se necesitar\u00eda otra placa con m\u00e1s pines.<\/li>\n\n\n\n<li>Autentificaci\u00f3n de las monedas: Nuestro sistema asume que el cliente va a introducir monedas del sistema monetario europeo. Pero en el mundo real no es as\u00ed y se podr\u00edan introducir monedas que fuesen del mismo di\u00e1metro y que puede que tengan un valor inferior como las liras turcas. Para solucionar esto se deber\u00eda usar un clasificador de monedas de tipo comercial como los que se encuentran en m\u00e1quinas expendedoras de tabaco, billetes de transporte p\u00fablico, o m\u00e1quinas expendedoras generalistas.<\/li>\n\n\n\n<li>Expedici\u00f3n de ticket: Hemos elegido expedir una ficha, pero en la vida real deber\u00edamos expedir un ticket o mandar alg\u00fan tipo de notificaci\u00f3n digital v\u00eda NFC o correo electr\u00f3nico. Para ello se necesitar\u00eda otra placa con m\u00e1s pines, conexi\u00f3n a internet y en caso del NFC, un lector de NFC.<\/li>\n\n\n\n<li>Pago con tarjeta: Es el medio de pago m\u00e1s com\u00fan, y por lo tanto se deber\u00eda poder pagar con este m\u00e9todo. Para ello se necesitar\u00eda otra placa con m\u00e1s pines, conexi\u00f3n a internet y un lector de tarjetas.<\/li>\n\n\n\n<li>Devoluci\u00f3n de cambio: En nuestro caso no se devuelve cambio en caso de que se haya introducido dinero de m\u00e1s, es necesario devolver el dinero. Para implementarlo se necesitar\u00eda otra placa, diversa circuiter\u00eda y un lugar donde almacenar los distintos tipos de monedas para devolver adem\u00e1s de un algoritmo que devuelva las monedas utilizando la combinaci\u00f3n \u00f3ptima.<\/li>\n\n\n\n<li>Conocimiento por parte del sistema de cuantas plazas dispone el aparcamiento y cuantas plazas est\u00e1n libres. Asimismo esto se podr\u00eda mejorar a su vez si el sistema tiene conocimiento de que plazas est\u00e1n libres y pueda decir al usuario donde puede aparcar. Por ejemplo, durante la expedici\u00f3n del \u201cticket\u201d el sistema podr\u00eda decir: \u201cEspacio libre en Planta 2, Secci\u00f3n A\u201d.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">V\u00eddeo explicativo<\/h2>\n\n\n\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1c9FOn3B2bay9011heMje5TyvBMu5c5yq\/view?usp=share_link\">https:\/\/drive.google.com\/file\/d\/1c9FOn3B2bay9011heMje5TyvBMu5c5yq\/view?usp=share_link<\/a><\/p>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Autores: \u00c1lvaro S\u00e1nchez-Paniagua R\u00edos |Adri\u00e1n Basagoitia Bl\u00e1zquez | Mario Maga\u00f1a Agudo Introducci\u00f3n: ideas y objetivos En primer lugar se ha de explicar que tuvimos varias ideas para la realizaci\u00f3n del proyecto, todas ellas eran&#46;&#46;&#46;<\/p>\n","protected":false},"author":8,"featured_media":6689,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-6517","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>Parqu\u00edmetro - Proyectos con Arduino.<\/title>\n<meta name=\"description\" content=\"Proyecto para la asignatura Ssitemas empotrados URJC curso 2022-2023 %\" \/>\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\/parquimetro\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Parqu\u00edmetro - Proyectos con Arduino.\" \/>\n<meta property=\"og:description\" content=\"Proyecto para la asignatura Ssitemas empotrados URJC curso 2022-2023 %\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/parquimetro\/\" \/>\n<meta property=\"og:site_name\" content=\"Proyectos con Arduino.\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-06T08:53:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-06T09:26:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/WhatsApp-Image-2023-05-02-at-22.37.02-1.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"962\" \/>\n\t<meta property=\"og:image:height\" content=\"1459\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\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=\"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\\\/parquimetro\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/parquimetro\\\/\"},\"author\":{\"name\":\"gdhwsw2\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/person\\\/7491e54afbe5e7fd53467fccb9c7ce44\"},\"headline\":\"Parqu\u00edmetro\",\"datePublished\":\"2023-05-06T08:53:47+00:00\",\"dateModified\":\"2023-05-06T09:26:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/parquimetro\\\/\"},\"wordCount\":1476,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/parquimetro\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2023\\\/05\\\/WhatsApp-Image-2023-05-02-at-22.37.02-1.jpeg\",\"articleSection\":[\"Proyectos\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/parquimetro\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/parquimetro\\\/\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/parquimetro\\\/\",\"name\":\"Parqu\u00edmetro - Proyectos con Arduino.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/parquimetro\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/parquimetro\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2023\\\/05\\\/WhatsApp-Image-2023-05-02-at-22.37.02-1.jpeg\",\"datePublished\":\"2023-05-06T08:53:47+00:00\",\"dateModified\":\"2023-05-06T09:26:04+00:00\",\"description\":\"Proyecto para la asignatura Ssitemas empotrados URJC curso 2022-2023 %\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/parquimetro\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/parquimetro\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/parquimetro\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2023\\\/05\\\/WhatsApp-Image-2023-05-02-at-22.37.02-1.jpeg\",\"contentUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2023\\\/05\\\/WhatsApp-Image-2023-05-02-at-22.37.02-1.jpeg\",\"width\":962,\"height\":1459},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/parquimetro\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Parqu\u00edmetro\"}]},{\"@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":"Parqu\u00edmetro - Proyectos con Arduino.","description":"Proyecto para la asignatura Ssitemas empotrados URJC curso 2022-2023 %","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\/parquimetro\/","og_locale":"es_ES","og_type":"article","og_title":"Parqu\u00edmetro - Proyectos con Arduino.","og_description":"Proyecto para la asignatura Ssitemas empotrados URJC curso 2022-2023 %","og_url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/parquimetro\/","og_site_name":"Proyectos con Arduino.","article_published_time":"2023-05-06T08:53:47+00:00","article_modified_time":"2023-05-06T09:26:04+00:00","og_image":[{"width":962,"height":1459,"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/WhatsApp-Image-2023-05-02-at-22.37.02-1.jpeg","type":"image\/jpeg"}],"author":"gdhwsw2","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"gdhwsw2","Tiempo de lectura":"12 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/parquimetro\/#article","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/parquimetro\/"},"author":{"name":"gdhwsw2","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/person\/7491e54afbe5e7fd53467fccb9c7ce44"},"headline":"Parqu\u00edmetro","datePublished":"2023-05-06T08:53:47+00:00","dateModified":"2023-05-06T09:26:04+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/parquimetro\/"},"wordCount":1476,"commentCount":0,"publisher":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/parquimetro\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/WhatsApp-Image-2023-05-02-at-22.37.02-1.jpeg","articleSection":["Proyectos"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/parquimetro\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/parquimetro\/","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/parquimetro\/","name":"Parqu\u00edmetro - Proyectos con Arduino.","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/parquimetro\/#primaryimage"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/parquimetro\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/WhatsApp-Image-2023-05-02-at-22.37.02-1.jpeg","datePublished":"2023-05-06T08:53:47+00:00","dateModified":"2023-05-06T09:26:04+00:00","description":"Proyecto para la asignatura Ssitemas empotrados URJC curso 2022-2023 %","breadcrumb":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/parquimetro\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/parquimetro\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/parquimetro\/#primaryimage","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/WhatsApp-Image-2023-05-02-at-22.37.02-1.jpeg","contentUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2023\/05\/WhatsApp-Image-2023-05-02-at-22.37.02-1.jpeg","width":962,"height":1459},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/parquimetro\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blogs.etsii.urjc.es\/dseytr\/"},{"@type":"ListItem","position":2,"name":"Parqu\u00edmetro"}]},{"@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\/6517","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=6517"}],"version-history":[{"count":4,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/6517\/revisions"}],"predecessor-version":[{"id":6686,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/6517\/revisions\/6686"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media\/6689"}],"wp:attachment":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media?parent=6517"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/categories?post=6517"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/tags?post=6517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}