{"id":42,"date":"2019-04-11T11:59:00","date_gmt":"2019-04-11T11:59:00","guid":{"rendered":"https:\/\/blogs.etsii.urjc.es\/dseytr\/?p=42"},"modified":"2019-05-04T11:17:24","modified_gmt":"2019-05-04T11:17:24","slug":"pavlovs-feeder-dispensador-automatico-arduino","status":"publish","type":"post","link":"https:\/\/blogs.etsii.urjc.es\/dseytr\/pavlovs-feeder-dispensador-automatico-arduino\/","title":{"rendered":"Pavlov&#8217;s Feeder. Un dispensador autom\u00e1tico de comida para mascotas con Arduino"},"content":{"rendered":"<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Portada-1024x768.png\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"1200\" data-original-width=\"1600\" height=\"300\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Portada-1024x768.png\" width=\"400\" \/><\/a><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<\/div>\n<h2>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><\/p>\n<div>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><\/span><br \/>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><br \/><\/span><\/div>\n<p><\/span><\/h2>\n<h2>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: x-large;\"><br \/>\nContenidos<\/span><\/h2>\n<div>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">1<\/span><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">.&nbsp;<\/span><a href=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/2019\/04\/pavlovs-feeder-dispensador-automatico-arduino.html#introduccion\" style=\"font-family: &quot;helvetica neue&quot;, arial, helvetica, sans-serif;\">Introducci\u00f3n<\/a><\/div>\n<div>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">2. <a href=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/2019\/04\/pavlovs-feeder-dispensador-automatico-arduino.html#autoria\">Autor\u00eda<\/a><\/span><\/div>\n<div>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">3. <a href=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/2019\/04\/pavlovs-feeder-dispensador-automatico-arduino.html#componentes\">Componentes utilizados<\/a><\/span><\/div>\n<div>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">4. <a href=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/2019\/04\/pavlovs-feeder-dispensador-automatico-arduino.html#montaje\">Montaje<\/a><\/span><\/div>\n<div>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">5. <a href=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/2019\/04\/pavlovs-feeder-dispensador-automatico-arduino.html#codigo\">C\u00f3digo<\/a><\/span><\/div>\n<div>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">6. <a href=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/2019\/04\/pavlovs-feeder-dispensador-automatico-arduino.html#conclusiones\">Conclusiones<\/a><\/span><\/div>\n<div>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">7. <a href=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/2019\/04\/pavlovs-feeder-dispensador-automatico-arduino.html#manual\">Anexo: Manual de funcionamiento<\/a><\/span><\/p>\n<p><\/div>\n<h2>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: x-large;\">Introducci\u00f3n<\/span><\/h2>\n<div>\n<div style=\"text-align: justify;\">\n<div style=\"text-align: left;\">\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\">E<\/span><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">l proyecto consiste en un <b>dispensador autom\u00e1tico de comida para mascotas<\/b> que incluye un reloj para poder programar la dispensa de comida en un horario determinado. Cuando se ha rellenado el bol, el dispensador emite un sonido que intenta emular el de una campana para avisar a la mascota.<\/span><\/div>\n<\/div>\n<div style=\"text-align: left;\">\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/div>\n<\/div>\n<div style=\"text-align: left;\">\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Este dispositivo ha sido pensado con el fin de alimentar a la mascota cuando sus due\u00f1os no est\u00e1n en casa durante periodos de tiempo cortos, como cuando se han ido a trabajar.<\/span><\/div>\n<\/div>\n<div style=\"text-align: left;\">\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/div>\n<\/div>\n<div style=\"text-align: left;\">\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">En el siguiente v\u00eddeo pod\u00e9is ver la explicaci\u00f3n de nuestro c\u00f3digo y un ejemplo de funcionamiento del aparato:<\/span><\/div>\n<\/div>\n<\/div>\n<div style=\"text-align: justify;\">\n<div style=\"text-align: left;\">\n<\/div>\n<div style=\"text-align: left;\">\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<iframe loading=\"lazy\" allowfullscreen=\"\" class=\"YOUTUBE-iframe-video\" data-thumbnail-src=\"https:\/\/i.ytimg.com\/vi\/x8wc6KL5mig\/0.jpg\" frameborder=\"0\" height=\"266\" src=\"https:\/\/www.youtube.com\/embed\/x8wc6KL5mig?feature=player_embedded\" width=\"320\"><\/iframe><\/div>\n<p><span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><br \/><\/span><\/div>\n<\/div>\n<\/div>\n<h2>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: x-large;\">Autor\u00eda<\/span><\/h2>\n<p><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Proyecto realizado por el grupo 4 de la asignatura Sistemas Empotrados y Tiempo Real del curso 2018\/2019 en el Campus de M\u00f3stoles de la URJC, formado por:<\/span><\/p>\n<ul>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Marina Cabeza Gonz\u00e1lez<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Patricia S\u00e1nchez Fern\u00e1ndez<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Celia Velasco Mart\u00ednez<\/span><\/li>\n<\/ul>\n<div>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><br \/><\/span><\/div>\n<h2 id=\"componentes\">\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: x-large;\">Componentes utilizados<\/span><\/h2>\n<div>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Los componentes de los que no se indica el precio son aquellos que ya ten\u00edamos o hemos reciclado.<\/span><\/div>\n<h3>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><br \/><\/span><\/h3>\n<h3>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: large;\">Componentes electr\u00f3nicos<\/span><\/h3>\n<div>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><br \/><\/span><\/div>\n<ul>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Placa de Arduino Uno (proporcionada por el profesor)<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Servomotor (9,99\u20ac)<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Pantalla LCD 16&#215;2 con botones de Keyestudio (8,99\u20ac)<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">RTC DS3231 (7,09\u20ac)<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Altavoz&nbsp;<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Cables de puente hembra a hembra (3,90\u20ac)<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Cables macho a macho<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Protoboard<\/span><\/li>\n<\/ul>\n<div>\n<h3>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><br \/><\/span><\/h3>\n<h3>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: large;\">Componentes no electr\u00f3nicos<\/span><\/h3>\n<\/div>\n<div>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><br \/><\/span><\/div>\n<div>\n<ul>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Tubo de PVC (3,08\u20ac)<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Codo de PVC (0,52\u20ac)<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Botella de agua de 2,5L (0,49\u20ac)<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Cuenco de pl\u00e1stico (0,75\u20ac)<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Caja de madera<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Bridas y cinta aislante<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Placa de metacrilato<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Clip<\/span><\/li>\n<\/ul>\n<div>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/div>\n<\/div>\n<h2 id=\"montaje\">\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: x-large;\">Montaje<\/span><\/h2>\n<h3>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><br \/><\/span><\/h3>\n<h3>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: large;\">Dise\u00f1o inicial<\/span><\/h3>\n<div>\n<div class=\"MsoNormal\" style=\"text-align: justify;\">\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/span><br \/>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">En el dise\u00f1o inicial ten\u00edamos pensado poner una b\u00e1scula que pesara<br \/>\nla comida necesaria para la mascota. En el dise\u00f1o final no incluimos b\u00e1scula y<br \/>\nla cantidad de comida se mide en el tiempo que se deja abierto el paso de esta<br \/>\npor el tubo (que se bloquea y desbloquea mediante una pesta\u00f1a accionada por el<br \/>\nservomotor).&nbsp;<\/span><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Tambi\u00e9n se dispon\u00eda de ledes para indicar el estado del<br \/>\ndispensador, que finalmente no se incluyeron al realizar la pantalla LCD la<br \/>\nmisma funci\u00f3n.<\/span><\/span><\/div>\n<p><span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><br \/>\n<\/span><br \/>\n<\/p>\n<div class=\"MsoNormal\" style=\"text-align: justify;\">\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">A continuaci\u00f3n, se muestra un boceto inicial del proyecto.<\/span><span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><\/span><\/span><\/div>\n<p><span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><br \/>\n<\/span><br \/>\n<\/p>\n<div class=\"MsoNormal\" style=\"text-align: justify;\">\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/span><\/div>\n<p><span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><br \/>\n<\/span><br \/>\n<\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/DisInicial-724x1024.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"1024\" data-original-width=\"724\" height=\"640\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/DisInicial-724x1024.jpg\" width=\"451\" \/><\/a><\/span><\/div>\n<p><span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><br \/>\n<\/span><\/div>\n<h3 id=\"conexiones\">\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: large;\">Componentes electr\u00f3nicos<\/span><\/h3>\n<div style=\"text-align: justify;\">\n<div style=\"text-align: left;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Hemos montado el circuito de nuestro proyecto como se indica en el siguiente diagrama de conexiones realizado en la herramienta Fritzing (puedes hacer click en la imagen para verla m\u00e1s de cerca).<\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/div>\n<\/div>\n<div style=\"text-align: justify;\">\n<div style=\"text-align: left;\">\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><br \/><\/span><\/div>\n<\/div>\n<div>\n<div class=\"separator\" style=\"clear: both; text-align: left;\">\n<a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/EsquemaConexiones-1024x769.png\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"1201\" data-original-width=\"1600\" height=\"480\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/EsquemaConexiones-1024x769.png\" width=\"640\" \/><\/a><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: left;\">\n<\/div>\n<\/div>\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Hemos utilizado una pantalla LCD para mostrar la hora actual y la hora programada para la dispensa de comida. Tambi\u00e9n se muestra un mensaje cuando se sirve la comida y otro cuando termina de servirse. La pantalla cuenta con unos botones que se utilizar\u00e1n para modificar la hora de la comida.<\/span><\/span><\/div>\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/span><\/div>\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">El servomotor mueve una trampilla que permite o bloquea el paso del pienso. Cuando este se haya servido, el altavoz emitir\u00e1 un sonido que intenta emular el de una campana.<\/span><\/span><\/div>\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/span><\/div>\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Para mantener la hora actual se dispone de un chip RTC DS3231 con una pila integrada.<\/span><\/span><\/div>\n<p><\/p>\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">A continuaci\u00f3n, se muestra una imagen de los componentes electr\u00f3nicos conectados antes de montarlos en la estructura.<\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/imgHardware-1024x565.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"595\" data-original-width=\"1079\" height=\"352\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/imgHardware-1024x565.jpg\" width=\"640\" \/><\/a><\/div>\n<h3>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: large;\"><br \/><\/span><\/h3>\n<h3>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: large;\">Estructura del dispensador<\/span><\/h3>\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">En cuanto a la estructura del dispensador, hemos reciclado una caja de madera que hemos pintado de blanco y a la que hemos realizado los agujeros necesarios para incluir una garrafa de 3L que almacena el pienso y un bol, ambos comunicados mediante un tubo y un codo de PVC. La caja incluye una tapa extra\u00edble que permite acceder al resto de componentes con facilidad.<\/span><\/div>\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/div>\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">El tubo de PVC cuenta con una muesca en la que se introduce la trampilla (una placa de metacrilato) conectada al servomotor que se ha mencionado anteriormente.<\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">En el siguiente GIF se muestra el funcionamiento del servomotor.<\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/GIFServo.gif\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"578\" data-original-width=\"600\" height=\"385\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/GIFServo.gif\" width=\"400\" \/><\/a><\/div>\n<p><\/div>\n<div>\n<div style=\"text-align: justify;\">\n<div style=\"text-align: left;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Aqu\u00ed podemos ver algunas im\u00e1genes del proceso de montaje:<\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/CajaPrePintar-769x1024.png\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"1436\" data-original-width=\"1078\" height=\"400\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/CajaPrePintar-769x1024.png\" width=\"300\" \/><\/a><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/CajaPreMontaje-570x1024.jpeg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"1024\" data-original-width=\"570\" height=\"640\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/CajaPreMontaje-570x1024.jpeg\" width=\"355\" \/><\/a><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/FrontalAbierto.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"851\" data-original-width=\"494\" height=\"640\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/FrontalAbierto.jpg\" width=\"369\" \/><\/a><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<\/div>\n<div class=\"separator\" style=\"clear: both; text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">A\u00f1adimos un trozo de una botella de producto lavavajillas para hacer una especie de rampa para el pienso y que este no cayese demasiado r\u00e1pido desde la botella por el tubo.<\/span><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Botella_s-768x1024.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"1600\" data-original-width=\"1200\" height=\"400\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Botella_s-768x1024.jpg\" width=\"300\" \/><\/a><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/IMG_20190406_133300-768x1024.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"1600\" data-original-width=\"1200\" height=\"400\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/IMG_20190406_133300-768x1024.jpg\" width=\"300\" \/><\/a><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Logo-768x1024.png\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"1439\" data-original-width=\"1079\" height=\"400\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Logo-768x1024.png\" width=\"298\" \/><\/a><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<\/div>\n<p><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Aspecto final del proyecto:<\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/IMG_20190406_130643-1024x768.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"1200\" data-original-width=\"1600\" height=\"240\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/IMG_20190406_130643-1024x768.jpg\" width=\"320\" \/><\/a><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Trasera-768x1024.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"1600\" data-original-width=\"1200\" height=\"400\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Trasera-768x1024.jpg\" width=\"300\" \/><\/a><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/LateralAltavoz-768x1024.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"1600\" data-original-width=\"1200\" height=\"400\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/LateralAltavoz-768x1024.jpg\" width=\"300\" \/><\/a><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/LateralPantalla-768x1024.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"1600\" data-original-width=\"1200\" height=\"400\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/LateralPantalla-768x1024.jpg\" width=\"300\" \/><\/a><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Frontal2-769x1024.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"1600\" data-original-width=\"1201\" height=\"400\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Frontal2-769x1024.jpg\" width=\"300\" \/><\/a><\/div>\n<p><\/p>\n<h2>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: x-large;\">Problemas encontrados<\/span><\/h2>\n<div>\n<div style=\"text-align: justify;\">\n<div style=\"text-align: left;\">\n<div class=\"MsoNormal\" style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">En un principio pensamos incluir una <b>b\u00e1scula<\/b> para comprobar<br \/>\nla cantidad de pienso que se vert\u00eda al bol y tambi\u00e9n la que quedaba en la<br \/>\ngarrafa, pero nos encontramos con que la construcci\u00f3n de una b\u00e1scula para<br \/>\nArduino casi requer\u00eda de un proyecto paralelo por su complejidad. Por lo tanto,<br \/>\ndecidimos no incluirla y controlar el pienso dispensado mediante el tiempo de<br \/>\napertura de la trampilla controlada por el servomotor.<\/span><\/div>\n<div class=\"MsoNormal\" style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/div>\n<div class=\"MsoNormal\" style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">El principal problema con el que nos hemos encontrado a la<br \/>\nhora de llevar a cabo nuestro proyecto definitivo ha sido el de <b>almacenar la<br \/>\nhora actual en el RTC<\/b>. Nos llev\u00f3 un tiempo dar con la librer\u00eda adecuada para el chip que adquirimos y conseguir que el tiempo no se inicializase cada vez a la hora en la que<br \/>\nse compil\u00f3 nuestro programa.<\/span><\/div>\n<p><\/p>\n<div class=\"MsoNormal\" style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Adem\u00e1s, tuvimos que <b>a\u00f1adir ra\u00edles<\/b> para la pesta\u00f1a manejada por el<br \/>\nservomotor porque se mov\u00eda descontroladamente. Al principio pusimos un alambre<br \/>\npara conectar el servo a la placa, pero este se acababa doblando y terminamos<br \/>\nponiendo un clip m\u00e1s resistente.<\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/div>\n<h2>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: x-large;\"><br \/><\/span><\/h2>\n<h2>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: x-large;\">Posibles mejoras<\/span><\/h2>\n<div>\n<div style=\"text-align: justify;\">\n<div style=\"text-align: left;\">\n<div class=\"MsoNormal\" style=\"text-align: justify;\">\n<div class=\"MsoNormal\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Nuestro dispensador es compacto y de un tama\u00f1o reducido<br \/>\nporque est\u00e1 pensado para mascotas de talla peque\u00f1a o mediana. En el caso de<br \/>\nnecesitarse para una <b>mascota m\u00e1s grande<\/b>, se podr\u00eda sacar el cuenco fuera de la<br \/>\ncaja, alargar el tubo y sujetar el cuenco a la caja mediante un soporte para<br \/>\nque no se mueva.<\/span><\/div>\n<div class=\"MsoNormal\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/div>\n<div class=\"MsoNormal\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Otra posible mejora ser\u00eda incluir una <b>b\u00e1scula<\/b> bajo el cuenco<br \/>\npara comprobar si la mascota ha comido o si por el contrario queda pienso en el<br \/>\ncuenco. Incluso se podr\u00eda utilizar <b>IoT<\/b> y enviar un mensaje al m\u00f3vil del due\u00f1o<br \/>\nindic\u00e1ndole que su mascota no se ha terminado el pienso.<\/span><\/div>\n<div class=\"MsoNormal\">\n<\/div>\n<div class=\"MsoNormal\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">El proyecto tambi\u00e9n se podr\u00eda mejorar a\u00f1adiendo una opci\u00f3n para poder<br \/>\n<b>cambiar la hora actual<\/b> sin tener que cargar en la placa el sketch para inicializar la hora en el RTC, lo que convertir\u00eda el producto en algo m\u00e1s usable para personas sin conocimientos de inform\u00e1tica.<\/span><\/div>\n<p><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h2 id=\"codigo\">\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: x-large;\">C\u00f3digo<\/span><\/h2>\n<div>\n<div style=\"text-align: justify;\">\n<div style=\"text-align: left;\">\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">La explicaci\u00f3n de nuestro c\u00f3digo pod\u00e9is encontrarla en los comentarios dentro del mismo y en el v\u00eddeo que se incluye m\u00e1s arriba. El c\u00f3digo lo hemos implementado y subido a la placa mediante el <a href=\"https:\/\/www.arduino.cc\/en\/Main\/Software\" target=\"_blank\" rel=\"noopener noreferrer\">IDE oficial de Arduino para Windows<\/a>.<\/span><\/div>\n<\/div>\n<\/div>\n<h3>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: large;\"><br \/><\/span><\/h3>\n<h3>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: large;\">Librer\u00edas utilizadas<\/span><\/h3>\n<\/div>\n<div style=\"text-align: justify;\">\n<div style=\"text-align: left;\">\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Hemos utilizado las librer\u00edas Arduino.h, LiquidCrystal.h, Wire.h y Servo.h, incluidas por defecto en el IDE de Arduino, y tambi\u00e9n la librer\u00eda <b>RTClib.h<\/b>, que puede encontrarse en el siguiente repositorio de GitHub:&nbsp;<a href=\"https:\/\/github.com\/adafruit\/RTClib\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/github.com\/adafruit\/RTClib<\/a>.<\/span><\/div>\n<\/div>\n<\/div>\n<div style=\"text-align: justify;\">\n<div style=\"text-align: left;\">\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/div>\n<\/div>\n<\/div>\n<div style=\"text-align: justify;\">\n<div style=\"text-align: left;\">\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Para utilizar esta librer\u00eda, debes descargarla y guardarla en el directorio Arduino\/libraries, que se crea al instalar el IDE de Arduino y seguramente se encuentre en tu carpeta Documentos.<\/span><\/div>\n<\/div>\n<\/div>\n<h3>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: large;\"><br \/><\/span><\/h3>\n<h3>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: large;\">Sketch principal<\/span><\/h3>\n<p><\/p>\n<div style=\"background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;\">\n<table>\n<tbody>\n<tr>\n<td>\n<pre style=\"line-height: 125%; margin: 0;\">  1\n  2\n  3\n  4\n  5\n  6\n  7\n  8\n  9\n 10\n 11\n 12\n 13\n 14\n 15\n 16\n 17\n 18\n 19\n 20\n 21\n 22\n 23\n 24\n 25\n 26\n 27\n 28\n 29\n 30\n 31\n 32\n 33\n 34\n 35\n 36\n 37\n 38\n 39\n 40\n 41\n 42\n 43\n 44\n 45\n 46\n 47\n 48\n 49\n 50\n 51\n 52\n 53\n 54\n 55\n 56\n 57\n 58\n 59\n 60\n 61\n 62\n 63\n 64\n 65\n 66\n 67\n 68\n 69\n 70\n 71\n 72\n 73\n 74\n 75\n 76\n 77\n 78\n 79\n 80\n 81\n 82\n 83\n 84\n 85\n 86\n 87\n 88\n 89\n 90\n 91\n 92\n 93\n 94\n 95\n 96\n 97\n 98\n 99\n100\n101\n102\n103\n104\n105\n106\n107\n108\n109\n110\n111\n112\n113\n114\n115\n116\n117\n118\n119\n120\n121\n122\n123\n124\n125\n126\n127\n128\n129\n130\n131\n132\n133\n134\n135\n136\n137\n138\n139\n140\n141\n142\n143\n144\n145\n146\n147\n148\n149\n150\n151\n152\n153\n154\n155\n156\n157\n158\n159\n160\n161\n162\n163\n164\n165\n166\n167\n168\n169\n170\n171\n172\n173\n174\n175\n176\n177\n178\n179\n180\n181\n182\n183\n184\n185\n186\n187\n188\n189\n190\n191\n192\n193\n194\n195\n196\n197\n198\n199\n200\n201\n202\n203\n204\n205\n206\n207\n208\n209\n210\n211\n212\n213\n214\n215\n216\n217\n218\n219\n220\n221\n222\n223\n224\n225\n226\n227\n228\n229\n230\n231\n232\n233\n234\n235\n236\n237\n238\n239\n240\n241\n242\n243\n244\n245\n246\n247\n248\n249\n250\n251\n252\n253\n254\n255\n256\n257\n258\n259\n260\n261\n262\n263\n264\n265\n266\n267\n268\n269\n270\n271\n272\n273\n274\n275\n276\n277\n278\n279\n280\n281\n282\n283\n284\n285\n286\n287\n288\n289\n290\n291\n292\n293\n294\n295\n296<\/pre>\n<\/td>\n<td>\n<pre style=\"line-height: 125%; margin: 0;\"><span style=\"color: teal;\">#include &lt;Arduino.h&gt;<\/span>\n<span style=\"color: teal;\">#include &lt;LiquidCrystal.h&gt; <\/span><span style=\"color: #008800; font-style: italic;\">\/* Library for the LCD *\/<\/span><span style=\"color: teal;\"><\/span>\n\n<span style=\"color: teal;\">#include &lt;Wire.h&gt;<\/span>\n<span style=\"color: teal;\">#include \"RTClib.h\"<\/span>\n\n<span style=\"color: teal;\">#include &lt;Servo.h&gt;<\/span>\n\n<span style=\"color: #008800; font-style: italic;\">\/* Initialize the library with interface pins numbers: *\/<\/span>\nLiquidCrystal lcd(<span style=\"color: blue;\">8<\/span>, <span style=\"color: blue;\">9<\/span>, <span style=\"color: blue;\">4<\/span>, <span style=\"color: blue;\">5<\/span>, <span style=\"color: blue;\">6<\/span>, <span style=\"color: blue;\">7<\/span>);\n<span style=\"color: navy; font-weight: bold;\">int<\/span> val;\n\n<span style=\"color: #008800; font-style: italic;\">\/* Speaker (buzzer): *\/<\/span>\n<span style=\"color: navy; font-weight: bold;\">int<\/span> speakerPin = <span style=\"color: blue;\">13<\/span>;\n\n<span style=\"color: #008800; font-style: italic;\">\/* Real time clock: *\/<\/span>\nRTC_DS3231 rtc;\n\n<span style=\"color: #008800; font-style: italic;\">\/* Servo: *\/<\/span>\nServo myservo;\n<span style=\"color: navy; font-weight: bold;\">int<\/span> pos = <span style=\"color: blue;\">0<\/span>; <span style=\"color: #008800; font-style: italic;\">\/* Variable to store the servo position *\/<\/span>\n<span style=\"color: navy; font-weight: bold;\">int<\/span> servoPin = <span style=\"color: blue;\">10<\/span>;\n\nDateTime now;\nbyte hour, minute;\nString h, m;\n\n<span style=\"color: navy; font-weight: bold;\">int<\/span> feedHour = <span style=\"color: blue;\">14<\/span>;\n<span style=\"color: navy; font-weight: bold;\">int<\/span> feedMin = <span style=\"color: blue;\">0<\/span>;\nboolean foodTime = true;\n\n<span style=\"color: navy; font-weight: bold;\">void<\/span> setup() {\n\n  <span style=\"color: #008800; font-style: italic;\">\/* Set speaker pin as an output pin: *\/<\/span>\n  pinMode(speakerPin, OUTPUT);\n  <span style=\"color: #008800; font-style: italic;\">\/* Set up LCD's number of columns and rows: *\/<\/span>\n  lcd.begin(<span style=\"color: blue;\">16<\/span>, <span style=\"color: blue;\">2<\/span>);\n  <span style=\"color: #008800; font-style: italic;\">\/* Start RTC: *\/<\/span>\n  rtc.begin();\n  \n}\n\n<span style=\"color: navy; font-weight: bold;\">void<\/span> loop() {\n\n  now = rtc.now();\n  printTime(now);\n\n  <span style=\"color: #008800; font-style: italic;\">\/* LCD buttons are all connected to A0 pin with this values:<\/span>\n<span style=\"color: #008800; font-style: italic;\">   * 0-50: UP<\/span>\n<span style=\"color: #008800; font-style: italic;\">   * 50-150: RIGHT<\/span>\n<span style=\"color: #008800; font-style: italic;\">   * 150-300: DOWN<\/span>\n<span style=\"color: #008800; font-style: italic;\">   * 300-500: LEFT<\/span>\n<span style=\"color: #008800; font-style: italic;\">   * 500-750: SELECT<\/span>\n<span style=\"color: #008800; font-style: italic;\">   *\/<\/span>\n  val = analogRead(A0);\n  <span style=\"color: navy; font-weight: bold;\">if<\/span> ((val &gt;= <span style=\"color: blue;\">500<\/span>) &amp;&amp; (val &lt;= <span style=\"color: blue;\">750<\/span>)) { <span style=\"color: #008800; font-style: italic;\">\/\/ SELECT<\/span>\n    setFeedHour();\n    delay(<span style=\"color: blue;\">1000<\/span>);\n  }\n  \n  now = rtc.now();\n  printTime(now);\n  \n  delay(<span style=\"color: blue;\">2000<\/span>);\n\n  <span style=\"color: navy; font-weight: bold;\">if<\/span> ((feedHour == now.hour()) &amp;&amp; (feedMin == now.minute()) \n      &amp;&amp; foodTime) {\n    feed();\n  }\n\n  <span style=\"color: #008800; font-style: italic;\">\/* We use 'foodTime' so food doesn't get served twice <\/span>\n<span style=\"color: #008800; font-style: italic;\">   * if the feed routine ends in less than a minute. *\/<\/span>\n  <span style=\"color: navy; font-weight: bold;\">if<\/span> (feedMin != now.minute()) {\n    foodTime = true;\n  }\n  \n}\n\n<span style=\"color: navy; font-weight: bold;\">void<\/span> feed() {\n\n  lcd.clear();\n  lcd.setCursor(<span style=\"color: blue;\">0<\/span>, <span style=\"color: blue;\">0<\/span>);\n  lcd.print(<span style=\"color: blue;\">\"Sirviendo comida\"<\/span>);\n  \n  <span style=\"color: #008800; font-style: italic;\">\/* Food gets served: *\/<\/span>  \n  <span style=\"color: #008800; font-style: italic;\">\/* Attach servo on pin 10 (We attach servo only when<\/span>\n<span style=\"color: #008800; font-style: italic;\">   * we need it and detach it afterwards to stop it <\/span>\n<span style=\"color: #008800; font-style: italic;\">   * from shaking) *\/<\/span>\n  myservo.attach(servoPin); \n  <span style=\"color: #008800; font-style: italic;\">\/* Servo moves to open lid for food to fall through.<\/span>\n<span style=\"color: #008800; font-style: italic;\">   * 'pos' goes from 0 to 180 degrees in steps of 1 degree<\/span>\n<span style=\"color: #008800; font-style: italic;\">   * and then gets written to servo*\/<\/span>\n  <span style=\"color: navy; font-weight: bold;\">for<\/span> (pos = <span style=\"color: blue;\">0<\/span>; pos &lt;= <span style=\"color: blue;\">120<\/span>; pos += <span style=\"color: blue;\">1<\/span>) {\n    myservo.write(pos);\n    <span style=\"color: #008800; font-style: italic;\">\/* Wait 15ms for the servo to reach the position *\/<\/span>\n    delay(<span style=\"color: blue;\">15<\/span>); \n  }\n  delay(<span style=\"color: blue;\">1000<\/span>);\n  <span style=\"color: #008800; font-style: italic;\">\/* Go back from 180 to 0 degrees to close the lid: *\/<\/span>\n  <span style=\"color: navy; font-weight: bold;\">for<\/span> (pos = <span style=\"color: blue;\">120<\/span>; pos &gt;= <span style=\"color: blue;\">0<\/span>; pos -= <span style=\"color: blue;\">1<\/span>) {\n    myservo.write(pos);\n    delay(<span style=\"color: blue;\">15<\/span>);\n  }\n  delay(<span style=\"color: blue;\">3000<\/span>);\n  <span style=\"color: #008800; font-style: italic;\">\/* Detach servo: *\/<\/span>\n  myservo.detach();\n\n  bell();\n  \n  foodTime = false;\n\n}\n\n<span style=\"color: navy; font-weight: bold;\">void<\/span> bell() {\n\n  <span style=\"color: navy; font-weight: bold;\">for<\/span> (<span style=\"color: navy; font-weight: bold;\">int<\/span> i=<span style=\"color: blue;\">0<\/span>; i&lt;<span style=\"color: blue;\">6<\/span>; i++) {\n\n    <span style=\"color: #008800; font-style: italic;\">\/* Bell sound: *\/<\/span>\n    tone(speakerPin, <span style=\"color: blue;\">1915<\/span>);\n    delay(<span style=\"color: blue;\">700<\/span>);\n    tone(speakerPin, <span style=\"color: blue;\">1700<\/span>);\n    delay(<span style=\"color: blue;\">700<\/span>);\n    tone(speakerPin, <span style=\"color: blue;\">1519<\/span>);\n    delay(<span style=\"color: blue;\">700<\/span>);\n    noTone(speakerPin);\n  \n    lcd.clear();\n    lcd.setCursor(<span style=\"color: blue;\">0<\/span>, <span style=\"color: blue;\">0<\/span>);\n    lcd.print(<span style=\"color: blue;\">\"Hora de la\"<\/span>);\n    lcd.setCursor(<span style=\"color: blue;\">0<\/span>, <span style=\"color: blue;\">1<\/span>);\n    lcd.print(<span style=\"color: blue;\">\"comida!!!!\"<\/span>);\n  \n    delay(<span style=\"color: blue;\">5000<\/span>);\n\n    now = rtc.now();\n    printTime(now);\n\n    delay(<span style=\"color: blue;\">5000<\/span>);\n\n  }\n  \n}\n\n<span style=\"color: #008800; font-style: italic;\">\/* Prints actual time and feed time.<\/span>\n<span style=\"color: #008800; font-style: italic;\"> * If hour or minute is just one digit, a zero<\/span>\n<span style=\"color: #008800; font-style: italic;\"> * will be added for formatting purposes *\/<\/span>\n<span style=\"color: navy; font-weight: bold;\">void<\/span> printTime(DateTime t) {\n\n  <span style=\"color: #008800; font-style: italic;\">\/* Actual time *\/<\/span>\n  lcd.setCursor(<span style=\"color: blue;\">0<\/span>, <span style=\"color: blue;\">0<\/span>);\n  lcd.print(<span style=\"color: blue;\">\"H. actual: \"<\/span>);\n  hour = t.hour();\n  <span style=\"color: navy; font-weight: bold;\">if<\/span> (hour &lt; <span style=\"color: blue;\">10<\/span>) { \n    h = <span style=\"color: blue;\">\"0\"<\/span> + String(hour); \n  } <span style=\"color: navy; font-weight: bold;\">else<\/span> { \n    h = String(hour); \n  }\n  lcd.print(h);\n  lcd.print(<span style=\"color: purple;\">':'<\/span>);\n  minute = t.minute();\n  <span style=\"color: navy; font-weight: bold;\">if<\/span> (minute &lt; <span style=\"color: blue;\">10<\/span>) { \n    m = <span style=\"color: blue;\">\"0\"<\/span> + String(minute); \n  } <span style=\"color: navy; font-weight: bold;\">else<\/span> { \n    m = String(minute);\n  }\n  lcd.print(m);\n\n  <span style=\"color: #008800; font-style: italic;\">\/* Feed hour *\/<\/span>\n  lcd.setCursor(<span style=\"color: blue;\">0<\/span>, <span style=\"color: blue;\">1<\/span>);\n  lcd.print(<span style=\"color: blue;\">\"H. comida: \"<\/span>);\n  <span style=\"color: navy; font-weight: bold;\">if<\/span> (feedHour &lt; <span style=\"color: blue;\">10<\/span>) {\n    h = <span style=\"color: blue;\">\"0\"<\/span> + String(feedHour);\n  } <span style=\"color: navy; font-weight: bold;\">else<\/span> {\n    h = String(feedHour); \n  }\n  lcd.print(h);\n  lcd.print(<span style=\"color: purple;\">':'<\/span>);\n  <span style=\"color: navy; font-weight: bold;\">if<\/span> (feedMin &lt; <span style=\"color: blue;\">10<\/span>) { \n    m = <span style=\"color: blue;\">\"0\"<\/span> + String(feedMin); \n  } <span style=\"color: navy; font-weight: bold;\">else<\/span> { \n    m = String(feedMin); \n  }\n  lcd.print(m);\n\n  <span style=\"color: navy; font-weight: bold;\">return<\/span>;\n\n}\n\n<span style=\"color: navy; font-weight: bold;\">void<\/span> setFeedHour() {\n  \n  lcd.clear();\n  lcd.setCursor(<span style=\"color: blue;\">0<\/span>, <span style=\"color: blue;\">0<\/span>);\n  lcd.print(<span style=\"color: blue;\">\"Cambiar hora de\"<\/span>);\n  lcd.setCursor(<span style=\"color: blue;\">0<\/span>, <span style=\"color: blue;\">1<\/span>);\n  lcd.print(<span style=\"color: blue;\">\"comida: \"<\/span>);\n  \n  <span style=\"color: navy; font-weight: bold;\">int<\/span> hourAux = feedHour;\n\n  <span style=\"color: navy; font-weight: bold;\">while<\/span>(true) {\n  \n    lcd.setCursor(<span style=\"color: blue;\">8<\/span>, <span style=\"color: blue;\">1<\/span>);\n    <span style=\"color: navy; font-weight: bold;\">if<\/span> (hourAux &lt; <span style=\"color: blue;\">10<\/span>) { \n      lcd.print(<span style=\"color: blue;\">\"0\"<\/span>);\n      lcd.print(hourAux);\n    } <span style=\"color: navy; font-weight: bold;\">else<\/span> { \n      lcd.print(hourAux); \n    }\n    lcd.setCursor(<span style=\"color: blue;\">10<\/span>, <span style=\"color: blue;\">1<\/span>);\n    lcd.print(<span style=\"color: purple;\">':'<\/span>);\n    lcd.setCursor(<span style=\"color: blue;\">11<\/span>, <span style=\"color: blue;\">1<\/span>);\n    <span style=\"color: navy; font-weight: bold;\">if<\/span> (feedMin &lt; <span style=\"color: blue;\">10<\/span>) {\n      m = <span style=\"color: blue;\">\"0\"<\/span> + String(feedMin); \n    } <span style=\"color: navy; font-weight: bold;\">else<\/span> { \n      m = String(feedMin); \n    }\n    lcd.print(m);\n\n    delay(<span style=\"color: blue;\">200<\/span>);\n\n    <span style=\"color: #008800; font-style: italic;\">\/* We check which button is being pressed *\/<\/span>\n    val=analogRead(A0);      \n    <span style=\"color: navy; font-weight: bold;\">if<\/span> ((val&gt;=<span style=\"color: blue;\">50<\/span>) &amp;&amp; (val&lt;=<span style=\"color: blue;\">150<\/span>)) { <span style=\"color: #008800; font-style: italic;\">\/* UP + 1 hour *\/<\/span>\n      hourAux = (hourAux + <span style=\"color: blue;\">1<\/span>) % <span style=\"color: blue;\">24<\/span>; \n    } <span style=\"color: navy; font-weight: bold;\">else<\/span> <span style=\"color: navy; font-weight: bold;\">if<\/span> ((val&gt;=<span style=\"color: blue;\">150<\/span>) &amp;&amp; (val&lt;=<span style=\"color: blue;\">300<\/span>)) { <span style=\"color: #008800; font-style: italic;\">\/* DOWN - 1 hour *\/<\/span>\n      hourAux = hourAux - <span style=\"color: blue;\">1<\/span>; \n      <span style=\"color: navy; font-weight: bold;\">if<\/span> (hourAux &lt; <span style=\"color: blue;\">0<\/span>) {\n        hourAux = <span style=\"color: blue;\">23<\/span>;\n      }\n    }\n    <span style=\"color: navy; font-weight: bold;\">else<\/span> <span style=\"color: navy; font-weight: bold;\">if<\/span> ((val&gt;=<span style=\"color: blue;\">300<\/span>)&amp;&amp;(val&lt;=<span style=\"color: blue;\">500<\/span>)) { <span style=\"color: #008800; font-style: italic;\">\/* LEFT cancel *\/<\/span>\n      <span style=\"color: navy; font-weight: bold;\">break<\/span>;\n    }\n    <span style=\"color: navy; font-weight: bold;\">if<\/span> ((val&gt;=<span style=\"color: blue;\">0<\/span>)&amp;&amp;(val&lt;=<span style=\"color: blue;\">50<\/span>)) { <span style=\"color: #008800; font-style: italic;\">\/* RIGHT save *\/<\/span>\n      feedHour = hourAux;\n      setFeedMin();\n      <span style=\"color: navy; font-weight: bold;\">break<\/span>;\n    }\n    \n  }\n  \n  <span style=\"color: navy; font-weight: bold;\">return<\/span>;\n  \n}\n\n<span style=\"color: navy; font-weight: bold;\">void<\/span> setFeedMin() {\n\n  lcd.clear();\n  lcd.setCursor(<span style=\"color: blue;\">0<\/span>, <span style=\"color: blue;\">0<\/span>);\n  lcd.print(<span style=\"color: blue;\">\"Cambiar min. de\"<\/span>);\n  lcd.setCursor(<span style=\"color: blue;\">0<\/span>, <span style=\"color: blue;\">1<\/span>);\n  lcd.print(<span style=\"color: blue;\">\"comida: \"<\/span>);\n  \n  <span style=\"color: navy; font-weight: bold;\">int<\/span> minAux = feedMin;\n  \n  <span style=\"color: navy; font-weight: bold;\">while<\/span>(true) {\n\n    lcd.setCursor(<span style=\"color: blue;\">8<\/span>, <span style=\"color: blue;\">1<\/span>);\n    <span style=\"color: navy; font-weight: bold;\">if<\/span> (feedHour &lt; <span style=\"color: blue;\">10<\/span>) { \n      h = <span style=\"color: blue;\">\"0\"<\/span> + String(feedHour); \n    } <span style=\"color: navy; font-weight: bold;\">else<\/span> { \n      h = String(feedHour);\n    }\n    lcd.print(h);\n    lcd.setCursor(<span style=\"color: blue;\">10<\/span>, <span style=\"color: blue;\">1<\/span>);\n    lcd.print(<span style=\"color: purple;\">':'<\/span>);\n    lcd.setCursor(<span style=\"color: blue;\">11<\/span>, <span style=\"color: blue;\">1<\/span>);\n    <span style=\"color: navy; font-weight: bold;\">if<\/span> (minAux &lt; <span style=\"color: blue;\">10<\/span>) {\n      m = <span style=\"color: blue;\">\"0\"<\/span> + String(minAux); \n    } <span style=\"color: navy; font-weight: bold;\">else<\/span> {\n      m = String(minAux); \n    }\n    lcd.print(m);\n    \n    delay(<span style=\"color: blue;\">200<\/span>);\n\n    <span style=\"color: #008800; font-style: italic;\">\/* We check which button is being pressed *\/<\/span>\n    val = analogRead(A0);\n    <span style=\"color: navy; font-weight: bold;\">if<\/span>((val&gt;=<span style=\"color: blue;\">50<\/span>) &amp;&amp; (val&lt;=<span style=\"color: blue;\">150<\/span>)) { <span style=\"color: #008800; font-style: italic;\">\/* UP + 1 min *\/<\/span>\n      minAux = (minAux + <span style=\"color: blue;\">1<\/span>) % <span style=\"color: blue;\">60<\/span>; \n    } <span style=\"color: navy; font-weight: bold;\">else<\/span> <span style=\"color: navy; font-weight: bold;\">if<\/span>((val&gt;=<span style=\"color: blue;\">150<\/span>) &amp;&amp; (val&lt;=<span style=\"color: blue;\">300<\/span>)) { <span style=\"color: #008800; font-style: italic;\">\/* DOWN - 1 min *\/<\/span>\n      minAux = minAux - <span style=\"color: blue;\">1<\/span>; \n      <span style=\"color: navy; font-weight: bold;\">if<\/span> (minAux &lt; <span style=\"color: blue;\">0<\/span>) {\n        minAux = <span style=\"color: blue;\">59<\/span>;\n      }\n    } <span style=\"color: navy; font-weight: bold;\">else<\/span> <span style=\"color: navy; font-weight: bold;\">if<\/span>((val&gt;=<span style=\"color: blue;\">300<\/span>) &amp;&amp; (val&lt;=<span style=\"color: blue;\">500<\/span>)) { <span style=\"color: #008800; font-style: italic;\">\/* LEFT cancel *\/<\/span>\n      <span style=\"color: navy; font-weight: bold;\">break<\/span>;\n    } <span style=\"color: navy; font-weight: bold;\">else<\/span> <span style=\"color: navy; font-weight: bold;\">if<\/span>((val&gt;=<span style=\"color: blue;\">500<\/span>) &amp;&amp;( val&lt;=<span style=\"color: blue;\">750<\/span>)) { <span style=\"color: #008800; font-style: italic;\">\/* SELECT save *\/<\/span>\n      feedMin = minAux;\n      <span style=\"color: navy; font-weight: bold;\">break<\/span>;\n    }\n        \n  }\n  \n  <span style=\"color: navy; font-weight: bold;\">return<\/span>;\n  \n}\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3>\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: large;\">Sketch auxiliar para poner el reloj en hora<\/span><\/h3>\n<div>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Este c\u00f3digo solo necesita ejecutarse una vez para inicializar el chip RTC con la hora actual. El chip RTC mantendr\u00e1 la hora gracias a la pila que lleva incorporada.<\/span><\/div>\n<p><\/p>\n<div style=\"background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;\">\n<table>\n<tbody>\n<tr>\n<td>\n<pre style=\"line-height: 125%; margin: 0;\"> 1\n 2\n 3\n 4\n 5\n 6\n 7\n 8\n 9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n37\n38\n39<\/pre>\n<\/td>\n<td>\n<pre style=\"line-height: 125%; margin: 0;\"><span style=\"color: teal;\">#include &lt;Wire.h&gt;<\/span>\n<span style=\"color: teal;\">#include \"RTClib.h\"<\/span>\n\nRTC_DS3231 rtc;\n\n<span style=\"color: navy; font-weight: bold;\">void<\/span> setup() {\n\n  rtc.begin();\n  rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));\n\n  <span style=\"color: #008800; font-style: italic;\">\/* The rest of the code is not necessary to set the time,<\/span>\n<span style=\"color: #008800; font-style: italic;\">   * we're just making sure it was set correctly: *\/<\/span>\n  Serial.begin(<span style=\"color: blue;\">9600<\/span>);\n  \n  DateTime now = rtc.now();\n  printDate(now);\n  \n}\n\n<span style=\"color: navy; font-weight: bold;\">void<\/span> loop() {\n\n}\n\n<span style=\"color: navy; font-weight: bold;\">void<\/span> printDate(DateTime date) {\n  \n   Serial.print(date.year(), DEC);\n   Serial.print(<span style=\"color: purple;\">'\/'<\/span>);\n   Serial.print(date.month(), DEC);\n   Serial.print(<span style=\"color: purple;\">'\/'<\/span>);\n   Serial.print(date.day(), DEC);\n   Serial.print(<span style=\"color: blue;\">\" \"<\/span>);\n   Serial.print(date.hour(), DEC);\n   Serial.print(<span style=\"color: purple;\">':'<\/span>);\n   Serial.print(date.minute(), DEC);\n   Serial.print(<span style=\"color: purple;\">':'<\/span>);\n   Serial.print(date.second(), DEC);\n   Serial.println();\n   \n}\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><\/p>\n<h2 id=\"conclusiones\">\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: x-large;\">Conclusiones<\/span><\/h2>\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Este proyecto nos ha servido para familiarizarnos con Arduino y su entorno de desarrollo, as\u00ed como todas las posibilidades que ofrece.<\/span><\/div>\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/div>\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">En cuanto al precio del dispensador, el hecho de haberlo construido nosotras mismas no lo ha reducido respecto a adquirir uno similar en una tienda o en Internet. Esto se debe a la baja estandarizaci\u00f3n del producto.&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\">\n<\/div>\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Este proyecto tambi\u00e9n nos ha servido como experiencia para saber c\u00f3mo es un proyecto real en el \u00e1mbito laboral.<\/span><\/div>\n<div style=\"text-align: justify;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/div>\n<h2 id=\"manual\">\n<span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif; font-size: x-large;\">Anexo: Manual de funcionamiento<\/span><\/h2>\n<div style=\"text-align: justify;\">\n<div style=\"text-align: left;\">\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><br \/>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Este dispositivo es un dispensador autom\u00e1tico de comida de<br \/>\nmascotas que incorpora un reloj programable. Para utilizar este producto siga<br \/>\nlos siguientes pasos:<\/span><\/div>\n<\/div>\n<ol>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Enchufe el producto a la corriente.<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Se iluminar\u00e1 la pantalla, en la que aparecer\u00e1 la hora actual y la hora de la comida predeterminada (las 14:00).<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Para modificar dicha hora pulse el bot\u00f3n SELECT durante 1-2 segundos.<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Una vez pulsado aparecer\u00e1 un mensaje pidiendo el cambio de hora. Mediante los botones UP y DOWN puede incrementar o disminuir la hora.<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Cuando haya modificado la hora pulse RIGHT para cambiar los minutos igual que en el paso 4.<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Puede cancelar cualquiera de estas acciones pulsando LEFT.<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Para guardar la nueva hora de la comida pulse SELECT.<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Espere a la hora programada y el dispensador echar\u00e1 la comida para su mascota.<\/span><\/li>\n<li><span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\">Recuerde rellenar el dispositivo con el pienso favorito de su mascota.<\/span><\/li>\n<\/ol>\n<div>\n<span style=\"font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;\"><br \/><\/span><\/div>\n<ol>\n<\/ol>\n<div>\n<div class=\"MsoNormal\">\n<\/div>\n<div class=\"MsoListParagraphCxSpFirst\" style=\"mso-list: l0 level1 lfo1; text-indent: -18.0pt;\">\n<\/div>\n<div class=\"MsoListParagraphCxSpMiddle\" style=\"mso-list: l0 level1 lfo1; text-indent: -18.0pt;\">\n<\/div>\n<div class=\"MsoListParagraphCxSpMiddle\" style=\"mso-list: l0 level1 lfo1; text-indent: -18.0pt;\">\n<\/div>\n<div class=\"MsoListParagraphCxSpMiddle\" style=\"mso-list: l0 level1 lfo1; text-indent: -18.0pt;\">\n<\/div>\n<div class=\"MsoListParagraphCxSpMiddle\" style=\"mso-list: l0 level1 lfo1; text-indent: -18.0pt;\">\n<\/div>\n<div class=\"MsoListParagraphCxSpMiddle\" style=\"mso-list: l0 level1 lfo1; text-indent: -18.0pt;\">\n<\/div>\n<div class=\"MsoListParagraphCxSpMiddle\" style=\"mso-list: l0 level1 lfo1; text-indent: -18.0pt;\">\n<\/div>\n<div class=\"MsoListParagraphCxSpMiddle\" style=\"mso-list: l0 level1 lfo1; text-indent: -18.0pt;\">\n<\/div>\n<div class=\"MsoListParagraphCxSpLast\" style=\"mso-list: l0 level1 lfo1; text-indent: -18.0pt;\">\n<\/div>\n<p><span style=\"font-family: &quot;trebuchet ms&quot; , sans-serif;\"><\/span><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Contenidos 1.&nbsp;Introducci\u00f3n 2. Autor\u00eda 3. Componentes utilizados 4. Montaje 5. C\u00f3digo 6. Conclusiones 7. Anexo: Manual de funcionamiento Introducci\u00f3n El proyecto consiste en un dispensador autom\u00e1tico de comida para mascotas que incluye un reloj&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":1632,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[7,8,9,10,11,12,13,14,15,16],"class_list":["post-42","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-proyectos","tag-altavoz","tag-arduino","tag-botones","tag-dispensador-automatico","tag-gii","tag-grupo-4","tag-lcd","tag-mascotas","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>Pavlov&#039;s Feeder. Un dispensador autom\u00e1tico de comida para mascotas con Arduino - 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\/pavlovs-feeder-dispensador-automatico-arduino\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pavlov&#039;s Feeder. Un dispensador autom\u00e1tico de comida para mascotas con Arduino - Proyectos con Arduino.\" \/>\n<meta property=\"og:description\" content=\"Contenidos 1.&nbsp;Introducci\u00f3n 2. Autor\u00eda 3. Componentes utilizados 4. Montaje 5. C\u00f3digo 6. Conclusiones 7. Anexo: Manual de funcionamiento Introducci\u00f3n El proyecto consiste en un dispensador autom\u00e1tico de comida para mascotas que incluye un reloj&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/pavlovs-feeder-dispensador-automatico-arduino\/\" \/>\n<meta property=\"og:site_name\" content=\"Proyectos con Arduino.\" \/>\n<meta property=\"article:published_time\" content=\"2019-04-11T11:59:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-05-04T11:17:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/04\/Portada-1024x768.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\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=\"11 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\\\/pavlovs-feeder-dispensador-automatico-arduino\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/pavlovs-feeder-dispensador-automatico-arduino\\\/\"},\"author\":{\"name\":\"Administrador de la red\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/person\\\/bdc38fea664f13638d2a51f4d2fc7211\"},\"headline\":\"Pavlov&#8217;s Feeder. Un dispensador autom\u00e1tico de comida para mascotas con Arduino\",\"datePublished\":\"2019-04-11T11:59:00+00:00\",\"dateModified\":\"2019-05-04T11:17:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/pavlovs-feeder-dispensador-automatico-arduino\\\/\"},\"wordCount\":1432,\"commentCount\":5,\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/pavlovs-feeder-dispensador-automatico-arduino\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2019\\\/04\\\/Portada.png\",\"keywords\":[\"Altavoz\",\"Arduino\",\"Botones\",\"Dispensador Autom\u00e1tico\",\"GII\",\"Grupo 4\",\"LCD\",\"Mascotas\",\"Servomotor\",\"urjc\"],\"articleSection\":[\"Proyectos\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/pavlovs-feeder-dispensador-automatico-arduino\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/pavlovs-feeder-dispensador-automatico-arduino\\\/\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/pavlovs-feeder-dispensador-automatico-arduino\\\/\",\"name\":\"Pavlov's Feeder. Un dispensador autom\u00e1tico de comida para mascotas con Arduino - Proyectos con Arduino.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/pavlovs-feeder-dispensador-automatico-arduino\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/pavlovs-feeder-dispensador-automatico-arduino\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2019\\\/04\\\/Portada.png\",\"datePublished\":\"2019-04-11T11:59:00+00:00\",\"dateModified\":\"2019-05-04T11:17:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/pavlovs-feeder-dispensador-automatico-arduino\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/pavlovs-feeder-dispensador-automatico-arduino\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/pavlovs-feeder-dispensador-automatico-arduino\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2019\\\/04\\\/Portada.png\",\"contentUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2019\\\/04\\\/Portada.png\",\"width\":1600,\"height\":1200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/pavlovs-feeder-dispensador-automatico-arduino\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pavlov&#8217;s Feeder. Un dispensador autom\u00e1tico de comida para mascotas con Arduino\"}]},{\"@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":"Pavlov's Feeder. Un dispensador autom\u00e1tico de comida para mascotas con Arduino - 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\/pavlovs-feeder-dispensador-automatico-arduino\/","og_locale":"es_ES","og_type":"article","og_title":"Pavlov's Feeder. Un dispensador autom\u00e1tico de comida para mascotas con Arduino - Proyectos con Arduino.","og_description":"Contenidos 1.&nbsp;Introducci\u00f3n 2. Autor\u00eda 3. Componentes utilizados 4. Montaje 5. C\u00f3digo 6. Conclusiones 7. Anexo: Manual de funcionamiento Introducci\u00f3n El proyecto consiste en un dispensador autom\u00e1tico de comida para mascotas que incluye un reloj&#46;&#46;&#46;","og_url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/pavlovs-feeder-dispensador-automatico-arduino\/","og_site_name":"Proyectos con Arduino.","article_published_time":"2019-04-11T11:59:00+00:00","article_modified_time":"2019-05-04T11:17:24+00:00","og_image":[{"width":1024,"height":768,"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/04\/Portada-1024x768.png","type":"image\/png"}],"author":"Administrador de la red","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Administrador de la red","Tiempo de lectura":"11 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/pavlovs-feeder-dispensador-automatico-arduino\/#article","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/pavlovs-feeder-dispensador-automatico-arduino\/"},"author":{"name":"Administrador de la red","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/person\/bdc38fea664f13638d2a51f4d2fc7211"},"headline":"Pavlov&#8217;s Feeder. Un dispensador autom\u00e1tico de comida para mascotas con Arduino","datePublished":"2019-04-11T11:59:00+00:00","dateModified":"2019-05-04T11:17:24+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/pavlovs-feeder-dispensador-automatico-arduino\/"},"wordCount":1432,"commentCount":5,"publisher":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/pavlovs-feeder-dispensador-automatico-arduino\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/04\/Portada.png","keywords":["Altavoz","Arduino","Botones","Dispensador Autom\u00e1tico","GII","Grupo 4","LCD","Mascotas","Servomotor","urjc"],"articleSection":["Proyectos"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/pavlovs-feeder-dispensador-automatico-arduino\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/pavlovs-feeder-dispensador-automatico-arduino\/","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/pavlovs-feeder-dispensador-automatico-arduino\/","name":"Pavlov's Feeder. Un dispensador autom\u00e1tico de comida para mascotas con Arduino - Proyectos con Arduino.","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/pavlovs-feeder-dispensador-automatico-arduino\/#primaryimage"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/pavlovs-feeder-dispensador-automatico-arduino\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/04\/Portada.png","datePublished":"2019-04-11T11:59:00+00:00","dateModified":"2019-05-04T11:17:24+00:00","breadcrumb":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/pavlovs-feeder-dispensador-automatico-arduino\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/pavlovs-feeder-dispensador-automatico-arduino\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/pavlovs-feeder-dispensador-automatico-arduino\/#primaryimage","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/04\/Portada.png","contentUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2019\/04\/Portada.png","width":1600,"height":1200},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/pavlovs-feeder-dispensador-automatico-arduino\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blogs.etsii.urjc.es\/dseytr\/"},{"@type":"ListItem","position":2,"name":"Pavlov&#8217;s Feeder. Un dispensador autom\u00e1tico de comida para mascotas con Arduino"}]},{"@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\/42","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=42"}],"version-history":[{"count":1,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/42\/revisions"}],"predecessor-version":[{"id":1648,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/42\/revisions\/1648"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media\/1632"}],"wp:attachment":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media?parent=42"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/categories?post=42"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/tags?post=42"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}