{"id":10409,"date":"2026-05-07T12:03:18","date_gmt":"2026-05-07T10:03:18","guid":{"rendered":"https:\/\/blogs.etsii.urjc.es\/dseytr\/?p=10409"},"modified":"2026-05-07T12:03:35","modified_gmt":"2026-05-07T10:03:35","slug":"juego-desactivar-la-bomba","status":"publish","type":"post","link":"https:\/\/blogs.etsii.urjc.es\/dseytr\/juego-desactivar-la-bomba\/","title":{"rendered":"Juego \u00abDesactivar la Bomba\u00bb"},"content":{"rendered":"\n<p><strong>Proyecto seytrma2526g09 \u00b7 URJC<\/strong><\/p>\n\n\n\n<p><strong>Autores<\/strong><\/p>\n\n\n\n<p>Sergio Monta\u00f1\u00e9s D\u00edaz<\/p>\n\n\n\n<p>Alejandra Uzquiano Naranjo<\/p>\n\n\n\n<p>Ra\u00fal Moj\u00edo L\u00f3pez<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>INTRODUCCI\u00d3N<\/strong><\/li>\n<\/ol>\n\n\n\n<p>En este proyecto de la asignatura de Sistemas Empotrados y de Tiempo Real nos hemos propuesto llevar a cabo el dise\u00f1o y creaci\u00f3n de un simulador&nbsp; de desactivaci\u00f3n de artefactos explosivos, como se le suele llamar un \u201cjuego de desactivar la bomba\u201d. La idea naci\u00f3 en intentar recrear estas salas de \u201cescape room\u201d o las t\u00edpicas pel\u00edculas donde el protagonista en el \u00faltimo segundo salva el mundo, donde aqu\u00ed el usuario tiene que enfrentarse a un cron\u00f3metro en tiempo real mientras resuelve acertijos y prueba su suerte.<\/p>\n\n\n\n<p>Hemos elegido esta tem\u00e1tica de \u201ca contra reloj\u201d, ya que al a parte de ser un juego divertido, tenso y visualmente atractivo, supone un verdadero reto en esta asignatura, donde el sistema gestiona:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sistemas en tiempo real, ya que el cron\u00f3metro no puede detenerse ni retrasarse permitiendo al usuario la capacidad de respuesta inmediata con feedback<\/li>\n\n\n\n<li>Complejidad Hardware teniendo tanto perif\u00e9ricos como puede ser el LCD, LDR y vistos en clase, y perif\u00e9ricos fuera de lo com\u00fan como son los registros de desplazamiento 74HC595, Teclados Matriciales o controles inal\u00e1mbricos con bluetooth, lo que nos ha permitido expandir mucho las capacidades del Arduino.<\/li>\n\n\n\n<li>Interacciones intermodales, al combinar digital, con anal\u00f3gico como puede ser el teclado o detectar luces ambientales con el LDR<\/li>\n<\/ul>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>FUNCIONAMIENTO Y CASOS DE USO<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Como bien hemos dicho antes, nuestro proyecto consiste en un sistema que simula el funcionamiento del juego de desactivar una bomba antes de que explote, hemos integrado una arquitectura avanzada para poder gestionar todos los perif\u00e9ricos con recursos limitados.<\/p>\n\n\n\n<p>L\u00f3gica del sistema:<\/p>\n\n\n\n<p>El sistema responde de manera distinta actuando de diferentes formas seg\u00fan el estado o la fase del juego en la que se encuentre:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Estado de bloqueo: El sistema permanece inactivo(es decir, con la bomba desactivada y el tiempo sin correr), hasta recibir una se\u00f1al de activaci\u00f3n v\u00eda bluetooth(HC-05), lo que simula una activaci\u00f3n remota del artefacto(o al malo de la pel\u00edcula activandola).<\/li>\n\n\n\n<li>Configuraci\u00f3n de la dificultad: Mediante un switcher, el sistema es capaz de leer y cambiar la configuraci\u00f3n deseada respecto al nivel de dificultad de la \u201cbomba\u201d en cuesti\u00f3n(Facil Medio, Dificil). Dependiendo de la dificultad la variables del tiempo que se posee para desactivar la bomba es mayor o menor.<\/li>\n\n\n\n<li>Fase de Armado: Una vez se ha seleccionado la dificultad, el juego no comienza(o la bomba no se activa) hasta que el sensor de luz LDR detecta que la caja se ha abierto. En este momento el sistema o la bomba se activa, inicializa el LCD y comienza la cuenta atr\u00e1s.<\/li>\n\n\n\n<li>Desactivaci\u00f3n por c\u00f3digo. El usuario debe introducir una clave secreta en el teclado Matricial 4&#215;4. El usuario en todo momento recibe feedback para que tenga conocimiento de como de cerca esta de la cifra obtenida, esto es posible mediante LEDs RGB(donde si acierta el digito en su posici\u00f3n es verde, si acierta el digito pero no en su posici\u00f3n es amarillo, y si no acierta el digito es rojo). Para todo esto el usuario tiene un n\u00famero limitado de intentos, si obviamente no lo consigue en los intentos la bomba explota y el juego termina sin avanzar a la siguiente fase.<\/li>\n\n\n\n<li>Desactivaci\u00f3n por cables. Una vez superado el c\u00f3digo, el sistema pasa a la fase de \u201ccortar el cable\u201d, donde el usuario debe desactivar el cable correcto para desactivar, o en un caso p\u00e9simo, cortar el cable que hace explotar la bomba. El usuario tambi\u00e9n recibe feedback para poder desconectar el cable correcto, mediante pistas de \u201ccaliente\/fr\u00edo\u201d seg\u00fan la proximidad.<\/li>\n\n\n\n<li>Resoluci\u00f3n. Si en alg\u00fan momento el usuario llega al l\u00edmite de intentos sin acertar el c\u00f3digo secreto o corta el cable equivocado, el juego termina y la \u201cbomba explota\u201d junto a un sonido horroroso y un mensaje de \u201cboom!\u201d que le hace saber que ha perdido. Si consigue superar los dos retos la bomba queda desactivada.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2.1. ORGANIZACI\u00d3N<\/strong><\/h3>\n\n\n\n<p>Para garantizar que el proyecto salga adelante y con una metodolog\u00eda de cualquier proyecto de ingenier\u00eda, hemos seguido estos pasos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Creaci\u00f3n del concepto y la lluvia de ideas: Tras haber hecho investigaci\u00f3n de otros proyectos, estuvimos buscando ideas para el nuestro. Pasamos por varios modelos rechazados y varios modelos que nosotros mismos decidimos no hacer hasta llegar a este.<\/li>\n\n\n\n<li>Investigaci\u00f3n y adquisici\u00f3n de Hardware: Aunque fuimos construyendo prototipos con los materiales que ten\u00edamos seg\u00fan el momento, al principio se determin\u00f3 que componentes eran necesarios, los cuales estuvieron muy claros desde el principio.<\/li>\n\n\n\n<li>Prototipado modular: Fuimos probando y conectando partes d\u00eda tras d\u00eda, construyendo el modelo paso por paso, teniendo que cambiar c\u00f3digo y entradas en el Arduino seg\u00fan se iban a\u00f1adiendo m\u00e1s cosas. Aunque lo veremos despu\u00e9s, se empez\u00f3 con el LDR y el zumbador ya que part\u00edamos de la base de la pr\u00e1ctica obligatoria, siguiendo de los LEDs RGB y el primer 74HC595, continuamos al switcher, teclado matricial y el LCD junto al segundo 74HC595 y por \u00faltimo el juego de los cables con la palanca.<\/li>\n\n\n\n<li>Desarrollo de Software: Fue surgiendo a la vez que la construcci\u00f3n del modelo, ya que seg\u00fan se a\u00f1ad\u00edan m\u00e1s cosas hab\u00eda que ir haciendo grandes modificaciones en el c\u00f3digo. As\u00ed como veremos a continuaci\u00f3n, fuimos probando perif\u00e9rico por perif\u00e9rico y solucionando los problemas que estos acarreaban en el momento.<\/li>\n\n\n\n<li>Ensamblaje final. Dise\u00f1o de la carcasa y optimizaci\u00f3n del espacio ocupado en esta.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2.2. REPARTO DE TAREAS<\/strong><\/h3>\n\n\n\n<p>Aunque el trabajo ha sido en conjunto y mayoritariamente todos en f\u00edsico juntos, donde todos los miembros est\u00e1bamos colaborando y ayud\u00e1ndonos entre nosotros, establecimos unos roles principales por cada integrante<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sergio (Arquitectura y Hardware): Encargado del dise\u00f1o del esquema el\u00e9ctrico y f\u00edsico, gesti\u00f3n de los chips 74HC595 y la gesti\u00f3n para que los sistemas no chocaran entre s\u00ed. Respecto al software fue ayudando con la asociaci\u00f3n entre chips, el teclado y el LCD.<\/li>\n\n\n\n<li>Alejandra (L\u00f3gica del Software y Tiempo Real): Encargada de la mayor parte de la base del software, programando la m\u00e1quina de estados, y la gesti\u00f3n del cron\u00f3metro y tiempo real junto al Bluetooth. Comprobando junto a Ra\u00fal que el software fuera funcionando.<\/li>\n\n\n\n<li>Ra\u00fal(Ensamblaje, Pruebas y optimizaci\u00f3n): Encargado de la calibraci\u00f3n de los sistemas b\u00e1sicos en el hardware y software, el dise\u00f1o del prototipo final. En el software fue responsable de optimizar el c\u00f3digo.<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>3. MATERIALES<\/strong><\/h1>\n\n\n\n<p>A continuaci\u00f3n, se muestra la tabla con los materiales que han sido utilizados en el proyecto, a pesar de que la mayor\u00eda ven\u00edan en la caja proporcionada por el profesorado hemos adquirido materiales extra para complementar el proyecto.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th colspan=\"4\"><strong>MATERIALES Y COSTES<\/strong><\/th><\/tr><\/thead><tbody><tr><td>FOTO<\/td><td>NOMBRE<\/td><td>CANTIDAD<\/td><td>PRECIO<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/faeceb0f-c8c8-4e65-8463-5a4afd8b3d55\" width=\"120\" height=\"86\"><\/td><td>lcd 16&#215;2<\/td><td>1<\/td><td>Ven\u00eda en la caja<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/a61bee39-8697-4f10-9749-76828a50afcc\" width=\"99\" height=\"116\"><\/td><td>Potenci\u00f3metro<\/td><td>1<\/td><td>Ven\u00eda en la caja<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/b1d4d826-3837-485d-84ef-c84237c04fad\" width=\"90\" height=\"90\"><\/td><td>Switcher con tres palancas<\/td><td>1<\/td><td>Ven\u00eda en la caja<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/b8b563e6-0fee-4bdc-a93c-f07de26efa1c\" width=\"127\" height=\"72\"><\/td><td>Leds rgb<\/td><td>3<\/td><td>Ven\u00eda en la caja<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/6fe06703-4815-4042-aa19-f6736433ec76\" width=\"94\" height=\"112\"><\/td><td>Resistencias 200 ohm<\/td><td>6<\/td><td>Ven\u00eda en la caja<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/53b7f601-8267-46ba-a988-66fb65127552\" width=\"92\" height=\"92\"><\/td><td>Resistencia 1k<\/td><td>1<\/td><td>Ven\u00eda en la caja<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/764b3f1e-6db1-4142-9dfc-dae290affca5\" width=\"87\" height=\"87\"><\/td><td>Resistencia de 2k<\/td><td>1<\/td><td>Ven\u00eda en la caja<\/td><\/tr><tr><td><\/td><td>Resistencia para el LDR<\/td><td>1<\/td><td>Ven\u00eda en la caja<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/fc5f3781-5599-4a97-9e7d-2aa0dfa95bdc\" width=\"110\" height=\"83\"><\/td><td>LDR<\/td><td>1<\/td><td>Ven\u00eda en la caja<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/dc79b13a-77ef-4a0b-a8ac-480ef3f72b70\" width=\"109\" height=\"109\"><\/td><td>Zumbador<\/td><td>1<\/td><td>Ven\u00eda en la caja<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/26ec40ff-a025-4297-8f90-e50b9a37c415\" width=\"127\" height=\"71\"><\/td><td>Driver de Salida ULN2003AN<\/td><td>1<\/td><td>Ven\u00eda en la caja<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/c47792a9-db0f-43a2-a88b-b8156d3e1171\" width=\"113\" height=\"113\"><\/td><td>Cables jumper<\/td><td><\/td><td>Ven\u00eda en la caja<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/b902ec19-218e-42b4-9906-75c2113702f2\" width=\"127\" height=\"127\"><\/td><td>Placas de prueba<\/td><td>3<\/td><td>Ven\u00eda en la caja<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/21f60870-6ec4-47da-be45-4a68d6fc8db1\" width=\"127\" height=\"95\"><\/td><td>Arduino UNO<\/td><td>1<\/td><td>Ven\u00eda en la caja<\/td><\/tr><tr><td rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/0315137b-9472-4503-90cd-e0c42c0bf484\" width=\"127\" height=\"127\"><\/td><td>Cables jumper macho macho<\/td><td rowspan=\"2\">130<\/td><td>3\u20ac<\/td><\/tr><tr><td>Cables jumper hembra-macho<\/td><td>3\u20ac<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/7a37180d-44b9-4b6d-a4aa-95cfd5e5b8aa\" width=\"112\" height=\"84\"><\/td><td>Teclado matricial 4&#215;4 usado<\/td><td>1<\/td><td>2\u20ac<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/c92271eb-ff7b-4431-bebe-e9dc299dd3f6\" width=\"114\" height=\"114\"><\/td><td>Teclado matricial 4&#215;4 no usado y devuelto<\/td><td>1<\/td><td>6,65\u20ac<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/1cbc9b0a-be49-4ef8-802e-6c802b5dee93\" width=\"127\" height=\"95\"><\/td><td>M\u00f3dulo bluetooth HC-05<\/td><td>1<\/td><td>10\u20ac<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/2c67b6ea-be23-4f19-955f-35e0db6b29f0\" width=\"91\" height=\"146\"><\/td><td>Interruptores palanca de dos posiciones<\/td><td>6<\/td><td>6 x 0,9 = 5,4\u20ac<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/e4386825-8d1f-4917-8652-af3ffa3b98f3\" width=\"107\" height=\"121\"><\/td><td>Registros de desplazamiento 74HC595, uno comprado y otro que ya hab\u00eda en la caja<\/td><td>2&nbsp;1 comprado1 ven\u00eda en la caja<\/td><td>0,7\u20ac<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.etsii.urjc.es\/d7c731b6-aa4c-4dea-81ce-3484d068ae29\" width=\"127\" height=\"67\"><\/td><td>Condensador electrol\u00edtico 100 uF<\/td><td>4<\/td><td>0,2\u20ac<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>4. IMPLEMENTACI\u00d3N HARDWARE<\/strong><\/h1>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4.1. IMPLEMENTACI\u00d3N DEL CIRCUITO<\/strong><\/h3>\n\n\n\n<p>Antes de realizar el circuito en modelo real, se realiz\u00f3 una simulaci\u00f3n del circuito en TinkerCad: A falta de la conexi\u00f3n bluetooth HC-05, que estar\u00eda conectada de tal forma:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Conector 5V: A los 5V del arduino<\/li>\n\n\n\n<li>Conector GND: A GND del arduino<\/li>\n\n\n\n<li>Conector TX: Entrada 0 del arduino<\/li>\n\n\n\n<li>Conector RX: Est\u00e1 conectado a un punto al que llamaremos\u201cNudo Se\u00f1al\u201d. Desde este punto se conecta una resistencia de 2kOhm a GND del arduino y otra resistencia de 1kOhm que va hasta el Pin 1 del arduino.\u00a0<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"757\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-68-1024x757.png\" alt=\"\" class=\"wp-image-10410\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-68-1024x757.png 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-68-300x222.png 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-68-768x567.png 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-68.png 1072w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4.2.IMPLEMENTACI\u00d3N EN PRUEBA<\/strong><\/h3>\n\n\n\n<p>Previo al empotrado final, se realizaron pruebas componente a componente y paso a paso que veremos despu\u00e9s para comprobar que el funcionamiento tanto del c\u00f3digo como de los componentes era correcto.&nbsp;<\/p>\n\n\n\n<p>Se sigui\u00f3 la estructura complementada en el apartado anterior de implementaci\u00f3n hardware en circuito de prueba, pero sin la estructuraci\u00f3n final. No se compact\u00f3 tanto ya que era la fase de experimentaci\u00f3n y prueba de todos y cada uno de los componentes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-1-768x1024.jpeg\" alt=\"\" class=\"wp-image-10411\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-1-768x1023.jpeg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-1-225x300.jpeg 225w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-1-1153x1536.jpeg 1153w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-1.jpeg 1200w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4.3.IMPLEMENTACI\u00d3N FINAL POR M\u00d3DULOS<\/strong><\/h3>\n\n\n\n<p>Para la realizaci\u00f3n f\u00edsica del prototipo final, hemos empleado un soporte o carcasa firme con forma de malet\u00edn, donde hemos colocado todos los componentes de forma que mantienen su portabilidad y previenen, en la medida de lo posible, las desconexiones no intencionadas.&nbsp;<\/p>\n\n\n\n<p>La instalaci\u00f3n se organiza en cuatro secciones distintas, parecidas a las secciones de los perif\u00e9ricos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Secci\u00f3n interna de procesamiento(Arriba izquierda): El Arduino Uno, aunque est\u00e9 en una esquina, funciona como el centro del sistema. Se han empleado cintas aislantes, silicona y soldaduras para sujetar los grupos de cables y garantizar que los elementos no interfieran entre ellos.<\/li>\n\n\n\n<li>Secci\u00f3n interna y placa base(En el centro): Se han utilizado dos protoboard independientes para poder soportar todo el cableado de los dos registros de desplazamiento, el buzzer con el controlador ULN2003, el m\u00f3dulo bluetooth. Y aunque lo veremos en la siguiente secci\u00f3n tambi\u00e9n se ve todo el cableado correspondiente al LCD, los LEDs RGB y las palancas.<\/li>\n\n\n\n<li>Secci\u00f3n superior e interior de la caja(Cables hacia arriba): Podemos observar como tanto de la protoboard como del propio arduino, salen cables a esa superficie de juego, donde podemos encontrar los perif\u00e9ricos como el LCD, El teclado matricial, los LEDs RGB y las palancas que simulan los cables cortados. Todos los cables est\u00e1n cubiertos en sus uniones con cinta aislante y silicona, para que no haya interferencias entre ellas, adem\u00e1s de las uniones entre cables soldadas entre ellas.<\/li>\n\n\n\n<li>Secci\u00f3n externa(Fuera de la caja): Utilizamos el Switcher de tres posiciones por fuera, para poder elegir la dificultad antes de que se active la bomba y empiece el juego y la cuenta atr\u00e1s.<\/li>\n<\/ol>\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\/2026\/05\/image-70-1024x768.png\" alt=\"\" class=\"wp-image-10413\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-70-1024x768.png 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-70-300x225.png 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-70-768x576.png 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-70-1536x1153.png 1536w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-70.png 1599w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-71-768x1024.png\" alt=\"\" class=\"wp-image-10414\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-71-768x1023.png 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-71-225x300.png 225w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-71-1153x1536.png 1153w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-71.png 1200w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/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\/2026\/05\/image-72-1024x768.png\" alt=\"\" class=\"wp-image-10415\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-72-1024x768.png 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-72-300x225.png 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-72-768x576.png 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-72-1536x1153.png 1536w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-72.png 1599w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>5. IMPLEMENTACI\u00d3N SOFTWARE<\/strong><\/h1>\n\n\n\n<p>El software del proyecto en un proyecto empotrado con un&nbsp; Arduino UNO como este, es la pieza m\u00e1s importante, teniendo que programar varias funciones para cada uno de los componentes y controles diferentes. Buscamos un proyecto ordenado por fases, por lo que tenemos un proyecto .ino donde se encuentran las siguientes funciones organizadas<\/p>\n\n\n\n<p>Este c\u00f3digo ha sido iterativo, por lo que donde empez\u00f3 con un simple control de LDR y de Buzzer ha terminado siendo un c\u00f3digo de m\u00e1s de 350 l\u00edneas repartidas en funciones, la estructura del c\u00f3digo gira en torno a varias funciones, que gestionan desde la comunicaci\u00f3n de bajo nivel hasta la l\u00f3gica del juego:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Funciones del sistema y de control de hardware:<\/strong>\n<ul class=\"wp-block-list\">\n<li>setup(): Es la funci\u00f3n de inicializaci\u00f3n de todo el c\u00f3digo. Configura la comunicaci\u00f3n con el serial a 9600 baudios, inicializa LCD, pone los n\u00fameros de la secuencia aleatoria a adivinar, y configura todos los pines f\u00edsicos de entrada y salida.<\/li>\n\n\n\n<li>loop(): Act\u00faa como el motor de ejecuci\u00f3n que est\u00e1 en constante ejecuci\u00f3n. Es el encargado de que el cron\u00f3metro est\u00e9 a tiempo real, escanea el teclado y lo m\u00e1s importante, gestiona la m\u00e1quina de estados, donde est\u00e1n la configuraci\u00f3n, el juego, los cables y los finales.<\/li>\n\n\n\n<li>actualizarResgistro(): Es la funci\u00f3n principal de salida. Que quiere decir esto, se encarga de realizar todo el volcado f\u00edsico de la variable hacia los dos chips 74HC595 en cascada, utilizando comunicaci\u00f3n con ellos por reloj.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Funciones de gesti\u00f3n de la interfaz o LCD:<\/strong>\n<ul class=\"wp-block-list\">\n<li>lcdInit(): Como quer\u00edamos que el LCD arrancara en un momento determinado del estado del juego, esta funci\u00f3n es el arranque del controlador del LCD, configurando el modo de 4 bits para ahorrar pines y estableciendo par\u00e1metros como el cursor o el n\u00famero de l\u00edneas<\/li>\n\n\n\n<li>lcdEnvio(): Es la funci\u00f3n principal de la pantalla LCD, divide cada byte de info en dos nibbles, gestiona los bits de control RS y E, y tambi\u00e9n es importante que asegura que los datos se sincronicen correctamente con el hardware.<\/li>\n\n\n\n<li>lcdPrint,lcdClear,lcdSetCursor, lcdWrite,lcdCommand: Son funciones que encapsulan comandos m\u00e1s complejos para luego facilitar el uso en otras funciones la escritura de texto, el borrado de pantalla, el posicionamiento, etc.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Funci\u00f3n de lectura de entrada:<\/strong>\n<ul class=\"wp-block-list\">\n<li>leerTeclado(): Debido a la dificultad que era leer el teclado, creamos una funci\u00f3n solo para leer este, por lo que implementamos el escaneo de la matriz 4&#215;4. Este utiliza el segundo registro de desplazamiento para poner a nivel bajo cada columna, mientras el arduino lee las filas. Incluye l\u00f3gica de espera controlada para poder estabilizar voltajes y un sistema que evita lecturas duplicadas solo pulsando una vez.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>L\u00f3gica del juego y seguimiento de los estados:<\/strong>\n<ul class=\"wp-block-list\">\n<li>actualizarPantallaJuego() y actualizarPantallaCables(): Funciones que como bien dicen sus nombres, actualizan el feedback de la informaci\u00f3n que aparece en el LCD seg\u00fan la fase. La primera muestra el tiempo restante y los intentos, ocultando el c\u00f3digo con asteriscos y la segunda da instrucciones seg\u00fan el cable que cortes y muestra a su vez el cron\u00f3metro.<\/li>\n\n\n\n<li>procesarIntento(): Esta funci\u00f3n contiene la l\u00f3gica principal de la promesa fase del jeugo. Compara lo que ha introducido el usuario en el teclado con el c\u00f3digo secreto generado antes, y manda a los LEDs RGB c\u00f3mo deben encenderse, y si gana esta parte, inicializa los cables de forma aleatoria.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Funciones de feedback y perif\u00e9ricos:<\/strong>\n<ul class=\"wp-block-list\">\n<li>actualizarHardwareLed(): Traduce los estados del teclado de acierto o fallo(verce,amarillo,rojo) a combinaciones de bits para el primer 74HC595 para controlar el encendido de los LEDs RGB<\/li>\n\n\n\n<li>activarBuzzer() y gestionarSonido(): Las dos funciones controlan todo el feedback ac\u00fastico, activan el zumbador , y controlan el tiempo que dura.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>6. PASOS DADOS, PROBLEMAS Y SOLUCIONES<\/strong><\/h1>\n\n\n\n<p><strong><br><\/strong>Surgieron muchos problemas durante la construcci\u00f3n e implementaci\u00f3n en prueba del prototipo. Ya que aunque nos basamos en la implementaci\u00f3n del circuito que hicimos en TinkerCad, fuimos probando sensor por sensor y no de la forma final. Con esto nos referimos a que cada vez que a\u00f1adimos un controlador o un elemento del hardware, ten\u00edamos que cambiar tanto el software como el hardware de la parte anterior, lo que a veces llevaba a confusiones. Vamos a ver todos los problemas que fueron surgiendo seg\u00fan los pasos dados:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>LDR y Zumbador con ULN2003<\/strong><\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"436\" height=\"581\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-69.png\" alt=\"\" class=\"wp-image-10412\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-69.png 436w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-69-225x300.png 225w\" sizes=\"auto, (max-width: 436px) 100vw, 436px\" \/><\/figure>\n\n\n\n<p>PROBLEMAS ENCONTRADOS EN ESTE PASO:<\/p>\n\n\n\n<p>En este momento del circuito el \u00fanico problema que tuvimos era que no conseguimos conectar bien y de forma fija el ULN2003 ya que la primera pata del m\u00f3dulo no era el conector out1 que realmente necesit\u00e1bamos lo que llev\u00f3 a confusiones. Mucho m\u00e1s adelante en el proyecto, nos dimos cuenta que lo que est\u00e1bamos conectado no era directamente el ULN2003 si no el m\u00f3dulo de este, para lo cual cuando nos dimos cuenta, solucion\u00f3 bastante este problema.<\/p>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>LED RGB conectado<\/strong><\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"576\" height=\"432\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-73.png\" alt=\"\" class=\"wp-image-10416\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-73.png 576w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-73-300x225.png 300w\" sizes=\"auto, (max-width: 576px) 100vw, 576px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"577\" height=\"433\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-74.png\" alt=\"\" class=\"wp-image-10417\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-74.png 577w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-74-300x225.png 300w\" sizes=\"auto, (max-width: 577px) 100vw, 577px\" \/><\/figure>\n\n\n\n<p>PROBLEMAS ENCONTRADOS EN ESTE PASO:<\/p>\n\n\n\n<p>Aqu\u00ed hicimos la prueba de que el LED RGB funcionara correctamente seg\u00fan el n\u00famero introducido (hasta que no conectamos el teclado, hac\u00edamos la prueba de los n\u00fameros introducidos por el Serial). Y probando el LED nos dimos cuenta de que si solo quer\u00edamos sacar colores rojo, amarillo y verde la pata para el color azul del LED lo \u00fanicp que hacia era estorbar y ocupar sitio que sab\u00edamos que ibamos a necesitar en un futuro, por lo que la desconectamos.<\/p>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>Tres LEDs RGB y primer\u00a0 registro de desplazamiento 74HC595<\/strong><\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"543\" height=\"407\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-75.png\" alt=\"\" class=\"wp-image-10418\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-75.png 543w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-75-300x225.png 300w\" sizes=\"auto, (max-width: 543px) 100vw, 543px\" \/><\/figure>\n\n\n\n<p>PROBLEMAS ENCONTRADOS EN ESTE PASO:<\/p>\n\n\n\n<p>Aqu\u00ed ya conectamos el primer registro de desplazamiento junto a los tres LEDs RGB para comprobar que los tres n\u00fameros introducidos corresponden con los colores correctos. Ya solo seis Pines del Arduino para 3 LEDs pintaba mal la cosa, aunque cont\u00e1bamos con ellos. as\u00ed que pusimos el primero de los dos registros, y hay que admitir que fue un resto bastante largo y tedioso conseguir hacerlo en software, ya que fue el primero que conectamos todos los miembros. Y como bien hemos dicho antes, solo tres patas de las cuatro de los LEDs RGB est\u00e1n conectadas.<\/p>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li><strong>LCD, Segundo 74HC595, switcher y primer Teclado matricial<\/strong><\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"662\" height=\"496\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-76.png\" alt=\"\" class=\"wp-image-10419\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-76.png 662w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-76-300x225.png 300w\" sizes=\"auto, (max-width: 662px) 100vw, 662px\" \/><\/figure>\n\n\n\n<p>PROBLEMAS ENCONTRADOS EN ESTE PASO:<\/p>\n\n\n\n<p>En esta parte obviamente es en la que m\u00e1s problemas nos encontramos, al conectar todo la mayor\u00eda fallo y fuimos resolviendo los problemas uno a uno:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>El switcher ya no contaba con m\u00e1s entradas y tampoco lo pod\u00edamos conectar al 74HC595, ya que este registro es para salida y el switcher es de entrada. Por lo que la situaci\u00f3n temporal que encontramos fue conectarlo a los Pines 0 y 1 del arduino, pero como bien sabemos son los canales principales del arduino de comunicaci\u00f3n con el ordenador a trav\u00e9s del puerto USB y utilizados para cargar datos. Esto hac\u00eda que si los tenemos conectados a la hora de lanzar y hacer Upload del c\u00f3digo, todo el sistema empezaba a dar error ya que las se\u00f1ales del ordenador y la del m\u00f3dulo chocaban. Nuestra soluci\u00f3n fue subir el c\u00f3digo primero, y una vez que estaba subido conectar el switcher, de esta forma despu\u00e9s de haber subido el c\u00f3digo por USB los pines quedan libres de carga de datos y se dedicaban exclusivamente a la comunicaci\u00f3n.<\/li>\n\n\n\n<li>Obviamente para poder conectar el teclado, el LCD y el potenci\u00f3metro para el LCD, tuvimos que conectar un segundo 74HC595, aunque todav\u00eda hab\u00eda algunas conexiones del LCD y del teclado que iban directamente al arduino sin pasar por el 74HC595.<\/li>\n\n\n\n<li>Tuvimos muchos problemas con este teclado, ya que al ser de botones f\u00edsicos, lo primero de todo ten\u00eda 10 agujeros, donde entendimos que el primero y el \u00faltimo no se conectaban y los 8 de el medio eran para filas y columnas. Probamos de mil maneras y de ninguna forma posible conseguimos que el teclado funcionar\u00e1, acudiendo a muchos recursos externos. Optamos por la opci\u00f3n de comprar un Teclado Matricial de membrana hecho por Arduino y por fin conseguimos que funcionara.<\/li>\n<\/ul>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li><strong>Palancas para simular cables<\/strong><\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"679\" height=\"510\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-77.png\" alt=\"\" class=\"wp-image-10420\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-77.png 679w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-77-300x225.png 300w\" sizes=\"auto, (max-width: 679px) 100vw, 679px\" \/><\/figure>\n\n\n\n<p>PROBLEMAS ENCONTRADOS EN ESTE PASO:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Conectamos todas las palancas para simular estos cables cortados, y como bien hemos comentado antes, estas palancas son m\u00f3dulos de entrada, esto significa que no pueden ir al registro de desplazamiento, as\u00ed que s\u00ed, est\u00e1is intuyendo bien lo que viene a continuaci\u00f3n:\n<ul class=\"wp-block-list\">\n<li>Nos toc\u00f3 volver a cambiar casi todos los cables del LCD y del Teclado matricial que estaban conectados al Arduino, a su correspondiente sitio en el registro de desplazamiento para poder dejar hueco a las palancas. Estos supuso un gran cambio no solo en el hardware si no tambi\u00e9n en el software, pero como las se\u00f1ales RS y E del LCD segu\u00edan estando en el Arduino, la mayor\u00eda de funciones del LCD segu\u00edan intactas con comandos simples.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Al probar en este momento del prototipo supon\u00edamos que la mayor\u00eda o pr\u00e1cticamente todo funcionar\u00eda correctamente, pero nos equivocamos estrepitosamente. Creemos que entre la sensibilidad que ten\u00eda ahora el LCD de estar conectado al 74HC595 y seguir jugando con los Pines 0 y 1 del Arduino con el switcher, el proyecto entero empez\u00f3 a fallar, nada de los datos cargaba correctamente. Decidimos mover el switcher a los Pines 11 y 12 del Arduino, donde antes estos Pines estaban ocupados por las se\u00f1ales RS y E del LCD, por lo que tuvimos que mudarlos al segundo registro de desplazamiento.\u00a0<\/li>\n<\/ul>\n\n\n\n<p>Esto fue costoso no solo a nivel de hardware, sobre todo a nivel de software, ya que el LCD y el Teclado pasaban de estar conectados al Arduino con comandos simples como hemos dicho antes, a gestionar todo el estado del LCD bit a bit dentro de una variable, lo que supuso un cambio dr\u00e1stico en la mayor\u00eda de funciones del LCD escritas en el c\u00f3digo.<\/p>\n\n\n\n<p>Despu\u00e9s de cambiar el control del LCD al registro de desplazamiento, el sistema empez\u00f3 a mostrar por este caracteres aleatorios o basura, es decir que no sal\u00eda nada correctamente, ya que recib\u00eda comandos incompletos.<\/p>\n\n\n\n<p>En este momento tuvimos que ajustar con verdadera precisi\u00f3n los pulsos de reloj de los datos en el registro, puesto que no envi\u00e1bamos una se\u00f1al directamente al LCD. Al pasar por el 74HC595 vimos que esto pasaba porque se a\u00f1ad\u00eda como una latencia extra lo que hac\u00eda que el controlador se volviera loco. Y con muchas pruebas y con algo de ayuda conseguimos a\u00f1adir retardos que aseguraban que el voltaje y la informaci\u00f3n fueran limpios y constantes.&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Al tener todo montado y funcional, fuimos conscientes de que la primera columna del teclado matricial que ten\u00edamos no funcionaba. Probamos distintos m\u00e9todos para comprobar su correcto funcionamiento y como bien ten\u00edamos planetario, deb\u00eda ser un problema interno del teclado, as\u00ed que nos toc\u00f3 tener que cambiarlo por uno nuevo. Por eso en la foto aparecen las conexiones del teclado en una almohadilla con los n\u00fameros correspondientes a las entradas del teclado, en ese momento inexistente.<\/li>\n<\/ul>\n\n\n\n<ol start=\"6\" class=\"wp-block-list\">\n<li><strong>MONTAJE FINAL<\/strong><\/li>\n<\/ol>\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\/2026\/05\/image-78-1024x768.png\" alt=\"\" class=\"wp-image-10421\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-78-1024x768.png 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-78-300x225.png 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-78-768x576.png 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-78-1536x1153.png 1536w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2026\/05\/image-78.png 1599w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>PROBLEMAS ENCONTRADOS EN ESTE PASO:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Un problema que al final no ha tenido soluci\u00f3n, o mejor dicho la soluci\u00f3n est\u00e1 pero no es la \u00f3ptima, es la conexi\u00f3n del m\u00f3dulo bluetooth. Como bien hemos comentado antes, est\u00e1bamos justos de Pines, bien pues en este momento no ten\u00edamos Pines restantes, solo los Pines 0 (RX) y 1 (TX) del Arduino, los cuales vamos a utilizar para nuestro m\u00f3dulo bluetooth.\u00a0<\/li>\n<\/ul>\n\n\n\n<p>Pero el problema est\u00e1 en que si tenemos estos conectados a la hora de cargar el c\u00f3digo al Arduino presenta conflicto de hardware con el USB durante la carga del dispositivo, lo que nos obliga a desconectar el m\u00f3dulo f\u00edsicamente cada vez que actualizamos o lanzamos el c\u00f3digo para probar el sistema, y tener que volver a conectarlo una vez el c\u00f3digo est\u00e9 cargado.<\/p>\n\n\n\n<p>Como bien hemos dicho, este problema ya tiene su propia soluci\u00f3n, lo cual ahora que est\u00e1 todo montado en una caja compacta, tener que abrir todo para conectar el m\u00f3dulo bluetooth es algo molesto y tedioso.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>El \u00faltimo problema que mencionamos, ha sido sin duda el peor de todos y que m\u00e1s quebraderos de cabeza ha llevado. Como hemos visto en esta pr\u00e1ctica se hizo un montaje de prueba para comprobar que todo funcionaba y un montaje final en el producto, y como bien todos sabemos, conectar todo un cableado y volver a desconectarlo tiene sus riesgos, as\u00ed que vamos a verlos.<\/li>\n<\/ul>\n\n\n\n<p>Una vez tuvimos todo montado en la caja, cada cosa en su sitio y todo con orden, obviamente hab\u00eda que comprobar que todo funcionase correctamente otra vez, aqu\u00ed es donde todo el mundo tiene miedo, y como bien suele ser el caso, el nuestro no fue diferente, el LCD no funcionaba como deb\u00eda.<\/p>\n\n\n\n<p>Sin embargo, todo estaba conectado en su sitio y correctamente, as\u00ed que no sab\u00edamos a qu\u00e9 se pod\u00eda deber, as\u00ed que hicimos pruebas, investigamos cuales suelen ser los sucesos cuando hay muchos perif\u00e9ricos, con cables tan largos y en un sitio tan compacto, y ah\u00ed tienes el propio problema y la propia soluci\u00f3n.<\/p>\n\n\n\n<p>Valoramos muchas causas posibles y todas sus posibles soluciones:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Conflictos entre el Hardware y los datos que recib\u00eda, usando los Pines 0 y 1 pod\u00edamos llegar a pensar que el m\u00f3dulo generaba colisiones. As\u00ed que lo desconectamos e hicimos las pruebas sin \u00e9l.<\/li>\n\n\n\n<li>Problemas con la conectividad, ya que al compactar tantos componentes, algunos cables se soltaban y no hac\u00edan contacto bien. As\u00ed pues, soldamos los cables, y aseguramos las uniones con cinta aislante o silicona derretida.<\/li>\n\n\n\n<li>La temporizaci\u00f3n del Timing entre perif\u00e9ricos, asumimos que algunos errores que daba era porque no ten\u00eda tiempo para pensar, as\u00ed que a\u00f1adimos algo de tiempo entre los sensores para que dejara de soltar basura.<\/li>\n<\/ul>\n\n\n\n<p>Ahora vienen los que creemos y sabemos que causaban tantos problemas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ruido y problemas en la integridad: Al necesitar cables m\u00e1s largos para que todo fuera a su sitio correctamente y ordenado, estos cables empezaron a captar interferencias entre ellos, a qu\u00e9 nos referimos con esto, mandaban se\u00f1ales o basura entre ellos rompiendo los datos que de verdad ten\u00edan que llegar bien y r\u00e1pido al LCD. A parte de que obviamente al ser tan largos tarda m\u00e1s en llegar la informaci\u00f3n y hac\u00eda que el LCD parpadeara bastante a la hora de funcionar. As\u00ed que acortamos todos los cables de conexi\u00f3n entre el LCD y el registro de desplazamiento, y acortamos los cables tambi\u00e9n entre los registros de desplazamiento y el arduino.<\/li>\n<\/ul>\n\n\n\n<p>As\u00ed conseguimos solucionar bastantes problemas, el LCD dejaba de parpadear y se ve\u00eda la informaci\u00f3n como hab\u00eda que verla, y aunque mayoritariamente siempre sacaba la informaci\u00f3n correcta, hab\u00eda veces que todav\u00eda no. As\u00ed pasamos a la siguiente causa probable.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Problemas en la alimentaci\u00f3n y el voltaje. Como ten\u00edamos perif\u00e9ricos como el zumbador o los LEDs que ten\u00edan picos de consumo, pudimos llegar a la conclusi\u00f3n de que estos al encenderse provocan ca\u00eddas o subidas de voltaje que desestabilizaban el LCD.<\/li>\n<\/ul>\n\n\n\n<p>Nuestra \u00fanica soluci\u00f3n ante esto, fue comprar condensadores, as\u00ed conseguimos que estas peque\u00f1as ondas que hac\u00edan que todo se volviera loco, las tendr\u00edamos controladas. Pusimos uno entre la mayor\u00eda de puntos entre la GND y los 5V, es decir, pusimos condensadores en los registros de desplazamiento, en el LCD y en la alimentaci\u00f3n directa del arduino a la placa base. Esto tambi\u00e9n consigui\u00f3 que el porcentaje que saliera bien aumentara, pero a su vez, fue la gota que colma el vaso.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Por mucho que aumentamos el ratio de mejora y del LCD funcionando bien, esto no fue suficiente, a veces segu\u00eda fallando y ya no teniamos mas posibles causas, as\u00ed que hicimos lo que toda persona sensata menos nosotros tres hubiera hecho desde el principio, cambiar de LCD<\/li>\n<\/ul>\n\n\n\n<p>Y como no, despu\u00e9s de cambiar el LCD a otro, funcionaba el cien por ciento de las veces.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>7.BIBLIOGRAF\u00cdA<\/strong><\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Arduino Forum:<\/li>\n<\/ul>\n\n\n\n<p><a href=\"https:\/\/forum.arduino.cc\/?_gl=1*ed80ck*_up*MQ..*_ga*NjE2MzUwMTM2LjE3NjU2NTkzNzA.*_ga_NEXN8H46L5*czE3NjU2NTkzNjkkbzEkZzAkdDE3NjU2NTkzNjkkajYwJGwwJGgxNjM5OTE2MDA4\">https:\/\/forum.arduino.cc\/?_gl=1*ed80ck*_up*MQ..*_ga*NjE2MzUwMTM2LjE3NjU2NTkzNzA.*_ga_NEXN8H46L5*czE3NjU2NTkzNjkkbzEkZzAkdDE3NjU2NTkzNjkkajYwJGwwJGgxNjM5OTE2MDA4<\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>M\u00e1s espec\u00edficamente en este lugar, de aqu\u00ed sacamos ideas para implementar en nuestro juego y ayuda con el c\u00f3digo, de un zip que hay subido:<\/li>\n<\/ul>\n\n\n\n<p><a href=\"https:\/\/forum.arduino.cc\/t\/construccion-maleta-bomba-airsoft\/402906\">https:\/\/forum.arduino.cc\/t\/construccion-maleta-bomba-airsoft\/402906<\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>P\u00e1gina de juego parecido en Arduino:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-eduescaperoom wp-block-embed-eduescaperoom\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"aXQ8V54r1T\"><a href=\"https:\/\/eduescaperoom.com\/como-hacer-tu-propia-bomba-arduino-con-contador-regresivo-para-tu-escape-room-educativo-de-forma-facil-y-barata\/\">C\u00f3mo hacer tu propia bomba Arduino con contador regresivo para tu Escape Room Educativo de forma f\u00e1cil y barata.<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u00abC\u00f3mo hacer tu propia bomba Arduino con contador regresivo para tu Escape Room Educativo de forma f\u00e1cil y barata.\u00bb \u2014 EduEscapeRoom\" src=\"https:\/\/eduescaperoom.com\/como-hacer-tu-propia-bomba-arduino-con-contador-regresivo-para-tu-escape-room-educativo-de-forma-facil-y-barata\/embed\/#?secret=bxHJefa1Gs#?secret=aXQ8V54r1T\" data-secret=\"aXQ8V54r1T\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>FIN<\/p>\n\n\n\n<p>VIDEO<\/p>\n\n\n\n<figure class=\"wp-block-video\"><\/figure>\n\n\n\n<p>MEMORIA<\/p>\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Proyecto seytrma2526g09 \u00b7 URJC Autores Sergio Monta\u00f1\u00e9s D\u00edaz Alejandra Uzquiano Naranjo Ra\u00fal Moj\u00edo L\u00f3pez En este proyecto de la asignatura de Sistemas Empotrados y de Tiempo Real nos hemos propuesto llevar a cabo el&#46;&#46;&#46;<\/p>\n","protected":false},"author":323,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-10409","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>Juego &quot;Desactivar la Bomba&quot; - 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\/juego-desactivar-la-bomba\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Juego &quot;Desactivar la Bomba&quot; - Proyectos con Arduino.\" \/>\n<meta property=\"og:description\" content=\"Proyecto seytrma2526g09 \u00b7 URJC Autores Sergio Monta\u00f1\u00e9s D\u00edaz Alejandra Uzquiano Naranjo Ra\u00fal Moj\u00edo L\u00f3pez En este proyecto de la asignatura de Sistemas Empotrados y de Tiempo Real nos hemos propuesto llevar a cabo el&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/juego-desactivar-la-bomba\/\" \/>\n<meta property=\"og:site_name\" content=\"Proyectos con Arduino.\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-07T10:03:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-07T10:03:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.etsii.urjc.es\/faeceb0f-c8c8-4e65-8463-5a4afd8b3d55\" \/>\n<meta name=\"author\" content=\"seytrma2526g09\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"seytrma2526g09\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"23 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\\\/juego-desactivar-la-bomba\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/juego-desactivar-la-bomba\\\/\"},\"author\":{\"name\":\"seytrma2526g09\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/person\\\/573f30ace1b0dd77f53ccb68fd39109c\"},\"headline\":\"Juego \u00abDesactivar la Bomba\u00bb\",\"datePublished\":\"2026-05-07T10:03:18+00:00\",\"dateModified\":\"2026-05-07T10:03:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/juego-desactivar-la-bomba\\\/\"},\"wordCount\":4641,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/juego-desactivar-la-bomba\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/faeceb0f-c8c8-4e65-8463-5a4afd8b3d55\",\"articleSection\":[\"Proyectos\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/juego-desactivar-la-bomba\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/juego-desactivar-la-bomba\\\/\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/juego-desactivar-la-bomba\\\/\",\"name\":\"Juego \\\"Desactivar la Bomba\\\" - Proyectos con Arduino.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/juego-desactivar-la-bomba\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/juego-desactivar-la-bomba\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/faeceb0f-c8c8-4e65-8463-5a4afd8b3d55\",\"datePublished\":\"2026-05-07T10:03:18+00:00\",\"dateModified\":\"2026-05-07T10:03:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/juego-desactivar-la-bomba\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/juego-desactivar-la-bomba\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/juego-desactivar-la-bomba\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/faeceb0f-c8c8-4e65-8463-5a4afd8b3d55\",\"contentUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/faeceb0f-c8c8-4e65-8463-5a4afd8b3d55\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/juego-desactivar-la-bomba\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Juego \u00abDesactivar la Bomba\u00bb\"}]},{\"@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\\\/573f30ace1b0dd77f53ccb68fd39109c\",\"name\":\"seytrma2526g09\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7f1cb254af70749d29bdd3eab27d8469c34c2a5a92b795fef3ab2ed1d12d99c4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7f1cb254af70749d29bdd3eab27d8469c34c2a5a92b795fef3ab2ed1d12d99c4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7f1cb254af70749d29bdd3eab27d8469c34c2a5a92b795fef3ab2ed1d12d99c4?s=96&d=mm&r=g\",\"caption\":\"seytrma2526g09\"},\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/author\\\/seytrma2526g09\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Juego \"Desactivar la Bomba\" - 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\/juego-desactivar-la-bomba\/","og_locale":"es_ES","og_type":"article","og_title":"Juego \"Desactivar la Bomba\" - Proyectos con Arduino.","og_description":"Proyecto seytrma2526g09 \u00b7 URJC Autores Sergio Monta\u00f1\u00e9s D\u00edaz Alejandra Uzquiano Naranjo Ra\u00fal Moj\u00edo L\u00f3pez En este proyecto de la asignatura de Sistemas Empotrados y de Tiempo Real nos hemos propuesto llevar a cabo el&#46;&#46;&#46;","og_url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/juego-desactivar-la-bomba\/","og_site_name":"Proyectos con Arduino.","article_published_time":"2026-05-07T10:03:18+00:00","article_modified_time":"2026-05-07T10:03:35+00:00","og_image":[{"url":"https:\/\/blogs.etsii.urjc.es\/faeceb0f-c8c8-4e65-8463-5a4afd8b3d55","type":"","width":"","height":""}],"author":"seytrma2526g09","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"seytrma2526g09","Tiempo de lectura":"23 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/juego-desactivar-la-bomba\/#article","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/juego-desactivar-la-bomba\/"},"author":{"name":"seytrma2526g09","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/person\/573f30ace1b0dd77f53ccb68fd39109c"},"headline":"Juego \u00abDesactivar la Bomba\u00bb","datePublished":"2026-05-07T10:03:18+00:00","dateModified":"2026-05-07T10:03:35+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/juego-desactivar-la-bomba\/"},"wordCount":4641,"commentCount":0,"publisher":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/juego-desactivar-la-bomba\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/faeceb0f-c8c8-4e65-8463-5a4afd8b3d55","articleSection":["Proyectos"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/juego-desactivar-la-bomba\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/juego-desactivar-la-bomba\/","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/juego-desactivar-la-bomba\/","name":"Juego \"Desactivar la Bomba\" - Proyectos con Arduino.","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/juego-desactivar-la-bomba\/#primaryimage"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/juego-desactivar-la-bomba\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/faeceb0f-c8c8-4e65-8463-5a4afd8b3d55","datePublished":"2026-05-07T10:03:18+00:00","dateModified":"2026-05-07T10:03:35+00:00","breadcrumb":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/juego-desactivar-la-bomba\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/juego-desactivar-la-bomba\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/juego-desactivar-la-bomba\/#primaryimage","url":"https:\/\/blogs.etsii.urjc.es\/faeceb0f-c8c8-4e65-8463-5a4afd8b3d55","contentUrl":"https:\/\/blogs.etsii.urjc.es\/faeceb0f-c8c8-4e65-8463-5a4afd8b3d55"},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/juego-desactivar-la-bomba\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blogs.etsii.urjc.es\/dseytr\/"},{"@type":"ListItem","position":2,"name":"Juego \u00abDesactivar la Bomba\u00bb"}]},{"@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\/573f30ace1b0dd77f53ccb68fd39109c","name":"seytrma2526g09","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/7f1cb254af70749d29bdd3eab27d8469c34c2a5a92b795fef3ab2ed1d12d99c4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7f1cb254af70749d29bdd3eab27d8469c34c2a5a92b795fef3ab2ed1d12d99c4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7f1cb254af70749d29bdd3eab27d8469c34c2a5a92b795fef3ab2ed1d12d99c4?s=96&d=mm&r=g","caption":"seytrma2526g09"},"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/author\/seytrma2526g09\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/10409","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\/323"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/comments?post=10409"}],"version-history":[{"count":1,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/10409\/revisions"}],"predecessor-version":[{"id":10422,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/10409\/revisions\/10422"}],"wp:attachment":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media?parent=10409"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/categories?post=10409"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/tags?post=10409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}