{"id":12,"date":"2019-04-29T15:04:00","date_gmt":"2019-04-29T15:04:00","guid":{"rendered":"https:\/\/blogs.etsii.urjc.es\/dseytr\/?p=12"},"modified":"2019-05-04T20:47:45","modified_gmt":"2019-05-04T20:47:45","slug":"robot-para-almacen-automatizado","status":"publish","type":"post","link":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/","title":{"rendered":"Robot para almac\u00e9n automatizado."},"content":{"rendered":"<h2>Robot para almac\u00e9n automatizado (\u00abSigueRastro\u00bb).<\/h2>\n<h3>Introducci\u00f3n.<\/h3>\n<div>Nuestro proyecto esta basado en un robot para almac\u00e9n automatizado llamado \u201cSigueRastro\u201d. Este se encarga de moverse seg\u00fan el sensor que tiene, utilizando las lecturas que obtiene de ellos y de esta manera poder seguir un patr\u00f3n dibujado en el suelo. Dependiendo de dicho patr\u00f3n avanza en sentido hacia delante o en sentido hacia detr\u00e1s.<\/div>\n<div><\/div>\n<h3>Materiales.<\/h3>\n<div>Materiales utilizados en el proyecto:<\/div>\n<div><\/div>\n<ul>\n<li>Arduino Nano (x1)<\/li>\n<li>Protoboard (x1)<\/li>\n<li>Resistencias 10K Ohms\u00a0(x2)<\/li>\n<li>Resistencias 330 Ohms\u00a0(x2)<\/li>\n<li>Integrado L293D (x1)<\/li>\n<li>Motores (x2)<\/li>\n<li>Sensor CNY 70\u00a0(x2)<\/li>\n<li>Cables varios (x1)<\/li>\n<li>Chasis (x1)<\/li>\n<\/ul>\n<div><\/div>\n<h3>Montaje.<\/h3>\n<div>\n<div>Antes de comenzar a construir el circuito realizamos el montaje del chasis como a continuaci\u00f3n mostraremos:<\/div>\n<div><\/div>\n<table class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n<tbody>\n<tr>\n<td style=\"text-align: center;\"><a style=\"margin-left: auto; margin-right: auto;\" href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/1-768x1024.jpeg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/1-768x1024.jpeg\" width=\"240\" height=\"320\" border=\"0\" data-original-height=\"1600\" data-original-width=\"1200\" \/><\/a><\/td>\n<\/tr>\n<tr>\n<td class=\"tr-caption\" style=\"text-align: center;\">Parte de abajo del montaje del chasis.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n<tbody>\n<tr>\n<td style=\"text-align: center;\"><a style=\"margin-left: auto; margin-right: auto;\" href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/2-768x1024.jpeg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/2-768x1024.jpeg\" width=\"240\" height=\"320\" border=\"0\" data-original-height=\"1600\" data-original-width=\"1200\" \/><\/a><\/td>\n<\/tr>\n<tr>\n<td class=\"tr-caption\" style=\"text-align: center;\">Parte de arriba del montaje del chasis.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n<tbody>\n<tr>\n<td style=\"text-align: center;\"><a style=\"margin-left: auto; margin-right: auto;\" href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/3-1024x768.jpeg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/3-1024x768.jpeg\" width=\"320\" height=\"240\" border=\"0\" data-original-height=\"1200\" data-original-width=\"1600\" \/><\/a><\/td>\n<\/tr>\n<tr>\n<td class=\"tr-caption\" style=\"text-align: center;\">Ambas partes por separado.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n<tbody>\n<tr>\n<td style=\"text-align: center;\"><a style=\"margin-left: auto; margin-right: auto;\" href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/4-768x1024.jpeg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/4-768x1024.jpeg\" width=\"240\" height=\"320\" border=\"0\" data-original-height=\"1600\" data-original-width=\"1200\" \/><\/a><\/td>\n<\/tr>\n<tr>\n<td class=\"tr-caption\" style=\"text-align: center;\">Unificaci\u00f3n del montaje del chasis.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h1 style=\"line-height: 150%; margin-top: 0cm;\"><\/h1>\n<div>El m\u00e9todo de construcci\u00f3n del proyecto fue incremental y por partes separadas para posteriormente ser unificadas en el circuito final. La tarea inicial fue montar los motores y definir la correspondencia de pines del circuito y c\u00f3digo. Como se muestra en la siguiente imagen:<\/div>\n<div class=\"MsoNormal\" style=\"line-height: 150%; margin-bottom: 0cm; text-align: justify;\"><span style=\"font-family: 'calibri light' , sans-serif; font-size: 12.0pt; line-height: 150%;\"><span style=\"font-family: 'calibri light' , sans-serif; font-size: 12.0pt; line-height: 150%;\">\u00a0<\/span><\/span><\/p>\n<table class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n<tbody>\n<tr>\n<td style=\"text-align: center;\"><a style=\"margin-left: auto; margin-right: auto;\" href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/imagen1-1024x466.jpeg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/imagen1-1024x466.jpeg\" width=\"320\" height=\"145\" border=\"0\" data-original-height=\"728\" data-original-width=\"1600\" \/><\/a><\/td>\n<\/tr>\n<tr>\n<td class=\"tr-caption\" style=\"text-align: center;\">Montaje de los motores.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div>La segunda tarea se corresponde con el montaje de un sensor infrarrojos como se muestra en la siguiente imagen:<\/div>\n<div><\/div>\n<table class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n<tbody>\n<tr>\n<td style=\"text-align: center;\"><a style=\"margin-left: auto; margin-right: auto;\" href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/imagen2-1024x431.jpeg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/imagen2-1024x431.jpeg\" width=\"320\" height=\"134\" border=\"0\" data-original-height=\"674\" data-original-width=\"1600\" \/><\/a><\/td>\n<\/tr>\n<tr>\n<td class=\"tr-caption\" style=\"text-align: center;\">Montaje de los sensores.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"MsoNormal\" style=\"line-height: 150%; margin-bottom: 0cm; text-align: justify;\"><span style=\"font-family: 'calibri light' , sans-serif; font-size: 12.0pt; line-height: 150%;\">\u00a0<\/span><\/div>\n<div>El siguiente paso consiste en unificar las partes anteriores y a\u00f1adir el sensor que falta bas\u00e1ndonos en el montaje de la imagen anterior, resultando el siguiente circuito:<\/div>\n<div class=\"MsoNormal\" style=\"line-height: 150%; margin-bottom: 0cm; text-align: justify;\"><\/div>\n<table class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n<tbody>\n<tr>\n<td style=\"text-align: center;\"><a style=\"margin-left: auto; margin-right: auto;\" href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/imagen3-1024x665.jpeg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/imagen3-1024x665.jpeg\" width=\"320\" height=\"207\" border=\"0\" data-original-height=\"1039\" data-original-width=\"1600\" \/><\/a><\/td>\n<\/tr>\n<tr>\n<td class=\"tr-caption\" style=\"text-align: center;\">\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a style=\"margin-left: 1em; margin-right: 1em; text-align: center;\" href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/arduino10-1024x768.jpeg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/arduino10-1024x768.jpeg\" width=\"320\" height=\"240\" border=\"0\" data-original-height=\"1200\" data-original-width=\"1600\" \/><\/a><\/div>\n<p>Unificaci\u00f3n<br \/>\nde los montajes anteriores (del motor y del sensor).<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div>Por \u00faltimo, por cuestiones de espacio, peso y est\u00e9tica decidimos reducir el circuito implementado utilizando un Arduino Nano para compactar el circuito de manera que sea equivalente, resultando es el circuito final que se muestra en la siguiente imagen:<\/div>\n<div><\/div>\n<table class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n<tbody>\n<tr>\n<td style=\"text-align: center;\"><a style=\"margin-left: auto; margin-right: auto;\" href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/imagen4-1024x765.jpeg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/imagen4-1024x765.jpeg\" width=\"320\" height=\"239\" border=\"0\" data-original-height=\"1092\" data-original-width=\"1461\" \/><\/a><\/td>\n<\/tr>\n<tr>\n<td class=\"tr-caption\" style=\"text-align: center;\">\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a style=\"clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;\" href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/arduino9-1024x768.jpeg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/arduino9-1024x768.jpeg\" width=\"320\" height=\"240\" border=\"0\" data-original-height=\"1200\" data-original-width=\"1600\" \/><\/a><\/div>\n<p>Unificaci\u00f3n<br \/>\ndel montaje anterior con el Arduino (nano).<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div>Por simplicidad se pueden obviar los montajes anteriores y pasar directamente a montar el circuito final.<\/div>\n<div><\/div>\n<div class=\"MsoNormal\" style=\"line-height: 150%; margin-bottom: 0cm; text-align: justify; text-indent: 35.4pt;\">\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a style=\"margin-left: 1em; margin-right: 1em;\" href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/arduino10-1024x768.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/arduino10-1024x768.jpg\" width=\"320\" height=\"240\" border=\"0\" data-original-height=\"1200\" data-original-width=\"1600\" \/><\/a><\/div>\n<p><span style=\"font-family: 'calibri light' , sans-serif; font-size: 12.0pt; line-height: 150%;\">\u00a0<\/span><\/p>\n<\/div>\n<h3>C\u00f3digo<\/h3>\n<div>A continuaci\u00f3n, explicaremos el c\u00f3digo implementado y las soluciones aplicadas.<\/div>\n<div>Para que el programa pueda utilizar adecuadamente los pines, tanto de entrada como de salida, declaramos seis constantes encargadas de la gesti\u00f3n de los motores. Por otro lado, tenemos cuatro variables dos para los sensores infrarrojos y otras dos para los valores de lectura que estos generan.<\/div>\n<div><\/div>\n<div>En la funci\u00f3n \u201cSetup\u201d utilizamos un bucle \u201cfor\u201d para inicializar los pines de los motores como pines de salida y otro bucle del mismo tipo para inicializar los pines de los sensores como pines de entrada.<\/div>\n<div><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a style=\"margin-left: 1em; margin-right: 1em;\" href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Captura1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Captura1.jpg\" width=\"320\" height=\"298\" border=\"0\" data-original-height=\"669\" data-original-width=\"718\" \/><\/a><\/div>\n<div class=\"MsoNormal\" style=\"line-height: 150%; margin-bottom: 0cm; text-align: justify; text-indent: 18.0pt;\"><span style=\"font-family: 'calibri light' , sans-serif; font-size: 12.0pt; line-height: 150%;\">\u00a0<\/span><\/div>\n<div>En la funci\u00f3n \u201cLoop\u201d recogemos los datos de lectura de los sensores y gestionamos el movimiento del robot con una estructura \u201cIf-Else\u201d con los siguientes casos teniendo en cuenta que la zona negra toma valor cero y la<br \/>\nzona blanca toma valor uno:<\/div>\n<div><\/div>\n<ul>\n<li>Caso 1:<\/li>\n<\/ul>\n<div>Los dos sensores en zona negra por lo que avanza el robot con la funci\u00f3n \u201cavanzar_motores ()\u201d que ser\u00e1 explicada m\u00e1s adelante.<\/div>\n<div><\/div>\n<ul>\n<li>\u00a0Caso 2:<\/li>\n<\/ul>\n<p>Sensor derecho en zona negra e izquierdo en zona blanca por lo que el robot detiene el motor derecho y avanza con el izquierdo; esto genera el giro necesario para volver a la zona negra<span style=\"font-family: 'calibri light' , sans-serif; font-size: 12.0pt; line-height: 150%;\">.<\/span><\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a style=\"margin-left: 1em; margin-right: 1em;\" href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Captura2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Captura2.jpg\" width=\"400\" height=\"267\" border=\"0\" data-original-height=\"620\" data-original-width=\"922\" \/><\/a><\/div>\n<div class=\"MsoNormal\" style=\"line-height: 150%; margin-bottom: 0cm; text-align: justify; text-indent: 35.4pt;\"><\/div>\n<ul>\n<li>Caso 3:<\/li>\n<\/ul>\n<div>Sensor izquierdo en zona negra y derecho en zona blanca por lo que el robot detiene el motor izquierdo y avanza con el derecho; esto genera el giro necesario para volver a la zona negra.<\/div>\n<div><\/div>\n<ul>\n<li>Caso 4:<\/li>\n<\/ul>\n<div>Ambos sensores se encuentran en zona blanca por lo que retrocede el motor.<\/div>\n<div><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a style=\"margin-left: 1em; margin-right: 1em;\" href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Captura3.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Captura3.jpg\" width=\"400\" height=\"241\" border=\"0\" data-original-height=\"553\" data-original-width=\"913\" \/><\/a><\/div>\n<div class=\"MsoNormal\" style=\"line-height: 150%; margin-bottom: 0cm; text-align: justify; text-indent: 35.4pt;\"><span style=\"font-family: 'calibri light' , sans-serif; font-size: 12pt; text-indent: 35.4pt;\">\u00a0<\/span><\/div>\n<div class=\"MsoNormal\" style=\"line-height: 150%; margin-bottom: 0cm; text-align: justify; text-indent: 35.4pt;\"><span style=\"font-family: 'calibri light' , sans-serif; font-size: 12pt; text-indent: 35.4pt;\">\u00a0<\/span><\/div>\n<div>Pasamos a definir las funciones utilizadas en los casos anteriores.<\/div>\n<div><\/div>\n<ul>\n<li>Avanzar motores: es una funci\u00f3n que gobierna el movimiento de ambos motores vali\u00e9ndose de las constantes \u201cENABLE_DERECHO\u201d y \u201cENABLE_IZQUIERDO\u201d.<br \/>\nActivando a nivel alto (HIGH) las constantes \u201cAVANZAR_DERECHO\u201d y \u201cAVANZAR_IZQUIERDO\u201d y desactivando a nivel bajo (LOW) el retroceso de ambos.<\/li>\n<li>Retroceder motores: es una funci\u00f3n que gobierna el movimiento de ambos motores vali\u00e9ndose de las constantes \u201cENABLE_DERECHO\u201d y \u201cENABLE_IZQUIERDO\u201d.<br \/>\nActivando a nivel alto (HIGH) las constantes \u201cRETROCEDER_DERECHO\u201d y \u201cRETROCEDER_IZQUIERDO\u201d y desactivando a nivel bajo (LOW) el avance de ambos.<\/li>\n<\/ul>\n<div>\n<ul>\n<li>Detener motores: es una funci\u00f3n que gobierna ambos motores vali\u00e9ndose de las constantes \u201cENABLE_DERECHO\u201d, \u201cAVANZAR_DERECHO\u201d, \u201cRETOCEDER_DERECHO\u201d, \u201cENABLE_IZQUIERDO\u201d, \u201cAVANZAR_IZQUIERDO\u201d, \u201cRETOCEDER_IZQUIERDO\u201d que desactiva cualquier tipo de movimiento por lo que los motores se detienen.<\/li>\n<\/ul>\n<p>Avanzar derecho y Detener Derecho: son las funciones que se encargan de realizar los giros necesarios para devolver el robot a la zona negra utilizando las constantes \u201cENABLE_DERECHO\u201d activada a nivel alto y \u201cENABLE_DERECHO\u201d activada a nivel bajo, respectivamente. Y activando o desactivando la constante \u201cAVANZAR_DERECHO\u201d, seg\u00fan el movimiento ejecutado.<\/p>\n<\/div>\n<div><a href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Captura4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Captura4.jpg\" width=\"320\" height=\"309\" border=\"0\" data-original-height=\"616\" data-original-width=\"637\" \/><\/a><\/div>\n<div class=\"MsoNormal\" style=\"line-height: 150%; margin-bottom: 0cm; text-align: justify; text-indent: 35.4pt;\"><span style=\"font-family: 'calibri light' , sans-serif; font-size: 12.0pt; line-height: 150%;\">\u00a0<\/span><\/div>\n<div class=\"MsoNormal\" style=\"line-height: 150%; margin-bottom: 0cm; text-align: justify; text-indent: 35.4pt;\"><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a style=\"margin-left: 1em; margin-right: 1em;\" href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Captura5.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Captura5.jpg\" width=\"320\" height=\"289\" border=\"0\" data-original-height=\"518\" data-original-width=\"572\" \/><\/a><\/div>\n<div class=\"MsoNormal\" style=\"line-height: 150%; margin-bottom: 0cm; text-align: justify; text-indent: 35.4pt;\"><span style=\"font-family: 'calibri light' , sans-serif; font-size: 12.0pt; line-height: 150%;\">\u00a0<\/span><\/div>\n<ul>\n<li>Avanzar izquierdo: es una funci\u00f3n que gobierna del motor izquierdo vali\u00e9ndose de las constantes activadas a nivel alto (HIGH) \u201cENABLE_IZQUIERDO\u201d y \u201cAVANZAR_IZQUIERDO\u201d. Y desactivando a nivel bajo (LOW) la constante de \u201cRETROCEDER_IZQUIERDO\u201d.<\/li>\n<li>Detener izquierdo: es una funci\u00f3n que gobierna del motor izquierdo vali\u00e9ndose de las constantes desactivadas a nivel bajo (LOW) \u201cENABLE_IZQUIERDO\u201d y \u201cAVANZAR_IZQUIERDO\u201d y \u201cRETROCEDER_IZQUIERDO\u201d.<\/li>\n<\/ul>\n<div><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a style=\"margin-left: 1em; margin-right: 1em;\" href=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Captura6.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/wp-content\/uploads\/sites\/8\/2019\/04\/Captura6.jpg\" width=\"273\" height=\"320\" border=\"0\" data-original-height=\"640\" data-original-width=\"547\" \/><\/a><\/div>\n<div class=\"MsoNormal\" style=\"line-height: 150%; margin-bottom: 0cm; text-align: justify; text-indent: 35.4pt;\"><span style=\"font-family: 'calibri light' , sans-serif; font-size: 12.0pt; line-height: 150%;\">\u00a0<\/span><\/div>\n<h3>Conclusi\u00f3n<\/h3>\n<div>El montaje del robot requiere de mucha paciencia y una organizaci\u00f3n met\u00f3dica de trabajo. Para comprar los componentes nos desplazamos a una tienda de electr\u00f3nica y para el chasis optamos por la tienda de Amazon. El montaje del circuito una vez decididos los componentes tuvo una dificultad media\/alta que nos llev\u00f3 unas horas, siendo la parte m\u00e1s dif\u00edcil el montaje de los sensores. En cuanto a la codificaci\u00f3n lo m\u00e1s complicado fue decidir los pines que ser\u00edan utilizados y hacerlos corresponder con el circuito.<\/div>\n<div><\/div>\n<h3 style=\"clear: both; text-align: left;\">MEMORIA<\/h3>\n<div><a href=\"https:\/\/drive.google.com\/file\/d\/1Mws7MXnldlWg57z9i0CIakrimn51RTLO\/view?usp=sharing\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">memoria.pdf<\/a><\/p>\n<p><a href=\"https:\/\/drive.google.com\/open?id=1C_subjP2a4yzV9XGFX8KA71Bteuj-BOV\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Presentaci\u00f3n<\/a><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Robot para almac\u00e9n automatizado (\u00abSigueRastro\u00bb). Introducci\u00f3n. Nuestro proyecto esta basado en un robot para almac\u00e9n automatizado llamado \u201cSigueRastro\u201d. Este se encarga de moverse seg\u00fan el sensor que tiene, utilizando las lecturas que obtiene de&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":1385,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-12","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-proyectos"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Robot para almac\u00e9n automatizado. - Proyectos con Arduino.<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Robot para almac\u00e9n automatizado. - Proyectos con Arduino.\" \/>\n<meta property=\"og:description\" content=\"Robot para almac\u00e9n automatizado (\u00abSigueRastro\u00bb). Introducci\u00f3n. Nuestro proyecto esta basado en un robot para almac\u00e9n automatizado llamado \u201cSigueRastro\u201d. Este se encarga de moverse seg\u00fan el sensor que tiene, utilizando las lecturas que obtiene de&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/\" \/>\n<meta property=\"og:site_name\" content=\"Proyectos con Arduino.\" \/>\n<meta property=\"article:published_time\" content=\"2019-04-29T15:04:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-05-04T20:47:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2018\/04\/WhatsAppImage2018-04-23at18.36.31.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"1600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/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=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-para-almacen-automatizado\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-para-almacen-automatizado\\\/\"},\"author\":{\"name\":\"Administrador de la red\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/person\\\/bdc38fea664f13638d2a51f4d2fc7211\"},\"headline\":\"Robot para almac\u00e9n automatizado.\",\"datePublished\":\"2019-04-29T15:04:00+00:00\",\"dateModified\":\"2019-05-04T20:47:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-para-almacen-automatizado\\\/\"},\"wordCount\":940,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-para-almacen-automatizado\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2018\\\/04\\\/WhatsAppImage2018-04-23at18.36.31.jpeg\",\"articleSection\":[\"Proyectos\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-para-almacen-automatizado\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-para-almacen-automatizado\\\/\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-para-almacen-automatizado\\\/\",\"name\":\"Robot para almac\u00e9n automatizado. - Proyectos con Arduino.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-para-almacen-automatizado\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-para-almacen-automatizado\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2018\\\/04\\\/WhatsAppImage2018-04-23at18.36.31.jpeg\",\"datePublished\":\"2019-04-29T15:04:00+00:00\",\"dateModified\":\"2019-05-04T20:47:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-para-almacen-automatizado\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-para-almacen-automatizado\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-para-almacen-automatizado\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2018\\\/04\\\/WhatsAppImage2018-04-23at18.36.31.jpeg\",\"contentUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2018\\\/04\\\/WhatsAppImage2018-04-23at18.36.31.jpeg\",\"width\":1200,\"height\":1600},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/robot-para-almacen-automatizado\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Robot para almac\u00e9n automatizado.\"}]},{\"@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":"Robot para almac\u00e9n automatizado. - Proyectos con Arduino.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/","og_locale":"es_ES","og_type":"article","og_title":"Robot para almac\u00e9n automatizado. - Proyectos con Arduino.","og_description":"Robot para almac\u00e9n automatizado (\u00abSigueRastro\u00bb). Introducci\u00f3n. Nuestro proyecto esta basado en un robot para almac\u00e9n automatizado llamado \u201cSigueRastro\u201d. Este se encarga de moverse seg\u00fan el sensor que tiene, utilizando las lecturas que obtiene de&#46;&#46;&#46;","og_url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/","og_site_name":"Proyectos con Arduino.","article_published_time":"2019-04-29T15:04:00+00:00","article_modified_time":"2019-05-04T20:47:45+00:00","og_image":[{"width":1200,"height":1600,"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2018\/04\/WhatsAppImage2018-04-23at18.36.31.jpeg","type":"image\/jpeg"}],"author":"Administrador de la red","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Administrador de la red","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/#article","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/"},"author":{"name":"Administrador de la red","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/person\/bdc38fea664f13638d2a51f4d2fc7211"},"headline":"Robot para almac\u00e9n automatizado.","datePublished":"2019-04-29T15:04:00+00:00","dateModified":"2019-05-04T20:47:45+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/"},"wordCount":940,"commentCount":0,"publisher":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2018\/04\/WhatsAppImage2018-04-23at18.36.31.jpeg","articleSection":["Proyectos"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/","name":"Robot para almac\u00e9n automatizado. - Proyectos con Arduino.","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/#primaryimage"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2018\/04\/WhatsAppImage2018-04-23at18.36.31.jpeg","datePublished":"2019-04-29T15:04:00+00:00","dateModified":"2019-05-04T20:47:45+00:00","breadcrumb":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/#primaryimage","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2018\/04\/WhatsAppImage2018-04-23at18.36.31.jpeg","contentUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2018\/04\/WhatsAppImage2018-04-23at18.36.31.jpeg","width":1200,"height":1600},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/robot-para-almacen-automatizado\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blogs.etsii.urjc.es\/dseytr\/"},{"@type":"ListItem","position":2,"name":"Robot para almac\u00e9n automatizado."}]},{"@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\/12","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=12"}],"version-history":[{"count":3,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/12\/revisions"}],"predecessor-version":[{"id":2159,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/12\/revisions\/2159"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media\/1385"}],"wp:attachment":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media?parent=12"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/categories?post=12"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/tags?post=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}