{"id":3880,"date":"2021-05-14T12:13:43","date_gmt":"2021-05-14T12:13:43","guid":{"rendered":"https:\/\/blogs.etsii.urjc.es\/dseytr\/?p=3880"},"modified":"2021-06-17T16:41:31","modified_gmt":"2021-06-17T16:41:31","slug":"smartbin-papelera-inteligente","status":"publish","type":"post","link":"https:\/\/blogs.etsii.urjc.es\/dseytr\/smartbin-papelera-inteligente\/","title":{"rendered":"SmartBin &#8211; Papelera inteligente"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large is-style-default\"><a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/06\/Papelera-inteligente-1.jpeg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/06\/Papelera-inteligente-1-1024x768.jpeg\" alt=\"\" class=\"wp-image-4327\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/06\/Papelera-inteligente-1-1024x768.jpeg 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/06\/Papelera-inteligente-1-300x225.jpeg 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/06\/Papelera-inteligente-1-768x576.jpeg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/06\/Papelera-inteligente-1.jpeg 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Introducci\u00f3n<\/h2>\n\n\n\n<p class=\"has-text-align-left\">Este proyecto final de la asignatura de Sistemas Empotrados y de Tiempo Real, consiste en crear una estructura de reciclaje inteligente que permita a las personas reciclar de una forma r\u00e1pida y sencilla. Esta estructura se compone de dos cub\u00edculos independientes, uno de ellos servir\u00e1 para almacenar el pl\u00e1stico y el otro el cart\u00f3n. Se van a utilizar dos formas que permitan a la persona abrir el cub\u00edculo correspondiente, una mediante la detecci\u00f3n de aproximaci\u00f3n y la otra mediante el reconocimiento de voz de dos palabras: \u201cpl\u00e1stico\u201d y \u201ccart\u00f3n\u201d. <\/p>\n\n\n\n<p class=\"has-text-align-left\">Para el primer m\u00e9todo, se ha utilizado dos sensores ultrasonido colocados en cada papelera que detectar\u00e1n si la distancia del objeto es menor a 10 cent\u00edmetros y para la segunda forma, se ha usado un m\u00f3dulo de reconocimiento de voz que reconocer\u00e1 los dos comandos entrenados previamente. Estos dos m\u00e9todos, har\u00e1n que act\u00fae el mecanismo de apertura de cada papelera, donde tiene incorporado un servomotor, de manera que abrir\u00e1 la tapa de la papelera correspondiente durante un periodo de 3 segundos. La pantalla LCD incorporada, mostrar\u00e1 los estados de las tapaderas correspondientes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Herramientas<\/h2>\n\n\n\n<p>Herramientas utilizadas en el proceso de montaje (en el momento de realizar este proyecto, usar las herramientas que ve\u00e1is necesarias en vuestro caso).<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table><thead><tr><th class=\"has-text-align-center\" data-align=\"center\">Herramientas<\/th><th class=\"has-text-align-center\" data-align=\"center\">Unidades<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\">Pistola de silicona<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Taladro<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Alicates<\/td><td class=\"has-text-align-center\" data-align=\"center\">2<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Cinta americana<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">C\u00fater<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Soldador de esta\u00f1o<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Materiales<\/h2>\n\n\n\n<p>Materiales usados para el proyecto, los componentes que no se indican en la tabla son aquellos que ya ten\u00edamos y no se han comprado.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-center\" data-align=\"center\">Material<\/th><th class=\"has-text-align-center\" data-align=\"center\">Unidades<\/th><th class=\"has-text-align-center\" data-align=\"center\">Coste<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\">Placa Arduino UNO<\/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\">Escuadra<\/td><td class=\"has-text-align-center\" data-align=\"center\">2<\/td><td class=\"has-text-align-center\" data-align=\"center\">&#8211;<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Alambre<\/td><td class=\"has-text-align-center\" data-align=\"center\">2<\/td><td class=\"has-text-align-center\" data-align=\"center\">&#8211;<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Sensor ultrasonido HR-SR04<\/td><td class=\"has-text-align-center\" data-align=\"center\">2<\/td><td class=\"has-text-align-center\" data-align=\"center\">9.99\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Reconocedor de voz V3 con micr\u00f3fono<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><td class=\"has-text-align-center\" data-align=\"center\">30.99\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">LCD + I2C<\/td><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><td class=\"has-text-align-center\" data-align=\"center\">6.99\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Tabla de corcho<\/td><td class=\"has-text-align-center\" data-align=\"center\">2<\/td><td class=\"has-text-align-center\" data-align=\"center\">&#8211;<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Servomotor<\/td><td class=\"has-text-align-center\" data-align=\"center\">2<\/td><td class=\"has-text-align-center\" data-align=\"center\">&#8211;<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Papelera<\/td><td class=\"has-text-align-center\" data-align=\"center\">2<\/td><td class=\"has-text-align-center\" data-align=\"center\">12\u20ac<\/td><\/tr><\/tbody><\/table><figcaption>                                                                                                                                                                                                                            <\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-align-right\"><strong>Total: 59.97\u20ac<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dise\u00f1o inicial<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/05\/diseno.png\"><img loading=\"lazy\" decoding=\"async\" width=\"725\" height=\"453\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/05\/diseno.png\" alt=\"\" class=\"wp-image-3919\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/05\/diseno.png 725w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/05\/diseno-300x187.png 300w\" sizes=\"auto, (max-width: 725px) 100vw, 725px\" \/><\/a><\/figure>\n\n\n\n<p>La idea que ten\u00edamos en un principio era construir la estructura con dos papeleras situadas en los laterales de forma que se colocaban mirando a lados opuestos. Nuestra intenci\u00f3n, era posicionar tanto el LCD como el m\u00f3dulo de reconocimiento de voz entre ambas papeleras, y pr\u00f3ximas a la persona para que se pueda interactuar con mayor facilidad. Cada papelera tendr\u00e1 un sensor ultras\u00f3nico en su parte frontal y a una altura elevada para comodidad de la persona. Por otro lado, se pens\u00f3 en poner una estructura que tapar\u00e1 el mecanismo, de esta forma, pensamos en usar tabla de corcho, por su facilidad de corte y adhesividad.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hardware<\/h2>\n\n\n\n<p>El hardware del proyecto se compone:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Placa Arduino UNO<\/strong>.<\/li><li><strong>Dos servomotores<\/strong> para abrir las tapas de las papeleras, con 3 cables cada uno. Dos cables de alimentaci\u00f3n (<strong>VCC y GND<\/strong>) y uno de se\u00f1al, la cual, ir\u00e1 conectado al pin digital 7 en un servomotor y al pin digital 8 en el otro.<\/li><li><strong>Dos sensores ultras\u00f3nicos<\/strong> para que las papeleras detecten un objeto\/persona por proximidad. Cada sensor ultras\u00f3nico tiene 4 cables, 2 son para la alimentaci\u00f3n (<strong>VCC y GND<\/strong>), y los otros dos, el<strong> Echo<\/strong>, para la entrada de datos, y <strong>Trigger<\/strong>, para la salida de datos.<\/li><li><strong>M\u00f3dulo de reconocimiento de voz<\/strong> adem\u00e1s de los dos puertos de alimentaci\u00f3n (<strong>VCC y GND<\/strong>), tiene el puerto <strong>TXD<\/strong> conectado con el pin digital 2 y <strong>RXD<\/strong> conectado con el pin digital 3 de la placa, que servir\u00e1n para la comunicaci\u00f3n serie bidireccional.<\/li><li><strong>Pantalla LCD<\/strong>, la cual, dispone de un m\u00f3dulo adaptador de LCD a <strong>I2C<\/strong> para poder reducir el cableado de nuestra pantalla a 4 cables. Dos cables para la alimentaci\u00f3n (<strong>VCC y GND<\/strong>), y los otros dos cables, para la transferencia de datos entre el dispositivo y la placa Arduino <strong>(cable SDA)<\/strong> conectada al pin anal\u00f3gico de entrada 4, y para sincronizar el sistema mediante los pulsos de reloj <strong>(cable SCL) <\/strong>conectada al pin anal\u00f3gico de entrada 5.<\/li><\/ul>\n\n\n\n<p>La toma VCC ir\u00e1 conectada al puerto de 5V de la placa Arduino (para la alimentaci\u00f3n) y la toma GND ir\u00e1 conectada al puerto GND (tierra). La <strong>protoboard<\/strong> har\u00e1 uso de estas conexiones para conectarlo con las tomas de los distintos m\u00f3dulos.<\/p>\n\n\n\n<figure class=\"wp-block-gallery columns-1 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/06\/Hardware-papelera-inteligente.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"774\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/06\/Hardware-papelera-inteligente-1024x774.png\" alt=\"\" data-id=\"4329\" data-full-url=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/06\/Hardware-papelera-inteligente.png\" data-link=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/smartbin-papelera-inteligente-arduino\/hardware-papelera-inteligente\/\" class=\"wp-image-4329\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/06\/Hardware-papelera-inteligente-1024x774.png 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/06\/Hardware-papelera-inteligente-300x227.png 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/06\/Hardware-papelera-inteligente-768x581.png 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2021\/06\/Hardware-papelera-inteligente.png 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/li><\/ul><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Software<\/h2>\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=\"\">\/**\n * Proyecto: Papelera inteligente que se abre por aproximaci\u00f3n y reconocimiento de voz\n * Autores: Jose Luis Sierra Benito y Marcos Ruiz Mu\u00f1oz\n*\/\n\n\/\/------------------------ Librer\u00edas -------------------------\/\/\n\n#include &lt;Servo.h&gt; \/\/ Inclu\u00edmos la librer\u00eda para poder controlar el servo\n#include &lt;SoftwareSerial.h&gt; \/\/Para permitir la comunicaci\u00f3n serie en otros pines digitales, a parte de los pines 0 y 1\n#include \"VoiceRecognitionV3.h\" \/\/ Esta librer\u00eda nos permite utilizar el m\u00f3dulo de reconocimiento de voz\n#include &lt;LiquidCrystal_I2C.h&gt; \/\/ Para usar el LCD conectado al dispositivo I2C\n#include &lt;Wire.h&gt; \/\/ Nos permite la comunicaci\u00f3n con el dispositivo I2C\n\n\/\/------------------------------------------------------------\/\/\n\n\/\/----------------------- Constantes -------------------------\/\/\n\n#define CARDBOARD 0 \/\/ Asignamos un valor n\u00famerico a la papelera de cart\u00f3n\n#define PLASTIC 1 \/\/ Asignamos un valor num\u00e9rico a la papelera de pl\u00e1stico\n#define LIMIT 10 \/\/ Distancia desde la cual se reconoce por proximidad (cm)\n#define SECOND 1000 \/\/ 1 segundo para utilizarlo en la cuenta atr\u00e1s del lcd\n#define TIMEOPEN 3000 \/\/ Tiempo que mantenemos la tapa abierta (3 segundos)\n\n\/\/------------------------------------------------------------\/\/\n\n\/\/------------------------ Servomotor ------------------------\/\/\n\n\/\/ Declaramos las variables para controlar los 2 servos\nServo servoMotor1; \/\/ Servo de la papelera de cart\u00f3n\nServo servoMotor2; \/\/ Servo de la papelera de pl\u00e1stico\n\n\/\/------------------------------------------------------------\/\/\n\n\/\/------------------ Reconocimiento de Voz -------------------\/\/\n\n\/**\n  Conexi\u00f3n\n  Arduino    M\u00f3dulo de reconocimiento de voz\n   2   -------&gt;     TX (Transmisi\u00f3n)\n   3   -------&gt;     RX (Recepci\u00f3n)\n*\/\nVR myVR(2, 3); \/\/ Creamos el objeto para el reconocimiento de voz\n\nuint8_t buf[64]; \/\/ Buffer para el m\u00f3dulo de reconocimiento de voz\n\n\/\/------------------------------------------------------------\/\/\n\n\/\/-------------------------- LCD -----------------------------\/\/\n\nLiquidCrystal_I2C lcd(0x27, 16, 2); \/\/ Creamos objeto que representa el LCD: direcci\u00f3n 0x27 y 16 columnas x 2 filas\n\n\/\/------------------------------------------------------------\/\/\n\n\/\/------------------- Sensor ultras\u00f3nico ---------------------\/\/\n\nconst int echoPin1 = 4; \/\/ Echo del sensor de cart\u00f3n en pin digital 4\nconst int triggerPin1 = 5; \/\/ Trigger del sensor de cart\u00f3n en pin digital 5\n\nconst int echoPin2 = 11; \/\/ Echo del sensor de pl\u00e1stico en pin digital 11\nconst int triggerPin2 = 12; \/\/ Trigger del sensor de pl\u00e1stico en pin digital 12\n\n\/\/------------------------------------------------------------\/\/\n\n\/\/-- Variables para la apertura y cerrado de las papeleras ---\/\/\n\nunsigned long initMillisCardboardOpen = 0; \/\/ Momento en el que se abre la tapa de la papelera de cart\u00f3n\nunsigned long currentMillisCardboardOpen = 0; \/\/ Para comprobar si ha pasado el tiempo para cerrar la tapa de la papelera de cart\u00f3n\nunsigned long lcdMillisCardboardOpen = 0; \/\/ Instante para comprobar cuando podemos reducir la cuenta atr\u00e1s en la papelera de cart\u00f3n\n\nunsigned long initMillisPlasticOpen = 0; \/\/ Momento en el que se abre la tapa de la papelera de pl\u00e1stico\nunsigned long currentMillisPlasticOpen = 0; \/\/ Para comprobar si ha pasado el tiempo para cerrar la tapa de la papelera de pl\u00e1stico\nunsigned long lcdMillisPlasticOpen = 0; \/\/ Instante para comprobar cuando podemos reducir la cuenta atr\u00e1s en la papelera de pl\u00e1stico\n\nboolean isCardboardOpen = false; \/\/ Variable booleana para saber si la tapa de cart\u00f3n est\u00e1 abierta\nboolean isPlasticOpen = false; \/\/ Variable booleana para saber si la tapa de pl\u00e1stico est\u00e1 abierta\n\nint countdownCardboard = 0; \/\/ Cuenta atr\u00e1s de la tapa abierta de la papelera del cart\u00f3n\nint countdownPlastic = 0; \/\/ Cuenta atr\u00e1s de la tapa abierta de la papelera del pl\u00e1stico\n\n\/\/------------------------------------------------------------\/\/\n\nvoid setup() {\n\n  \/\/ Inicializamos el reconocimiento de voz\n  myVR.begin(9600);\n\n  \/\/ Abrimos el puerto serie\n  Serial.begin(115200);\n\n  \/\/ Cargamos los comandos que tenemos grabados\n  myVR.load((uint8_t)CARDBOARD);\n  myVR.load((uint8_t)PLASTIC);\n\n  \/\/ Iniciamos el servo correspondiente a la papelera del cart\u00f3n con el pin 7\n  servoMotor1.attach(7);\n  \/\/ Iniciamos el servo correspondiente a la papelera del pl\u00e1stico con el pin 8\n  servoMotor2.attach(8);\n\n  \/\/ Comprobamos que las dos papeleras est\u00e1n cerradas en el momento inicial\n  closeLid(servoMotor1);\n  closeLid(servoMotor2);\n\n  pinMode(triggerPin1, OUTPUT); \/\/ TriggerPin1 se configura como salida\n  pinMode(echoPin1, INPUT); \/\/ EchoPin1 se configura como entrada\n\n  pinMode(triggerPin2, OUTPUT); \/\/ TriggerPin2 se configura como salida\n  pinMode(echoPin2, INPUT); \/\/ EchoPin2 se configura como entrada\n\n  \/\/ Se inicializa el LCD (y el I2C)\n  lcd.init();\n\n  \/\/ Se enciende la luz de fondo del LCD\n  lcd.backlight();\n\n  \/\/ Escribimos en el LCD\n  lcd.print(\"Carton:cerrado\");\n  lcd.setCursor(0, 1); \/\/ Ubicamos el cursor del LCD en la primera posici\u00f3n (columna:0) de la segunda l\u00ednea (fila:1)\n  lcd.print(\"Plastico:cerrado\");\n\n}\n\nvoid loop() {\n\n  \/\/ Comprobar si tenemos que cerrar la tapa de la papelera de cart\u00f3n\n  checkCloseCardboard();\n\n  \/\/ Comprobar si tenemos que cerrar la tapa de la papelera de pl\u00e1stico\n  checkClosePlastic();\n\n  \/\/ Reconocer por proximidad si tenemos que abrir alguna de las papeleras\n  openByProximity();\n\n  \/\/ Reconocer por voz si tenemos que abrir alguna de las papeleras\n  openByVoice();\n\n}\n\nint calculateDistance(int TriggerPin, int EchoPin) {\n  long duration, distanceCm;\n\n  digitalWrite(TriggerPin, LOW);  \/\/ Se genera un pulso corto de 5\u00b5s + 10\u00b5s\n  delayMicroseconds(5);\n  digitalWrite(TriggerPin, HIGH); \/\/ El HC-SR04 entra en modo de ecolocalizaci\u00f3n enviando se\u00f1ales a 40kHz\n  delayMicroseconds(10);          \/\/ Se espera 10\u00b5s para recibir la se\u00f1al rebotada\n  digitalWrite(TriggerPin, LOW);\n\n  duration = pulseIn(EchoPin, HIGH);  \/\/ Se obtiene la duraci\u00f3n del rebote de la se\u00f1al del dispositivo en \u00b5s\n\n  \/*\n     F\u00f3rmula de referencia:\n\n     Velocidad del sonido = 343m\/s\n     343m\/s * 100cm\/m * 1\/1000000s\/\u00b5s = 1\/29.1cm\/\u00b5s\n\n     Distancia = Tiempo * Velocidad \/ 2;\n\n     Distancia(cm) = Tiempo(\u00b5s)\/29.1*2 = (Tiempo(\u00b5s) \/ 2) \/ 29.1;\n  *\/\n  distanceCm = (duration \/ 2) \/ 29.1;   \/\/ Convertimos a distancia en cm\n  return distanceCm;\n}\n\nvoid openByProximity() {\n  \/*\n    Obtenemos la distancia a la que se encuentra la persona o el objeto del sensor ultras\u00f3nico.\n    Si se encuentra a una distancia menor de 10 cm entonces abriremos la papelera correspondiente.\n  *\/\n  int cm1 = calculateDistance(triggerPin1, echoPin1);\n  if (cm1 &lt; LIMIT) {\n    \/** Abrir papelera de cart\u00f3n *\/\n    openCardboard();\n  }\n\n  int cm2 = calculateDistance(triggerPin2, echoPin2);\n  if (cm2 &lt; LIMIT) {\n    \/** Abrir papelera de pl\u00e1stico *\/\n    openPlastic();\n  }\n}\n\nvoid openByVoice() {\n  \/*\n    Mediante voz, si la persona dice \"cart\u00f3n\" o \"pl\u00e1stico\",\n    abrir\u00e1 la papelera asociada a ese comando.\n  *\/\n  int ret;\n  \/\/ Si no reconoce ninguna palabra \"recognize\" devuelve -1, en caso contrario ser\u00e1 superior a 0\n  ret = myVR.recognize(buf, 50);\n  if (ret &gt; 0) {\n    \/\/ El n\u00famero asociado al comando se obtiene en \"buf\" en la posici\u00f3n 1\n    switch (buf[1]) {\n      case CARDBOARD:\n        \/** Abrir papelera de cart\u00f3n *\/\n        openCardboard();\n        break;\n      case PLASTIC:\n        \/** Abrir papelera de pl\u00e1stico *\/\n        openPlastic();\n        break;\n      default:\n        Serial.println(\"Comando no encontrado\");\n        break;\n    }\n  }\n}\n\nvoid openCardboard() {\n  \/*\n    Abrimos la papelera de cart\u00f3n.\n    - En caso de que no est\u00e9 la tapa levantada, declaramos en el c\u00f3digo que la tapa\n      est\u00e9 como abierta, llamamos a la funci\u00f3n que abre la tapa,\n      e iniciamos el tiempo que la tapa estar\u00e1 abierta, junto a la cuenta atr\u00e1s del LCD.\n    - En caso de que la tapa ya estuviera abierta antes, resetearemos el tiempo de la apertura\n      de la papelera para que se establezca otra vez en los 3 segundos,\n      de igual manera, resetemos la cuenta atr\u00e1s del LCD.\n  *\/\n  if (!isCardboardOpen) {\n    isCardboardOpen = true; \/\/ Tapa abierta\n    openLid(servoMotor1); \/\/ Llamamos a la funci\u00f3n que abrir\u00e1 la tapa correspondiente\n  }\n  initMillisCardboardOpen = millis(); \/\/ Momento inicial en el que se abre la papelera de cart\u00f3n\n  lcdMillisCardboardOpen = initMillisCardboardOpen; \/\/ Para usarlo en la cuenta atr\u00e1s y actualizar el LCD cada segundo que pase\n  countdownCardboard = 3; \/\/ Inicializamos la cuenta atr\u00e1s\n  printCountdown(0, 0, \"Carton:\", countdownCardboard); \/\/ Llamamos a la funci\u00f3n que actualizar\u00e1 el LCD\n  delay(150); \/\/ Tiempo de seguridad\n}\n\nvoid openPlastic() {\n  \/*\n    Abrimos la papelera de pl\u00e1stico.\n    - En caso de que no est\u00e9 la tapa levantada, declaramos en el c\u00f3digo que la tapa\n      est\u00e9 como abierta, llamamos a la funci\u00f3n que abre la tapa,\n      e iniciamos el tiempo que la tapa estar\u00e1 abierta, junto a la cuenta atr\u00e1s del lcd.\n    - En caso de que la tapa ya estuviera abierta antes, resetearemos el tiempo de la apertura\n      de la papelera para que se establezca otra vez en los 3 segundos,\n      de igual manera, resetemos la cuenta atr\u00e1s del lcd.\n  *\/\n  if (!isPlasticOpen) {\n    isPlasticOpen = true; \/\/ Tapa abierta\n    openLid(servoMotor2); \/\/ Llamamos a la funci\u00f3n que abrir\u00e1 la tapa correspondiente\n  }\n  initMillisPlasticOpen = millis(); \/\/ Momento inicial en el que se abre la papelera de cart\u00f3n\n  lcdMillisPlasticOpen = initMillisPlasticOpen; \/\/ Para usarlo en la cuenta atr\u00e1s y actualizar el LCD cada segundo que pase\n  countdownPlastic = 3; \/\/ Inicializamos la cuenta atr\u00e1s\n  printCountdown(0, 1, \"Plastico:\", countdownPlastic); \/\/ Llamamos a la funci\u00f3n que actualizar\u00e1 el LCD\n  delay(150); \/\/ Tiempo de seguridad\n}\n\nvoid checkCloseCardboard() {\n  \/*\n    En caso de que la papelera de cart\u00f3n est\u00e9 abierta:\n    - Comprobamos si ya ha pasado el tiempo para cerrar la tapa de la papelera de cart\u00f3n,\n      en ese caso, lo pondremos en el c\u00f3digo como cerrado, cerramos la tapa\n      y ponemos en el LCD que la papelera de cart\u00f3n est\u00e1 cerrada.\n    - Cada vez que pase un segundo (si la tapa est\u00e1 abierta),\n      vamos a reducir un segundo la cuenta atr\u00e1s en el LCD.\n  *\/\n  if (isCardboardOpen) {\n    currentMillisCardboardOpen = millis(); \/\/ Para saber si podemos cerrar la papelera y reducir la cuenta atr\u00e1s\n    \/\/ Comprobar si ha pasado el tiempo para cerrar la tapa de la papelera\n    if ((currentMillisCardboardOpen - initMillisCardboardOpen) &gt;= TIMEOPEN) {\n      isCardboardOpen = false; \/\/ Tapa cerrada\n      closeLid(servoMotor1); \/\/ Llamamos a la funci\u00f3n que cerrar\u00e1 la tapa correspondiente\n      printCountdown(0, 0, \"Carton:\", -1); \/\/ Llamamos a la funci\u00f3n que actualizar\u00e1 el LCD\n      delay(150); \/\/ Tiempo de seguridad\n      \/\/ Comprobar si podemos reducir 1 segundo la cuenta atr\u00e1s\n    } else if ((currentMillisCardboardOpen - lcdMillisCardboardOpen) &gt;= SECOND) {\n      lcdMillisCardboardOpen = millis(); \/\/ Junto a \"currentMillisCardboardOpen\" para saber cuando pasar\u00e1 otro segundo\n      countdownCardboard--; \/\/ Reducimos la cuenta atr\u00e1s en un segundo\n      printCountdown(0, 0, \"Carton:\", countdownCardboard); \/\/ Llamamos a la funci\u00f3n que actualizar\u00e1 el LCD\n    }\n  }\n}\n\nvoid checkClosePlastic() {\n  \/*\n    En caso de que la papelera de pl\u00e1stico est\u00e9 abierta:\n    - Comprobamos si ya ha pasado el tiempo para cerrar la tapa de la papelera de pl\u00e1stico,\n      en ese caso, lo pondremos en el c\u00f3digo como cerrado, cerramos la tapa\n      y ponemos en el LCD que la papelera de pl\u00e1stico est\u00e1 cerrada.\n    - Cada vez que pase un segundo (si la tapa est\u00e1 abierta),\n      vamos a reducir un segundo la cuenta atr\u00e1s en el LCD.\n  *\/\n  if (isPlasticOpen) {\n    currentMillisPlasticOpen = millis(); \/\/ Para saber si podemos cerrar la papelera y reducir la cuenta atr\u00e1s\n    \/\/ Comprobar si ha pasado el tiempo para cerrar la tapa de la papelera\n    if ((currentMillisPlasticOpen - initMillisPlasticOpen) &gt;= TIMEOPEN) {\n      isPlasticOpen = false; \/\/ Tapa cerrada\n      closeLid(servoMotor2); \/\/ Llamamos a la funci\u00f3n que cerrar\u00e1 la tapa correspondiente\n      printCountdown(0, 1, \"Plastico:\", -1); \/\/ Llamamos a la funci\u00f3n que actualizar\u00e1 el LCD\n      delay(150); \/\/ Tiempo de seguridad\n      \/\/ Comprobar si podemos reducir 1 segundo la cuenta atr\u00e1s\n    } else if ((currentMillisPlasticOpen - lcdMillisPlasticOpen) &gt;= SECOND) {\n      lcdMillisPlasticOpen = millis(); \/\/ Junto a \"currentMillisPlasticOpen\" para saber cuando pasar\u00e1 otro segundo\n      countdownPlastic--; \/\/ Reducimos la cuenta atr\u00e1s en un segundo\n      printCountdown(0, 1, \"Plastico:\", countdownPlastic); \/\/ Llamamos a la funci\u00f3n que actualizar\u00e1 el LCD\n    }\n  }\n}\n\nvoid printCountdown(int col, int row, String typeText, int countdown) {\n  \/*\n    Escribimos en el LCD cada vez que tengamos que actualizar alguna informaci\u00f3n.\n    - En caso de que \"countdown\" sea menor a 0, en el LCD ponemos que la papelera\n      correspondiente est\u00e1 cerrada.\n    - En caso de que \"countdown\" sea mayor a 0, [1,3] ponemos ese valor como la cuenta atr\u00e1s\n      en el LCD.\n  *\/\n  lcd.setCursor(col, row);\n  lcd.print(\"                \");\n  lcd.setCursor(col, row);\n  String lcdText = \"\";\n  if (countdown &lt; 0) {\n    lcdText = typeText + \"cerrado\";\n  } else {\n    lcdText = typeText + \" \" + countdown + \" sg\";\n  }\n  lcd.print(lcdText);\n}\n\nvoid closeLid(Servo servoMotor) {\n  \/\/ Desplazamos el servo a la posici\u00f3n 0\u00ba\n  servoMotor.write(0);\n}\n\nvoid openLid(Servo servoMotor) {\n  \/\/ Desplazamos el servo a la posici\u00f3n 180\u00ba\n  servoMotor.write(180);\n}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Posibles mejoras<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>A\u00f1adir una <strong>interfaz configurable<\/strong>, mediante el LCD y unos botones\/keypad, de tal forma, que el usuario pueda configurar aspectos del proyecto como, por ejemplo, el tiempo que tarda en cerrarse la tapa, a\u00f1adir\/borrar\/modificar nuevas instrucciones de voz o modificar la distancia a la que se abren las papeleras.<\/li><li>Un <strong>micr\u00f3fono<\/strong> que reconozca los comandos que se dictan a una <strong>mayor distancia<\/strong>.<\/li><li>Que los <strong>brazos de los servomotores<\/strong> fueran <strong>m\u00e1s largos<\/strong> para haber tenido una mayor amplitud en el momento de abrir la papelera.<\/li><li><strong>A\u00f1adir movilidad<\/strong> poniendo ruedas a la estructura que forma las 2 papeleras, para que existiera la posibilidad de que la persona pueda lanzar la basura, y \u00e9sta, pueda <strong>seguir el objeto<\/strong> al lugar donde va a caer.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Video explicativo<\/h2>\n\n\n\n<p>En este v\u00eddeo, se muestra la explicaci\u00f3n del funcionamiento con distintos casos de uso, y la explicaci\u00f3n del hardware y del software. En caso de querer realizar este proyecto, el proceso de montaje se puede hacer de muchas formas, por lo que se deja libertad a la persona de hacerlo como prefiera.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-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=\"SmartBin: Papelera inteligente con Arduino\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/RO6M6jD_NgA?feature=oembed&#038;wmode=opaque\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Autores<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Marcos Ruiz Mu\u00f1oz<\/li><li>Jose Luis Sierra Benito<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n Este proyecto final de la asignatura de Sistemas Empotrados y de Tiempo Real, consiste en crear una estructura de reciclaje inteligente que permita a las personas reciclar de una forma r\u00e1pida y sencilla.&#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":[8,117,22,113,13,116,112,114,115,15,16],"class_list":["post-3880","post","type-post","status-publish","format-standard","hentry","category-proyectos","tag-arduino","tag-automatico","tag-grupo-3","tag-i2c","tag-lcd","tag-papelera-inteligente","tag-proximidad","tag-reconocimiento-voz","tag-sensor-ultrasonico","tag-servomotor","tag-urjc"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SmartBin - Papelera inteligente - 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\/smartbin-papelera-inteligente\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SmartBin - Papelera inteligente - Proyectos con Arduino.\" \/>\n<meta property=\"og:description\" content=\"Introducci\u00f3n Este proyecto final de la asignatura de Sistemas Empotrados y de Tiempo Real, consiste en crear una estructura de reciclaje inteligente que permita a las personas reciclar de una forma r\u00e1pida y sencilla.&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/smartbin-papelera-inteligente\/\" \/>\n<meta property=\"og:site_name\" content=\"Proyectos con Arduino.\" \/>\n<meta property=\"article:published_time\" content=\"2021-05-14T12:13:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-17T16:41:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/06\/Papelera-inteligente-1-1024x768.jpeg\" \/>\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=\"13 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/smartbin-papelera-inteligente\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/smartbin-papelera-inteligente\\\/\"},\"author\":{\"name\":\"Administrador de la red\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/person\\\/bdc38fea664f13638d2a51f4d2fc7211\"},\"headline\":\"SmartBin &#8211; Papelera inteligente\",\"datePublished\":\"2021-05-14T12:13:43+00:00\",\"dateModified\":\"2021-06-17T16:41:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/smartbin-papelera-inteligente\\\/\"},\"wordCount\":887,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/smartbin-papelera-inteligente\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2021\\\/06\\\/Papelera-inteligente-1-1024x768.jpeg\",\"keywords\":[\"Arduino\",\"Autom\u00e1tico\",\"Grupo 3\",\"I2C\",\"LCD\",\"Papelera Inteligente\",\"Proximidad\",\"Reconocimiento voz\",\"Sensor ultras\u00f3nico\",\"Servomotor\",\"urjc\"],\"articleSection\":[\"Proyectos\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/smartbin-papelera-inteligente\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/smartbin-papelera-inteligente\\\/\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/smartbin-papelera-inteligente\\\/\",\"name\":\"SmartBin - Papelera inteligente - Proyectos con Arduino.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/smartbin-papelera-inteligente\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/smartbin-papelera-inteligente\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2021\\\/06\\\/Papelera-inteligente-1-1024x768.jpeg\",\"datePublished\":\"2021-05-14T12:13:43+00:00\",\"dateModified\":\"2021-06-17T16:41:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/smartbin-papelera-inteligente\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/smartbin-papelera-inteligente\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/smartbin-papelera-inteligente\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2021\\\/06\\\/Papelera-inteligente-1-1024x768.jpeg\",\"contentUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2021\\\/06\\\/Papelera-inteligente-1-1024x768.jpeg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/smartbin-papelera-inteligente\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SmartBin &#8211; Papelera inteligente\"}]},{\"@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":"SmartBin - Papelera inteligente - 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\/smartbin-papelera-inteligente\/","og_locale":"es_ES","og_type":"article","og_title":"SmartBin - Papelera inteligente - Proyectos con Arduino.","og_description":"Introducci\u00f3n Este proyecto final de la asignatura de Sistemas Empotrados y de Tiempo Real, consiste en crear una estructura de reciclaje inteligente que permita a las personas reciclar de una forma r\u00e1pida y sencilla.&#46;&#46;&#46;","og_url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/smartbin-papelera-inteligente\/","og_site_name":"Proyectos con Arduino.","article_published_time":"2021-05-14T12:13:43+00:00","article_modified_time":"2021-06-17T16:41:31+00:00","og_image":[{"url":"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/06\/Papelera-inteligente-1-1024x768.jpeg","type":"","width":"","height":""}],"author":"Administrador de la red","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Administrador de la red","Tiempo de lectura":"13 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/smartbin-papelera-inteligente\/#article","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/smartbin-papelera-inteligente\/"},"author":{"name":"Administrador de la red","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/person\/bdc38fea664f13638d2a51f4d2fc7211"},"headline":"SmartBin &#8211; Papelera inteligente","datePublished":"2021-05-14T12:13:43+00:00","dateModified":"2021-06-17T16:41:31+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/smartbin-papelera-inteligente\/"},"wordCount":887,"commentCount":0,"publisher":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/smartbin-papelera-inteligente\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/06\/Papelera-inteligente-1-1024x768.jpeg","keywords":["Arduino","Autom\u00e1tico","Grupo 3","I2C","LCD","Papelera Inteligente","Proximidad","Reconocimiento voz","Sensor ultras\u00f3nico","Servomotor","urjc"],"articleSection":["Proyectos"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/smartbin-papelera-inteligente\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/smartbin-papelera-inteligente\/","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/smartbin-papelera-inteligente\/","name":"SmartBin - Papelera inteligente - Proyectos con Arduino.","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/smartbin-papelera-inteligente\/#primaryimage"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/smartbin-papelera-inteligente\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/06\/Papelera-inteligente-1-1024x768.jpeg","datePublished":"2021-05-14T12:13:43+00:00","dateModified":"2021-06-17T16:41:31+00:00","breadcrumb":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/smartbin-papelera-inteligente\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/smartbin-papelera-inteligente\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/smartbin-papelera-inteligente\/#primaryimage","url":"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/06\/Papelera-inteligente-1-1024x768.jpeg","contentUrl":"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2021\/06\/Papelera-inteligente-1-1024x768.jpeg"},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/smartbin-papelera-inteligente\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blogs.etsii.urjc.es\/dseytr\/"},{"@type":"ListItem","position":2,"name":"SmartBin &#8211; Papelera inteligente"}]},{"@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\/3880","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=3880"}],"version-history":[{"count":26,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/3880\/revisions"}],"predecessor-version":[{"id":4330,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/3880\/revisions\/4330"}],"wp:attachment":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media?parent=3880"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/categories?post=3880"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/tags?post=3880"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}