{"id":8241,"date":"2024-05-06T21:12:45","date_gmt":"2024-05-06T19:12:45","guid":{"rendered":"https:\/\/blogs.etsii.urjc.es\/dseytr\/?p=8241"},"modified":"2024-05-06T21:12:48","modified_gmt":"2024-05-06T19:12:48","slug":"echosonnar","status":"publish","type":"post","link":"https:\/\/blogs.etsii.urjc.es\/dseytr\/echosonnar\/","title":{"rendered":"EchoSonnar"},"content":{"rendered":"\n<p><strong><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/lGG_IJ1uvgsBokyqOmnSRikmccDoJkZD_qWiJEX7Pezvx8-BLl8lBkZnx9Lh9w4ClNciujd49nC2JF2g8kwxyU1rZt7xLnFc4AK5aY8RGdnDOm-U8bVOxChP-Csdac-iZvg2Yrh4tO9lMcGUXhmdV58\" width=\"602\" height=\"727\"><\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Grupo 3<\/h2>\n\n\n\n<p>Integrantes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Rodrigo Sotomayor Gonz\u00e1lez<\/li>\n\n\n\n<li>Sergio Redondo Redondo<\/li>\n\n\n\n<li>Jorge Fuentes Barrio<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Introducci\u00f3n:<\/h2>\n\n\n\n<p>Nuestro proyecto EchoSonnar nace del inter\u00e9s de querer entender el funcionamiento sistemas de navegaci\u00f3n que se basan en los ultrasonidos como el sistema de un submarino o como la forma de desplazarse de los murcielagos que se basa tambi\u00e9n en los ultrasonidos. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Objetivo:<\/h2>\n\n\n\n<p>La elaboraci\u00f3n de nuestro proyecto tiene como objeto recrear un sistema de navegaci\u00f3n de ultrasonidos a menor escala, de modo que podamos probar su funcionamiento en tiempo real y poder explicar los fundamentos f\u00edsicos de los ultrasonidos con un ejemplo pr\u00e1ctico. La aplicaci\u00f3n de este proyecto esta orientada a ofrecer un modelo de funcionamiento que se pueda usar en las aulas de los institutos a modo de explicaci\u00f3n pr\u00e1ctica del temario relacionado con las ondas de sonido<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Componentes:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sensor de ultrasonidos: usado para calcular la distancia de los obst\u00e1culos que se presentan frente a \u00e9l.<\/li>\n\n\n\n<li>Servo motor: usado para cambiar la orientaci\u00f3n del ultrasonidos.<\/li>\n\n\n\n<li>Arduino Uno: usada para conectar todos los componentes entre s\u00ed y con el c\u00f3digo.<\/li>\n\n\n\n<li>Programa de Python: usado para recibir la informaci\u00f3n de entrada desde la placa de Arduino y formatear la salida para devolverla de forma gr\u00e1fica.<\/li>\n\n\n\n<li>Botones: utilizados para mover manualmente el ultrasonidos, resetear la salida de la informaci\u00f3n o para cambiar a un modo en el que la rotaci\u00f3n se realiza de forma autom\u00e1tica.<\/li>\n\n\n\n<li>Resistencias: usadas para proteger algunos componentes.<\/li>\n\n\n\n<li>Cables<\/li>\n\n\n\n<li>Materiales para la maqueta: algunas planchas de cart\u00f3n para fijar el servo y el ultrasonidos a una posici\u00f3n, adem\u00e1s de algunos obst\u00e1culos para poder poner a prueba el funcionamiento del ultrasonidos. <\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Costes de los materiales:<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong><mark class=\"has-inline-color has-cyan-bluish-gray-color\">Componentes<\/mark><\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong><mark class=\"has-inline-color has-cyan-bluish-gray-color\">Precio<\/mark><\/strong><\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Miuzei SG 9G Micro Servo Motor<\/td><td class=\"has-text-align-center\" data-align=\"center\">5\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Sensor de Ultrasonidos<\/td><td class=\"has-text-align-center\" data-align=\"center\">1\u20ac<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Materiales de la maqueta<\/td><td class=\"has-text-align-center\" data-align=\"center\">6\u20ac<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3digo de Arduino:<\/h2>\n\n\n\n<p>En el c\u00f3digo de Arduino hemos identificado las entradas de la informaci\u00f3n tanto como para el sensor de ultrasonidos como para la pulsaci\u00f3n de los botones que hemos incorporado, adem\u00e1s de recibir la posici\u00f3n actual del servo. Tambi\u00e9n identificamos la salida de la informaci\u00f3n para el modo de funcionamiento del servo, indic\u00e1ndole si estamos en modo autom\u00e1tico o en modo manual.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;Servo.h&gt;\n\nServo myservo;  \/\/ crea el objeto servo\n\nint eco = 8;\nint desencadenador = 7;\nint limpiar=2;\nint derecha=12;\nint izquierda=4;\nint pos=90;\nbool cambiarModo=0;\nint pinModo=13;\n\nvoid setup() {\n  myservo.attach(9);  \/\/ vincula el servo al pin digital 9\n  Serial.begin(9600); \n  pinMode(derecha,INPUT);\n  pinMode(izquierda,INPUT);\n  pinMode(limpiar, INPUT); \n  pinMode(pinModo,INPUT);\n  pinMode(eco, INPUT);\n  pinMode(desencadenador, OUTPUT);\n  digitalWrite(desencadenador, LOW);\n  myservo.write(pos);\n}\n\nvoid loop() {\n  if(digitalRead(pinModo)==HIGH){\n    if(cambiarModo==1){\n      cambiarModo = 0;\n    } else {\n      cambiarModo = 1;\n      delay(100);\n    }\n  } \n  long t; \/\/timepo que demora en llegar el eco\n  float d;\/\/distancia en centimetros\n  if(digitalRead(limpiar)==HIGH) Serial.println(\"Reinicio\");\n  if(!cambiarModo){ \n    while(digitalRead(derecha)==HIGH&amp;&amp;pos&lt;180){\n      pos++;\n      digitalWrite(desencadenador, HIGH);\n      delayMicroseconds(10);          \/\/Enviamos un pulso de 10us\n      digitalWrite(desencadenador, LOW);\n      t = pulseIn(eco, HIGH); \/\/obtenemos el ancho del pulso\n      d = t\/59;             \/\/escalamos el tiempo a una distancia en cm\n    \n      \n      Serial.print(pos);\n      Serial.print(\";\");\n      Serial.println(d);\n      delay(100);   \n      myservo.write(pos);              \n      delay(15); \n    }\n    while(digitalRead(izquierda)==HIGH&amp;&amp;pos&gt;0){\n      pos--;\n      digitalWrite(desencadenador, HIGH);\n      delayMicroseconds(10);          \/\/Enviamos un pulso de 10us\n      digitalWrite(desencadenador, LOW);\n      t = pulseIn(eco, HIGH); \/\/obtenemos el ancho del pulso\n      d = t\/59;             \/\/escalamos el tiempo a una distancia en cm\n\n      Serial.print(pos);\n      Serial.print(\";\");\n      Serial.println(d);\n      delay(100);   \n      myservo.write(pos);              \n      delay(15);                       \n    }\n  }\n  else{\n    while (cambiarModo&amp;&amp;pos&lt;180) \n  {\n    pos++;\n    if(digitalRead(limpiar)==HIGH) Serial.println(\"Reinicio\");\n    digitalWrite(desencadenador, HIGH);\n    delayMicroseconds(10);          \/\/Enviamos un pulso de 10us\n    digitalWrite(desencadenador, LOW);\n    t = pulseIn(eco, HIGH); \/\/obtenemos el ancho del pulso\n    d = t\/59;             \/\/escalamos el tiempo a una distancia en cm\n  \n    \n    Serial.print(pos);\n    Serial.print(\";\");\n    Serial.println(d);\n    delay(100);   \n    myservo.write(pos);              \n    delay(15);    \n    if(digitalRead(pinModo)==HIGH){\n      cambiarModo = 0;\n      delay(100);\n      break;\n    }  \n    }\n    while (cambiarModo&amp;&amp;pos&gt;0) \n  {\n      pos--;\n      if(digitalRead(limpiar)==HIGH) Serial.println(\"Reinicio\");\n      digitalWrite(desencadenador, HIGH);\n      delayMicroseconds(10);          \/\/Enviamos un pulso de 10us\n      digitalWrite(desencadenador, LOW);\n      t = pulseIn(eco, HIGH); \/\/obtenemos el ancho del pulso\n      d = t\/59;             \/\/escalamos el tiempo a una distancia en cm\n\n      Serial.print(pos);\n      Serial.print(\";\");\n      Serial.println(d);\n      delay(100);   \n      myservo.write(pos);              \n      delay(15);  \n      if(digitalRead(pinModo)==HIGH){\n        cambiarModo = 0;\n        delay(100);\n        break;\n      }\n    }\n  }\n  \n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3digo Python:<\/h2>\n\n\n\n<p>El c\u00f3digo de Python recibe la informaci\u00f3n de que devuelve el sensor de ultrasonidos, con esto operamos esta informaci\u00f3n y la formateamos para darle una salida como si de un sonar se tratase, dibujando los c\u00edrculos conc\u00e9ntricos, y una vez mostrado el display el programa empieza a dibujar puntos a la distancia que les corresponda con respecto al centro del diagrama que consideremos que es el sonar.  En todo momento mostramos la distancia en cent\u00edmetros, el \u00e1ngulo del servo y el error de medici\u00f3n. Las diferentes librer\u00edas usadas son: Serial para la comunicaci\u00f3n con Arduino, math para realizar operaciones con los grados, pygame para dibujar el display e ir dibujando los puntos de forma m\u00e1s eficiente que la librer\u00eda Turtle y la librer\u00eda Sys que permite acceder y gestionar las variables manejadas por el int\u00e9rprete.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Importamos Librerias\nimport serial\nimport pygame\nimport math\nimport sys\nfrom pygame.locals import *\n\n# Inicializamos la ventana del Pygames\npygame.init()\npygame.display.set_caption('EchoSonar')\nanchura, altura = 800, 800\npantalla = pygame.display.set_mode((anchura, altura))\n\n# Establecemos comunicacion Serial\narduino = serial.Serial()\narduino.timeout = 1\narduino.port = 'COM5'\narduino.open()\ncolor = (255, 255, 255) \npuntos = &#091;]\n\n\n# Definir las funciones de conversion\ndef conversion(x, y):\n    x, y = int(x), int(y)\n    n_x = x + anchura \/\/ 2\n    n_y = altura \/\/ 2 - y\n    return (&#091;n_x, n_y])\n\n\ndef grados_a_radianes(angulo):\n    x = (angulo * 3.14) \/ 180\n    return (x)\n\n\n# Funci\u00f3n de dibujado de lineas y puntos\n\ndef anadir(angulo, distancia):\n    global puntos\n    distancia *= 10\n    angulo = grados_a_radianes(angulo)\n    x, y = math.cos(angulo) * distancia, math.sin(angulo) * distancia\n    pos = conversion(x, y)\n    puntos.append(pos)\n\n\ndef dibujar_puntos(puntos, pantalla=pantalla):\n    for p in puntos:\n        pygame.draw.circle(pantalla, color, p, 2)\n\n\ndef dibujar_circulos(pantalla=pantalla):\n    radio = 80\n    for x in range(1, anchura \/\/ 2):\n        n_radio = ((x \/\/ radio) + 1) * radio\n        pygame.draw.circle(pantalla, color, (anchura \/\/ 2, altura \/\/ 2), n_radio, 2)\n\n\ndef dibujar_linea(angulo, pantalla=pantalla):\n    a = math.tan(grados_a_radianes(angulo))\n    y = altura \/\/ 2\n    if a == 0:\n        y = 0\n        if angulo == 0:\n            x = anchura \/ 2\n        elif angulo == 180:\n            x = -anchura \/ 2\n    else:\n        x = y \/\/ a\n    pos = conversion(x, y)\n    pygame.draw.line(pantalla, color, (anchura \/ 2, altura \/ 2), pos, 2)\n\n\n\ndef escribir_texto(pantalla, texto, tamanio_texto):\n    fontObj = pygame.font.Font('freesansbold.ttf', tamanio_texto)\n    textoSurface = fontObj.render(texto, True, (255, 255, 255))\n    pantalla.blit(textoSurface, (0, 0))\n\n\n\n\nwhile True:\n    pantalla.fill((0, 0, 0))\n    dibujar_circulos(pantalla)\n    entrada = arduino.readline()\n    entrada = entrada.decode()\n    print(entrada);\n    if (\"Reinicio\" in entrada):\n        puntos = &#091;]\n        pygame.display.update()\n        continue\n    entrada = entrada&#091;:len(entrada) - 2]\n    entrada = entrada.split(\";\")\n    if len(entrada) != 2 or (\"\" in entrada):\n        angulo_dist=False\n    else: angulo_dist = entrada\n    if angulo_dist == False: continue\n    angulo, dist = float(angulo_dist&#091;0]), float(angulo_dist&#091;1])*0.75\n    dibujar_linea(angulo)\n    anadir(angulo, dist)\n    dibujar_puntos(puntos)\n    escribir_texto(pantalla, \"\u00c1ngulo = \" + str(angulo) + \", Distancia = \" + str(dist) + \", Error = +- \" + str(dist * 0.05) + \"%\",\n              20)\n    for evento in pygame.event.get():\n        if evento.type == QUIT:\n            pygame.quit()\n            sys.exit()\n    pygame.display.update()\n\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Foto del display de Python:<\/h2>\n\n\n\n<p>Aqu\u00ed se muestra un ejemplo de la ventana que se abre al ejecutar el programa de Python y tener en marcha el circuito de Arduino.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"863\" height=\"887\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-40.png\" alt=\"\" class=\"wp-image-8282\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-40.png 863w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-40-292x300.png 292w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-40-768x789.png 768w\" sizes=\"auto, (max-width: 863px) 100vw, 863px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Fotos del proyecto:<\/h2>\n\n\n\n<p>Aqu\u00ed podemos ver el diagrama de estados asociado al prototipo que hemos realizado:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"453\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-34-1024x453.png\" alt=\"\" class=\"wp-image-8276\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-34-1024x453.png 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-34-300x133.png 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-34-768x340.png 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-34-1536x680.png 1536w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-34.png 1862w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>En las siguientes im\u00e1genes podemos ver las conexiones de los cables con las entradas de los dispositivos y con los pines de la placa de Arduino, tambi\u00e9n podemos ver el apartado de los botones que utiliza unas resistencias de 10K\u03a9:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"577\" height=\"769\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-36.png\" alt=\"\" class=\"wp-image-8278\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-36.png 577w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-36-225x300.png 225w\" sizes=\"auto, (max-width: 577px) 100vw, 577px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"635\" height=\"769\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-37.png\" alt=\"\" class=\"wp-image-8279\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-37.png 635w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-37-248x300.png 248w\" sizes=\"auto, (max-width: 635px) 100vw, 635px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-38-1024x768.png\" alt=\"\" class=\"wp-image-8280\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-38-1024x768.png 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-38-300x225.png 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-38-768x576.png 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-38.png 1026w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"971\" height=\"728\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-39.png\" alt=\"\" class=\"wp-image-8281\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-39.png 971w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-39-300x225.png 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/04\/image-39-768x576.png 768w\" sizes=\"auto, (max-width: 971px) 100vw, 971px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Problemas:<\/h2>\n\n\n\n<p>-Cambio de modo: Hemos tenido problemas para hacer funcionar los modos de funcionamiento del motor ya que una vez entraba en modo autom\u00e1tico no consegu\u00edamos hacerle salir del bucle de funcionamiento sin recargar el c\u00f3digo. Conforme fuimos arreglando el c\u00f3digo conseguimos que esto funcionase correctamente.<\/p>\n\n\n\n<p>-Fallos en el funcionamiento del ultrasonidos: inicialmente cuando estuvimos probando el funcionamiento de los distintos componentes que \u00edbamos a utilizar en el proyecto el sonar devolv\u00eda valores extra\u00f1os y pensamos que quiz\u00e1s ten\u00eda que ver con el lugar en el que tom\u00e1bamos las mediciones pero cuando comprobamos que era problema del sensor decidimos conseguir uno nuevo para poder avanzar en el proyecto.<\/p>\n\n\n\n<p>-Librer\u00eda Turtle: en una primera versi\u00f3n de nuestro display intentamos usar la librer\u00eda Turtle pues ya la hab\u00edamos utilizado anteriormente en otras pr\u00e1ctica de la asignatura de Dise\u00f1o y An\u00e1lisis de Algoritmos, esta pese a hacer su funci\u00f3n de dibujar ten\u00eda un tiempo de retardo demasiado grande lo que provocaba perdidas de datos demasiado graves y no se acababa de dibujar correctamente la informaci\u00f3n en pantalla. En su lugar hemos utilizado la librer\u00eda PyGame.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">V\u00eddeo explicativo:<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"video-container\"><iframe loading=\"lazy\" title=\"Proyecto Echosonnar - Grupo 3\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/V6uI6yeEIhg?feature=oembed&#038;wmode=opaque\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Grupo 3 Integrantes: Introducci\u00f3n: Nuestro proyecto EchoSonnar nace del inter\u00e9s de querer entender el funcionamiento sistemas de navegaci\u00f3n que se basan en los ultrasonidos como el sistema de un submarino o como la forma&#46;&#46;&#46;<\/p>\n","protected":false},"author":228,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-8241","post","type-post","status-publish","format-standard","hentry","category-proyectos"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>EchoSonnar - 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\/echosonnar\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"EchoSonnar - Proyectos con Arduino.\" \/>\n<meta property=\"og:description\" content=\"Grupo 3 Integrantes: Introducci\u00f3n: Nuestro proyecto EchoSonnar nace del inter\u00e9s de querer entender el funcionamiento sistemas de navegaci\u00f3n que se basan en los ultrasonidos como el sistema de un submarino o como la forma&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/echosonnar\/\" \/>\n<meta property=\"og:site_name\" content=\"Proyectos con Arduino.\" \/>\n<meta property=\"article:published_time\" content=\"2024-05-06T19:12:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-06T19:12:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/lh7-us.googleusercontent.com\/lGG_IJ1uvgsBokyqOmnSRikmccDoJkZD_qWiJEX7Pezvx8-BLl8lBkZnx9Lh9w4ClNciujd49nC2JF2g8kwxyU1rZt7xLnFc4AK5aY8RGdnDOm-U8bVOxChP-Csdac-iZvg2Yrh4tO9lMcGUXhmdV58\" \/>\n<meta name=\"author\" content=\"dsema2324g03\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"dsema2324g03\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 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\\\/echosonnar\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/echosonnar\\\/\"},\"author\":{\"name\":\"dsema2324g03\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/person\\\/e72d5cd306b1980e8571ac662c0076a6\"},\"headline\":\"EchoSonnar\",\"datePublished\":\"2024-05-06T19:12:45+00:00\",\"dateModified\":\"2024-05-06T19:12:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/echosonnar\\\/\"},\"wordCount\":832,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/echosonnar\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/lh7-us.googleusercontent.com\\\/lGG_IJ1uvgsBokyqOmnSRikmccDoJkZD_qWiJEX7Pezvx8-BLl8lBkZnx9Lh9w4ClNciujd49nC2JF2g8kwxyU1rZt7xLnFc4AK5aY8RGdnDOm-U8bVOxChP-Csdac-iZvg2Yrh4tO9lMcGUXhmdV58\",\"articleSection\":[\"Proyectos\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/echosonnar\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/echosonnar\\\/\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/echosonnar\\\/\",\"name\":\"EchoSonnar - Proyectos con Arduino.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/echosonnar\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/echosonnar\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/lh7-us.googleusercontent.com\\\/lGG_IJ1uvgsBokyqOmnSRikmccDoJkZD_qWiJEX7Pezvx8-BLl8lBkZnx9Lh9w4ClNciujd49nC2JF2g8kwxyU1rZt7xLnFc4AK5aY8RGdnDOm-U8bVOxChP-Csdac-iZvg2Yrh4tO9lMcGUXhmdV58\",\"datePublished\":\"2024-05-06T19:12:45+00:00\",\"dateModified\":\"2024-05-06T19:12:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/echosonnar\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/echosonnar\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/echosonnar\\\/#primaryimage\",\"url\":\"https:\\\/\\\/lh7-us.googleusercontent.com\\\/lGG_IJ1uvgsBokyqOmnSRikmccDoJkZD_qWiJEX7Pezvx8-BLl8lBkZnx9Lh9w4ClNciujd49nC2JF2g8kwxyU1rZt7xLnFc4AK5aY8RGdnDOm-U8bVOxChP-Csdac-iZvg2Yrh4tO9lMcGUXhmdV58\",\"contentUrl\":\"https:\\\/\\\/lh7-us.googleusercontent.com\\\/lGG_IJ1uvgsBokyqOmnSRikmccDoJkZD_qWiJEX7Pezvx8-BLl8lBkZnx9Lh9w4ClNciujd49nC2JF2g8kwxyU1rZt7xLnFc4AK5aY8RGdnDOm-U8bVOxChP-Csdac-iZvg2Yrh4tO9lMcGUXhmdV58\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/echosonnar\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"EchoSonnar\"}]},{\"@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\\\/e72d5cd306b1980e8571ac662c0076a6\",\"name\":\"dsema2324g03\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f91f9ce5659b82f7c10ceb1ffd2de55c3fe6bd3f1162e2781feb6fb088a03c2d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f91f9ce5659b82f7c10ceb1ffd2de55c3fe6bd3f1162e2781feb6fb088a03c2d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f91f9ce5659b82f7c10ceb1ffd2de55c3fe6bd3f1162e2781feb6fb088a03c2d?s=96&d=mm&r=g\",\"caption\":\"dsema2324g03\"},\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/author\\\/dsema2324g03\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"EchoSonnar - 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\/echosonnar\/","og_locale":"es_ES","og_type":"article","og_title":"EchoSonnar - Proyectos con Arduino.","og_description":"Grupo 3 Integrantes: Introducci\u00f3n: Nuestro proyecto EchoSonnar nace del inter\u00e9s de querer entender el funcionamiento sistemas de navegaci\u00f3n que se basan en los ultrasonidos como el sistema de un submarino o como la forma&#46;&#46;&#46;","og_url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/echosonnar\/","og_site_name":"Proyectos con Arduino.","article_published_time":"2024-05-06T19:12:45+00:00","article_modified_time":"2024-05-06T19:12:48+00:00","og_image":[{"url":"https:\/\/lh7-us.googleusercontent.com\/lGG_IJ1uvgsBokyqOmnSRikmccDoJkZD_qWiJEX7Pezvx8-BLl8lBkZnx9Lh9w4ClNciujd49nC2JF2g8kwxyU1rZt7xLnFc4AK5aY8RGdnDOm-U8bVOxChP-Csdac-iZvg2Yrh4tO9lMcGUXhmdV58","type":"","width":"","height":""}],"author":"dsema2324g03","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"dsema2324g03","Tiempo de lectura":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/echosonnar\/#article","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/echosonnar\/"},"author":{"name":"dsema2324g03","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/person\/e72d5cd306b1980e8571ac662c0076a6"},"headline":"EchoSonnar","datePublished":"2024-05-06T19:12:45+00:00","dateModified":"2024-05-06T19:12:48+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/echosonnar\/"},"wordCount":832,"commentCount":0,"publisher":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/echosonnar\/#primaryimage"},"thumbnailUrl":"https:\/\/lh7-us.googleusercontent.com\/lGG_IJ1uvgsBokyqOmnSRikmccDoJkZD_qWiJEX7Pezvx8-BLl8lBkZnx9Lh9w4ClNciujd49nC2JF2g8kwxyU1rZt7xLnFc4AK5aY8RGdnDOm-U8bVOxChP-Csdac-iZvg2Yrh4tO9lMcGUXhmdV58","articleSection":["Proyectos"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/echosonnar\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/echosonnar\/","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/echosonnar\/","name":"EchoSonnar - Proyectos con Arduino.","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/echosonnar\/#primaryimage"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/echosonnar\/#primaryimage"},"thumbnailUrl":"https:\/\/lh7-us.googleusercontent.com\/lGG_IJ1uvgsBokyqOmnSRikmccDoJkZD_qWiJEX7Pezvx8-BLl8lBkZnx9Lh9w4ClNciujd49nC2JF2g8kwxyU1rZt7xLnFc4AK5aY8RGdnDOm-U8bVOxChP-Csdac-iZvg2Yrh4tO9lMcGUXhmdV58","datePublished":"2024-05-06T19:12:45+00:00","dateModified":"2024-05-06T19:12:48+00:00","breadcrumb":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/echosonnar\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/echosonnar\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/echosonnar\/#primaryimage","url":"https:\/\/lh7-us.googleusercontent.com\/lGG_IJ1uvgsBokyqOmnSRikmccDoJkZD_qWiJEX7Pezvx8-BLl8lBkZnx9Lh9w4ClNciujd49nC2JF2g8kwxyU1rZt7xLnFc4AK5aY8RGdnDOm-U8bVOxChP-Csdac-iZvg2Yrh4tO9lMcGUXhmdV58","contentUrl":"https:\/\/lh7-us.googleusercontent.com\/lGG_IJ1uvgsBokyqOmnSRikmccDoJkZD_qWiJEX7Pezvx8-BLl8lBkZnx9Lh9w4ClNciujd49nC2JF2g8kwxyU1rZt7xLnFc4AK5aY8RGdnDOm-U8bVOxChP-Csdac-iZvg2Yrh4tO9lMcGUXhmdV58"},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/echosonnar\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blogs.etsii.urjc.es\/dseytr\/"},{"@type":"ListItem","position":2,"name":"EchoSonnar"}]},{"@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\/e72d5cd306b1980e8571ac662c0076a6","name":"dsema2324g03","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/f91f9ce5659b82f7c10ceb1ffd2de55c3fe6bd3f1162e2781feb6fb088a03c2d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f91f9ce5659b82f7c10ceb1ffd2de55c3fe6bd3f1162e2781feb6fb088a03c2d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f91f9ce5659b82f7c10ceb1ffd2de55c3fe6bd3f1162e2781feb6fb088a03c2d?s=96&d=mm&r=g","caption":"dsema2324g03"},"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/author\/dsema2324g03\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/8241","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\/228"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/comments?post=8241"}],"version-history":[{"count":5,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/8241\/revisions"}],"predecessor-version":[{"id":8871,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/8241\/revisions\/8871"}],"wp:attachment":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media?parent=8241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/categories?post=8241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/tags?post=8241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}