{"id":10492,"date":"2026-05-08T13:27:36","date_gmt":"2026-05-08T11:27:36","guid":{"rendered":"https:\/\/blogs.etsii.urjc.es\/dseytr\/?p=10492"},"modified":"2026-05-08T13:38:06","modified_gmt":"2026-05-08T11:38:06","slug":"sistema-de-sonar-maritimo","status":"publish","type":"post","link":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-sonar-maritimo\/","title":{"rendered":"Sistema de sonar mar\u00edtimo"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Implementaci\u00f3n<\/h2>\n\n\n\n<p>El hardware de nuestro sistema de sonar mar\u00edtimo consta principalmente de los siguientes componentes:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Sensor HC-SR04: sensor de ultrasonido que emite ondas para medir la distancia a objetos mediante el eco.<\/li>\n\n\n\n<li>Buzzer: genera una alarma sonora que cambia de velocidad seg\u00fan la distancia a la que se encuentra el objeto.<\/li>\n\n\n\n<li>Servomotor SG90: hace que el sensor pueda girar para realizar el barrido del radar en diferentes \u00e1ngulos.<\/li>\n\n\n\n<li>Arduino Uno: procesa el c\u00f3digo y lee las se\u00f1ales del sensor y da ordenes al servomotor y al zumbador.<\/li>\n\n\n\n<li>Pila de 9V: proporciona energ\u00eda extra para que el motor no reinicie la placa Arduino al moverse.<\/li>\n\n\n\n<li>Cables puente y Dupont: se realizan las conexiones entre los componentes.<\/li>\n\n\n\n<li>Protoboard: conectamos todos los componentes, sirve de puente entre ellos y el Arduino.<\/li>\n<\/ol>\n\n\n\n<p>Para realizar nuestro sonar hemos realizados las siguientes conexiones:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Alimentaci\u00f3n principal\n<ul class=\"wp-block-list\">\n<li>Linea positiva (+): pin 5v del Arduino<\/li>\n\n\n\n<li>Linea negativa (-): pin GND del Arduino<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Sensor HC-SR04\n<ul class=\"wp-block-list\">\n<li>TRIG: Pin digital 10 del Arduino<\/li>\n\n\n\n<li>Echo: Pin digital 11 del Arduino<\/li>\n\n\n\n<li>VCC: l\u00ednea roja (+) de la protoboard<\/li>\n\n\n\n<li>GND: l\u00ednea azul (-) de la protoboard<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Servomotor SG90\n<ul class=\"wp-block-list\">\n<li>Cable amarillo: Pin digital 9 del Arduino<\/li>\n\n\n\n<li>Cable marr\u00f3n: l\u00ednea azul (-) de la protoboard<\/li>\n\n\n\n<li>Cable rojo: l\u00ednea roja (+) de la protoboard<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Buzzer\n<ul class=\"wp-block-list\">\n<li>Pata larga: Pin digital 8 del Arduino<\/li>\n\n\n\n<li>Pata corta: l\u00ednea azul (-) de la protoboard<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"764\" height=\"430\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-2.jpeg\" alt=\"\" class=\"wp-image-10494\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-2.jpeg 764w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-2-300x169.jpeg 300w\" sizes=\"auto, (max-width: 764px) 100vw, 764px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pasos dados<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Idea inicial<\/li>\n<\/ul>\n\n\n\n<p>La idea pas\u00f3 de un sensor est\u00e1tico que captaba el movimiento a un sistema din\u00e1mico de barrido &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; angular para detectar obst\u00e1culos en un radio de 180\u00ba. Por el camino, pensamos en la &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; implementaci\u00f3n de un detector de fuego, pero fue r\u00e1pidamente removido.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Selecci\u00f3n de materiales<\/li>\n<\/ul>\n\n\n\n<p>Nos dimos cuenta de que no dispon\u00edamos de un motor lo suficientemente estable para realizar &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nuestro proyecto, por lo que tuvimos que comprar un servomotor.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hardware y c\u00f3digo<\/li>\n<\/ul>\n\n\n\n<p>Conforme fuimos conectando el hardware, tambi\u00e9n utilizamos c\u00f3digos de prueba para comprobar que &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cada uno de los componentes funcionaba por separado y juntos cuando se empezaban a conectar todos. No encontramos ning\u00fan problema con los cables, no hab\u00eda ninguno defectuoso.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Problemas de potencia<\/li>\n<\/ul>\n\n\n\n<p>Como se explicar\u00e1 m\u00e1s en detalle m\u00e1s adelante, el servomotor utilizaba m\u00e1s potencia de la que &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prestaba el Arduino, por lo que a\u00f1adimos una pila de 9V.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Processing<\/li>\n<\/ul>\n\n\n\n<p>Para darle un toque m\u00e1s profesional a nuestro proyecto, desarrollamos mediante la aplicaci\u00f3n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Processing un sonar que utilizaba las se\u00f1ales que le mandaban los pines en la placa de Arduino para &nbsp; pintarlo de una manera m\u00e1s representativa en la pantalla.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Maquetaci\u00f3n e integraci\u00f3n<\/li>\n<\/ul>\n\n\n\n<p>Para a\u00f1adirle algo de decoraci\u00f3n y complejidad, construimos una maqueta de un barco que &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; completara nuestro proyecto y simulara c\u00f3mo funcionar\u00eda en una situaci\u00f3n real.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"724\" height=\"409\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-3.jpeg\" alt=\"\" class=\"wp-image-10495\" style=\"aspect-ratio:1.770204245094113;width:691px;height:auto\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-3.jpeg 724w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-3-300x169.jpeg 300w\" sizes=\"auto, (max-width: 724px) 100vw, 724px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Reparto de tareas<\/h2>\n\n\n\n<p>El reparto de tareas ha sido pr\u00e1cticamente equitativo entre todos los integrantes del grupo, aunque cada uno se ha implicado m\u00e1s en un aspecto distinto.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"908\" height=\"545\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image.jpg\" alt=\"\" class=\"wp-image-10496\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image.jpg 908w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-300x180.jpg 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-768x461.jpg 768w\" sizes=\"auto, (max-width: 908px) 100vw, 908px\" \/><\/figure>\n\n\n\n<p>\u00c1lvaro ha participado en un mayor porcentaje en el hardware, aunque tambi\u00e9n ha estado implicado en las otras tareas. Lo mismo para Mark, participando algo m\u00e1s en la programaci\u00f3n del c\u00f3digo y Leonardo con el montaje del proyecto.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Costes de los materiales<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Concepto \/ Componente<\/strong><\/td><td><strong>Cantidad<\/strong><\/td><td><strong>Coste Real (\u20ac)<\/strong><\/td><td><strong>Procedencia \/ Notas<\/strong><\/td><\/tr><\/thead><tbody><tr><td>Pila de 9V<\/td><td>1<\/td><td>3.49 \u20ac<\/td><td>Adquirido por el alumno (Mejora de alimentaci\u00f3n).<\/td><\/tr><tr><td>Servomotor SG90<\/td><td>1<\/td><td>4.00 \u20ac<\/td><td>Adquirido por el alumno (<em>Nota: Se compr\u00f3 un pack de 2 uds. por 8.00 \u20ac, imputando la mitad al prototipo<\/em>).<\/td><\/tr><tr><td>Placa Arduino Uno R3<\/td><td>1<\/td><td>0.00 \u20ac<\/td><td>Proporcionado por la Universidad (Starter Kit).<\/td><\/tr><tr><td>Sensor Ultras\u00f3nico HC-SR04<\/td><td>1<\/td><td>0.00 \u20ac<\/td><td>Proporcionado por la Universidad (Starter Kit).<\/td><\/tr><tr><td>Zumbador (Buzzer activo)<\/td><td>1<\/td><td>0.00 \u20ac<\/td><td>Proporcionado por la Universidad (Starter Kit).<\/td><\/tr><tr><td>Protoboard y Cables Dupont<\/td><td>1 set<\/td><td>0.00 \u20ac<\/td><td>Proporcionado por la Universidad (Starter Kit).<\/td><\/tr><tr><td>Chasis (Cart\u00f3n) y Adhesivos<\/td><td>1<\/td><td>0.00 \u20ac<\/td><td>Material reciclado y fungible propio.<\/td><\/tr><tr><td><strong>COSTE TOTAL DEL PROTOTIPO<\/strong><\/td><td><\/td><td><strong>7.49 \u20ac<\/strong><\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Problemas y soluciones encontradas<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Problemas de voltaje y alimentaci\u00f3n<\/li>\n<\/ul>\n\n\n\n<p>Al alimentar el circuito solo con el USB al Arduino, el servomotor provocaba picos de corriente que causaban que nuestra placa se reiniciara y hac\u00eda que el ordenador desconectara el puerto por seguridad.<\/p>\n\n\n\n<p>Para solucionarlo, conectamos una pila de 9V a la placa. Con ella, la placa pudo suministrar corriente a los elementos de nuestro circuito, evitando as\u00ed los reinicios.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Step Motor<\/li>\n<\/ul>\n\n\n\n<p>El motor proporcionado en el kit no era lo suficientemente correcto para poder tener todo el \u00e1ngulo que deb\u00eda hacer nuestro sensor. Adem\u00e1s, su superficie de contacto no era la necesaria para poder pegarlo.<\/p>\n\n\n\n<p>La soluci\u00f3n que encontramos fue la compra de un Servomotor SG90 que permite una mejora en el control preciso de la posici\u00f3n angular y mejorando as\u00ed la superficie para pegar nuestro sensor.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a>P<\/a>roblemas y evoluci\u00f3n del c\u00f3digo<\/li>\n<\/ul>\n\n\n\n<p>Inicialmente, el c\u00f3digo usaba la funci\u00f3n delay() para mover el servomotor y esperar el eco del sensor. Esto \u00abcongelaba\u00bb el procesador, impidiendo que el buzzer pitara correctamente mientras el motor giraba.<\/p>\n\n\n\n<p>Lo que hicimos fue reescribir el c\u00f3digo y utilizarla funci\u00f3n millis() con la que el procesador comprueba el tiempo transcurrido y decide si debe mover el motor, medir la distancia o activar el sonido del buzzer de forma independiente.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Casos de uso<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Escaneo de zona despejada<\/li>\n<\/ul>\n\n\n\n<p>El radar escanea los alrededores de la proa del barco, para asi asegurarse de que la ruta est\u00e1 libre de obst\u00e1culos, a la vez el servomotor realiza desde 15\u00ba hasta 165\u00ba de barrido continuo y fluido, el sensor HR-SRC04 es quien se encarga de medir las distancias constantemente, si no detecta objetos a menos de 40cm el sistema se mantiene en silencio. Como resultado la pantalla del ordenador (<em>Processing<\/em>), se puede visualizar como la l\u00ednea verde se mueve sin ninguna alerta visual<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Detecci\u00f3n temprana de obst\u00e1culos<\/li>\n<\/ul>\n\n\n\n<p>Un objeto entra en el rango de detecci\u00f3n del HR-SRC04 (3-40cm) simulando as\u00ed un riesgo de colisi\u00f3n<\/p>\n\n\n\n<p>El sensor detecta la distancia exacta del objeto, a continuaci\u00f3n, el Arduino env\u00eda los datos, en este caso \u00e1ngulo y distancia por el puerto serie. Al detectar el objeto, el zumbador entonces emite un sonido espaciado, a menor distancia, el sonido se escucha con menor espaciado.<\/p>\n\n\n\n<p>Con los datos recibidos del Arduino, el software <em>Processing<\/em> dibuja un punto rojo en las coordenadas exactas de la pantalla, as\u00ed alertando visualmente. Tambi\u00e9n indica a la distancia a la que se encuentra dicho objeto<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Alarma cr\u00edtica de colisi\u00f3n inminente<\/li>\n<\/ul>\n\n\n\n<p>Se detecta que un objeto se acerca peligrosamente al barco, el sensor detecta que la distancia disminuye dr\u00e1sticamente, gracias al <em>millis()<\/em>, el Arduino calcula un intervalo de espera m\u00e1s corto, en consecuencia, el zumbador aumenta la frecuencia de los pitidos (suena m\u00e1s r\u00e1pido), el radar sigue girando sin congelarse, por lo tanto, la posici\u00f3n en la pantalla se va actualizando constantemente (punto rojo).<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>El proyecto implementa lo que se llama <em>Sistema Embebido de Bucle Cerrado y Multitare<\/em>, esto permite que los Casos de Uso 2 y 3 (pitar y moverse) ocurran simult\u00e1neamente sin que el motor se atasque<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3digo<\/h2>\n\n\n\n<p>Se ha decidido explicar el c\u00f3digo con comentarios.<\/p>\n\n\n\n<p>Arduino:<\/p>\n\n\n\n<p>#include &lt;Servo.h&gt; \/\/ Librer\u00eda para usar las funciones del Servomotor<\/p>\n\n\n\n<p>\/\/ Configuraci\u00f3n de pines digitales del buzzer, servo y las patillas trigger y echo del sensor ultrasonido<\/p>\n\n\n\n<p>const int buzzerPin = 8;<\/p>\n\n\n\n<p>const int servoPin = 9;<\/p>\n\n\n\n<p>const int trigPin = 10;<\/p>\n\n\n\n<p>const int echoPin = 11;<\/p>\n\n\n\n<p>Servo myServo; \/\/ Objeto tipo Servo que hace referencia al Servomotor<\/p>\n\n\n\n<p>int angle = 15; \/\/ \u00c1ngulo al que se mover\u00e1 el servo<\/p>\n\n\n\n<p>int direction = 1; \/\/ Direcci\u00f3n del servo<\/p>\n\n\n\n<p>int distance; \/\/ Distancia desde el sensor hasta un objeto<\/p>\n\n\n\n<p>long duration; \/\/ Duraci\u00f3n del pulso del sensor para poder calcular la distancia<\/p>\n\n\n\n<p>unsigned long previousMillisServo = 0; \/\/ \u00daltima vez que se us\u00f3 el servo<\/p>\n\n\n\n<p>unsigned long previousMillisBuzzer = 0; \/\/ \u00daltima vez que se us\u00f3 el buzzer<\/p>\n\n\n\n<p>const int servoInterval = 30; \/\/ Tiempo de intervalos de uso del servo<\/p>\n\n\n\n<p>void setup() {<\/p>\n\n\n\n<p>&nbsp; pinMode(trigPin, OUTPUT); \/\/ Trig del sensor como salida<\/p>\n\n\n\n<p>&nbsp; pinMode(echoPin, INPUT); \/\/ Echo del sensor como entrada<\/p>\n\n\n\n<p>&nbsp; pinMode(buzzerPin, OUTPUT); \/\/ Buzzer como salida<\/p>\n\n\n\n<p>&nbsp; Serial.begin(9600); \/\/ Iniciamos comunicaci\u00f3n con el ordenador<\/p>\n\n\n\n<p>&nbsp; myServo.attach(servoPin); \/\/ Le decimos al objeto donde est\u00e1 el pin f\u00edsico del servo<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>\/\/ Bucle infinito<\/p>\n\n\n\n<p>void loop() {<\/p>\n\n\n\n<p>&nbsp; unsigned long currentMillis = millis(); \/\/ Obtener el tiempo actual desde que se encendi\u00f3 el arduino<\/p>\n\n\n\n<p>\/\/ Entramos al if si ha pasado suficiente tiempo desde el \u00faltimo uao del servo<\/p>\n\n\n\n<p>&nbsp; if (currentMillis &#8211; previousMillisServo &gt;= servoInterval) {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; previousMillisServo = currentMillis; \/\/ Actualizamos \u00faltima vez<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; myServo.write(angle); \/\/ Ordenar al servo a qu\u00e9 \u00e1ngulo ir<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; distance = calculateDistance(); \/\/ Calcular distancia<\/p>\n\n\n\n<p>\/\/ Imprimos el \u00e1ngulo y la distancia con ese formato<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; Serial.print(angle);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; Serial.print(\u00ab,\u00bb);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; Serial.print(distance);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; Serial.print(\u00ab.\u00bb);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; angle += direction; \/\/ Actualizamos el siguiente \u00e1ngulo<\/p>\n\n\n\n<p>\/\/ Si el \u00e1ngulo sobrepasa esos l\u00edmites cambiamos la direcci\u00f3n para que no choque con nuestro modelo f\u00edsico<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; if (angle &gt;= 165 || angle &lt;= 15) {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; direction *= -1;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; }<\/p>\n\n\n\n<p>&nbsp; }<\/p>\n\n\n\n<p>&nbsp; gestionarAlarma(distance); \/\/ Si se detecta un objeto el buzzer suena<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>int calculateDistance() {<\/p>\n\n\n\n<p>&nbsp; digitalWrite(trigPin, LOW); \/\/ Comprobar que trig est\u00e1 apagado<\/p>\n\n\n\n<p>&nbsp; delayMicroseconds(5);&nbsp; \/\/ Tiempo de estabilizaci\u00f3n<\/p>\n\n\n\n<p>&nbsp; digitalWrite(trigPin, HIGH); \/\/ Encender trig para mandar un pulso untras\u00f3nido<\/p>\n\n\n\n<p>&nbsp; delayMicroseconds(10); \/\/ Especificaci\u00f3n del componente del tiempo de espera para que el Trigger considere la orden<\/p>\n\n\n\n<p>&nbsp; digitalWrite(trigPin, LOW); \/\/ Apagar trig<\/p>\n\n\n\n<p>&nbsp; duration = pulseIn(echoPin, HIGH); \/\/ Fumcion que devuelve el tiempo que ha durado el pulso<\/p>\n\n\n\n<p>&nbsp; distance = (duration \/ 2) \/ 29.1; \/\/ Dividimos entre 2 porque el pulso va y vuelve, 29.1 es la constante microsegundos por cent\u00edmetro<\/p>\n\n\n\n<p>&nbsp; return distance; \/\/ Devolver la distancia<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>void gestionarAlarma(int dist) {<\/p>\n\n\n\n<p>\/\/ Comprobar que detectamos un objeto en ese rango, fuera de ese rango el sensor HC-SR04 suele fallar<\/p>\n\n\n\n<p>&nbsp; if (dist &gt; 3 &amp;&amp; dist &lt;= 40) {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; int intervaloEspera = map(dist, 3, 40, 100, 800); \/\/ Convertir la distancia entre el intervalo de cada tono del buzzer (a menor distancia m\u00e1s r\u00e1pido suena)<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; unsigned long currentMillis = millis();<\/p>\n\n\n\n<p>\/\/ Si ha pasado suficiente tiempo desde la \u00faltima vez que se us\u00f3 el buzzer mandamos un tono<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; if (currentMillis &#8211; previousMillisBuzzer &gt;= intervaloEspera) {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; previousMillisBuzzer = currentMillis; \/\/ Actualizar \u00faltima vez<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tone(buzzerPin, 1500, 60);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; }<\/p>\n\n\n\n<p>&nbsp; }<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>Processing:<\/p>\n\n\n\n<p>Import processing.serial.*; \/\/ Librer\u00eda para poder comunicarse con puertos usb<\/p>\n\n\n\n<p>Serial miPuerto; \/\/ Objeto tipo Serial que controlar\u00e1 la comunicaci\u00f3n<\/p>\n\n\n\n<p>String datos = \u201c\u201d; \/\/ String para guardar los datos recibidos<\/p>\n\n\n\n<p>Int angulo = 0; \/\/ \u00c1ngulo del objeto f\u00edsico<\/p>\n\n\n\n<p>Int distancia = 0; \/\/ Distancia hacia el objeto f\u00edsico<\/p>\n\n\n\n<p>Void setup() {<\/p>\n\n\n\n<p>&nbsp; Size(800, 500); \/\/ Definir tama\u00f1o de la pantalla en p\u00edxeles<\/p>\n\n\n\n<p>&nbsp; Smooth(); \/\/ Para que las l\u00edneas no se vean pixeladas<\/p>\n\n\n\n<p>&nbsp; String nombrePuerto = \u201cCOM3\u201d;&nbsp; \/\/ Nombre del puerto Windows por el que nos comunicaremos<\/p>\n\n\n\n<p>&nbsp; miPuerto = new Serial(this, nombrePuerto, 9600); \/\/ Inicializaci\u00f3n del Serial con 9600 baudios como en el c\u00f3digo arduino<\/p>\n\n\n\n<p>&nbsp; miPuerto.bufferUntil(\u2018.\u2019);&nbsp; \/\/&nbsp; Leer los datos entrantes hasta encontrar un \u2018.\u2019<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>\/\/ Funci\u00f3n principal de animaci\u00f3n, se ejecuta continuamente<\/p>\n\n\n\n<p>Void draw() {<\/p>\n\n\n\n<p>&nbsp; Fill(0, 15); \/\/ Rellenar con color negro y 15 de opacidad<\/p>\n\n\n\n<p>&nbsp; noStroke(); \/\/ Sin bordes<\/p>\n\n\n\n<p>&nbsp; rect(0, 0, width, height);&nbsp; \/\/ Dibuja un rect\u00e1ngulo en toda la pantalla<\/p>\n\n\n\n<p>&nbsp; pushMatrix(); \/\/ guarda el sistema de coordenadas actuales<\/p>\n\n\n\n<p>&nbsp; translate(400, 450); \/\/ Cambiamos el origen del sistema de coordenadas. Estaba en (0,0)<\/p>\n\n\n\n<p>&nbsp; noFill(); \/\/ Sin rellenar<\/p>\n\n\n\n<p>&nbsp; strokeWeight(2); \/\/ Bordes con grosor de 2cm<\/p>\n\n\n\n<p>&nbsp; stroke(0, 255, 0); \/\/ Color verde<\/p>\n\n\n\n<p>\/\/ Dibujar dos&nbsp; semic\u00edrculos t\u00edpicos de un radar<\/p>\n\n\n\n<p>&nbsp; arc(0, 0, 700, 700, PI, TWO_PI);<\/p>\n\n\n\n<p>&nbsp; arc(0, 0, 400, 400, PI, TWO_PI);<\/p>\n\n\n\n<p>&nbsp; float rad = radians(angulo); \/\/ Convertimos el \u00e1ngulo recibido a radianes<\/p>\n\n\n\n<p>&nbsp; stroke(0, 255, 0);<\/p>\n\n\n\n<p>&nbsp; line(0, 0, 350 * cos(rad), -350 * sin(rad)); \/\/ Dibujar l\u00ednea que recorra el \u00e1ngulo actual<\/p>\n\n\n\n<p>\/\/ Si detectamos un objeto entre esa distancia:<\/p>\n\n\n\n<p>&nbsp; if (distancia &lt; 40 &amp;&amp; distancia &gt; 2) {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; fill(255, 0, 0); \/\/ Rellenar con color rojo<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; noStroke();<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; float x = map(distancia, 0, 40, 0, 350) * cos(rad); \/\/ Convertimos cent\u00edmetros a p\u00edxeles<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; float y = -map(distancia, 0, 40, 0, 350) * sin(rad);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; ellipse(x, y, 20, 20); \/\/ Dibujamos un punto 20&#215;20<\/p>\n\n\n\n<p>&nbsp; }<\/p>\n\n\n\n<p>&nbsp; popMatrix(); \/\/ Restauramos las coordenadas para imprimir por pantalla sin problemas<\/p>\n\n\n\n<p>&nbsp; fill(0, 255, 0);<\/p>\n\n\n\n<p>&nbsp; textSize(20); \/\/ Tama\u00f1o de fuente<\/p>\n\n\n\n<p>&nbsp; text(\u201cRadar de Barco \u2013 Activo\u201d, 20, 30);<\/p>\n\n\n\n<p>&nbsp; text(\u201cDistancia: \u201c + distancia + \u201c cm\u201d, 20, 60);<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>\/\/ Funci\u00f3n que se ejecuta cuando arduino env\u00eda datos<\/p>\n\n\n\n<p>Void serialEvent(Serial p) {<\/p>\n\n\n\n<p>&nbsp; Datos = p.readStringUntil(\u2018.\u2019); \/\/&nbsp; Leer hasta encontrar un \u2018.\u2019<\/p>\n\n\n\n<p>&nbsp; If (datos \u00a1= null) { \/\/ Si recibe datos<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; Datos = datos.substring(0, datos.length() \u2013 1); \/\/ Borramos el \u2018.\u2019<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; String[] lista = split(datos, \u2018,\u2019); \/\/ Separamos los datos por la \u2018,\u2019<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; If (lista.length == 2) { \/\/ Si los datos se han recibido correctamente<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Angulo = int(lista[0]); \/\/ Obtenemos el \u00e1ngulo<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Distancia = int(lista[1]); \/\/ Obtenemos la distancia<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; }<\/p>\n\n\n\n<p>&nbsp; }<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>En definitiva, el c\u00f3digo Arduino contiene la l\u00f3gica de los siguientes componentes:<\/p>\n\n\n\n<p>Servomotor SG90: se mueve constantemente para permitir al sensor detectar objetos<\/p>\n\n\n\n<p>Sensor HC-SR04: manda pulsos ultrasonido para detectar objetos<\/p>\n\n\n\n<p>Buzzer: emite tonos en funci\u00f3n de la distancia, a menor distancia suena en intervalos m\u00e1s r\u00e1pidos. Esto sirve para que las personas encargadas de controlar la seguridad del barco\/submarino puedan recibir feedback auditivo, canal de comunicaci\u00f3n fundamental en un sonar.<\/p>\n\n\n\n<p>Por otro lado, el c\u00f3digo Processing se encarga de permitir al usuario visualizar la informaci\u00f3n en un radar, lo que proporciona un cierto grado de confianza extra, ya que se puede ver a los componentes realizando su trabajo<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Video<\/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=\"Sonar maritimo\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/IeUyD4EEKcE?feature=oembed&#038;wmode=opaque\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Implementaci\u00f3n El hardware de nuestro sistema de sonar mar\u00edtimo consta principalmente de los siguientes componentes: Para realizar nuestro sonar hemos realizados las siguientes conexiones: Pasos dados La idea pas\u00f3 de un sensor est\u00e1tico que&#46;&#46;&#46;<\/p>\n","protected":false},"author":326,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-10492","post","type-post","status-publish","format-standard","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>Sistema de sonar mar\u00edtimo - 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\/sistema-de-sonar-maritimo\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sistema de sonar mar\u00edtimo - Proyectos con Arduino.\" \/>\n<meta property=\"og:description\" content=\"Implementaci\u00f3n El hardware de nuestro sistema de sonar mar\u00edtimo consta principalmente de los siguientes componentes: Para realizar nuestro sonar hemos realizados las siguientes conexiones: Pasos dados La idea pas\u00f3 de un sensor est\u00e1tico que&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-sonar-maritimo\/\" \/>\n<meta property=\"og:site_name\" content=\"Proyectos con Arduino.\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-08T11:27:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-08T11:38:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-2.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"764\" \/>\n\t<meta property=\"og:image:height\" content=\"430\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"seytrma2526g11\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"seytrma2526g11\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-sonar-maritimo\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-sonar-maritimo\\\/\"},\"author\":{\"name\":\"seytrma2526g11\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/person\\\/9ae9002af4bb29c57d232f626f931b27\"},\"headline\":\"Sistema de sonar mar\u00edtimo\",\"datePublished\":\"2026-05-08T11:27:36+00:00\",\"dateModified\":\"2026-05-08T11:38:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-sonar-maritimo\\\/\"},\"wordCount\":2395,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-sonar-maritimo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2026\\\/05\\\/image-2.jpeg\",\"articleSection\":[\"Proyectos\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-sonar-maritimo\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-sonar-maritimo\\\/\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-sonar-maritimo\\\/\",\"name\":\"Sistema de sonar mar\u00edtimo - Proyectos con Arduino.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-sonar-maritimo\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-sonar-maritimo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2026\\\/05\\\/image-2.jpeg\",\"datePublished\":\"2026-05-08T11:27:36+00:00\",\"dateModified\":\"2026-05-08T11:38:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-sonar-maritimo\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-sonar-maritimo\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-sonar-maritimo\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2026\\\/05\\\/image-2.jpeg\",\"contentUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2026\\\/05\\\/image-2.jpeg\",\"width\":764,\"height\":430},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/sistema-de-sonar-maritimo\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sistema de sonar mar\u00edtimo\"}]},{\"@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\\\/9ae9002af4bb29c57d232f626f931b27\",\"name\":\"seytrma2526g11\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d9d9e7b3bc68818326ee41668a521a65612bde162db9fdcd654409b5c2398eee?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d9d9e7b3bc68818326ee41668a521a65612bde162db9fdcd654409b5c2398eee?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d9d9e7b3bc68818326ee41668a521a65612bde162db9fdcd654409b5c2398eee?s=96&d=mm&r=g\",\"caption\":\"seytrma2526g11\"},\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/author\\\/seytrma2526g11\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sistema de sonar mar\u00edtimo - 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\/sistema-de-sonar-maritimo\/","og_locale":"es_ES","og_type":"article","og_title":"Sistema de sonar mar\u00edtimo - Proyectos con Arduino.","og_description":"Implementaci\u00f3n El hardware de nuestro sistema de sonar mar\u00edtimo consta principalmente de los siguientes componentes: Para realizar nuestro sonar hemos realizados las siguientes conexiones: Pasos dados La idea pas\u00f3 de un sensor est\u00e1tico que&#46;&#46;&#46;","og_url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-sonar-maritimo\/","og_site_name":"Proyectos con Arduino.","article_published_time":"2026-05-08T11:27:36+00:00","article_modified_time":"2026-05-08T11:38:06+00:00","og_image":[{"width":764,"height":430,"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-2.jpeg","type":"image\/jpeg"}],"author":"seytrma2526g11","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"seytrma2526g11","Tiempo de lectura":"12 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-sonar-maritimo\/#article","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-sonar-maritimo\/"},"author":{"name":"seytrma2526g11","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/person\/9ae9002af4bb29c57d232f626f931b27"},"headline":"Sistema de sonar mar\u00edtimo","datePublished":"2026-05-08T11:27:36+00:00","dateModified":"2026-05-08T11:38:06+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-sonar-maritimo\/"},"wordCount":2395,"commentCount":0,"publisher":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-sonar-maritimo\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-2.jpeg","articleSection":["Proyectos"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-sonar-maritimo\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-sonar-maritimo\/","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-sonar-maritimo\/","name":"Sistema de sonar mar\u00edtimo - Proyectos con Arduino.","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-sonar-maritimo\/#primaryimage"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-sonar-maritimo\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-2.jpeg","datePublished":"2026-05-08T11:27:36+00:00","dateModified":"2026-05-08T11:38:06+00:00","breadcrumb":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-sonar-maritimo\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-sonar-maritimo\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-sonar-maritimo\/#primaryimage","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-2.jpeg","contentUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-2.jpeg","width":764,"height":430},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/sistema-de-sonar-maritimo\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blogs.etsii.urjc.es\/dseytr\/"},{"@type":"ListItem","position":2,"name":"Sistema de sonar mar\u00edtimo"}]},{"@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\/9ae9002af4bb29c57d232f626f931b27","name":"seytrma2526g11","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/d9d9e7b3bc68818326ee41668a521a65612bde162db9fdcd654409b5c2398eee?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d9d9e7b3bc68818326ee41668a521a65612bde162db9fdcd654409b5c2398eee?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d9d9e7b3bc68818326ee41668a521a65612bde162db9fdcd654409b5c2398eee?s=96&d=mm&r=g","caption":"seytrma2526g11"},"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/author\/seytrma2526g11\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/10492","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\/326"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/comments?post=10492"}],"version-history":[{"count":4,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/10492\/revisions"}],"predecessor-version":[{"id":10503,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/10492\/revisions\/10503"}],"wp:attachment":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media?parent=10492"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/categories?post=10492"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/tags?post=10492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}