{"id":9087,"date":"2024-12-18T13:44:40","date_gmt":"2024-12-18T12:44:40","guid":{"rendered":"https:\/\/blogs.etsii.urjc.es\/dseytr\/?p=9087"},"modified":"2024-12-19T18:48:16","modified_gmt":"2024-12-19T17:48:16","slug":"hucha-inteligente-con-gestion-autonoma","status":"publish","type":"post","link":"https:\/\/blogs.etsii.urjc.es\/dseytr\/hucha-inteligente-con-gestion-autonoma\/","title":{"rendered":"Hucha inteligente con gesti\u00f3n aut\u00f3noma"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"844\" height=\"633\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241212_201633.jpg\" alt=\"\" class=\"wp-image-9173\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241212_201633.jpg 844w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241212_201633-300x225.jpg 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241212_201633-768x576.jpg 768w\" sizes=\"auto, (max-width: 844px) 100vw, 844px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241218_133519-1024x768.jpg\" alt=\"\" class=\"wp-image-9174\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241218_133519-1024x768.jpg 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241218_133519-300x225.jpg 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241218_133519-768x576.jpg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241218_133519-1536x1152.jpg 1536w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241218_133519-2048x1536.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Introducci\u00f3n<\/strong><\/p>\n\n\n\n<p>Nuestra motivaci\u00f3n para crear y desarrollar este proyecto fue intentar crear una hucha inteligente como las que hay actualmente en el mercado.<\/p>\n\n\n\n<p>La idea principal de esta hucha es que te ayude ahorrar como era de esperar, pero esta hucha tiene un seguimiento de la cantidad de monedas que has insertado de manera exacta y precisa, sabiendo en todo momento cu\u00e1nto has ahorrado. Adem\u00e1s, tiene una contrase\u00f1a para aplicar seguridad, y la capacidad de establecer una meta para tener un objetivo en mente del usuario que la utilice. De esta manera el usuario cuando llegue a la meta, podr\u00e1 sacar las monedas introduciendo la contrase\u00f1a.<\/p>\n\n\n\n<p>El esquema general de la hucha se constituye de un display de 4 d\u00edgitos que nos indica las monedas introducidas y el conteo general. Tambi\u00e9n hace uso de una rampa impresa en 3D con agujeros para poder clasificarlas seg\u00fan su tama\u00f1o, sensores infrarrojos para detectar las monedas que caen, y un servomotor para poder mover la puerta.<\/p>\n\n\n\n<p><strong>Reparto de tareas<\/strong><\/p>\n\n\n\n<p>En aspectos generales, el trabajo ha sido hecho en conjunto con el grupo entero. Sin embargo, s\u00ed hay que destacar que ciertos roles o actividades han sido hechos m\u00e1s por alg\u00fan miembro.<\/p>\n\n\n\n<p>Manuel.T: C\u00f3digo y material.<\/p>\n\n\n\n<p>Marcos.S: &nbsp;C\u00f3digo y materiales.<\/p>\n\n\n\n<p>Marcos.C: Carpinter\u00eda y materiales.<\/p>\n\n\n\n<p>Empezamos el d\u00eda 13 de noviembre y acabamos el d\u00eda 13 de diciembre. En este mes, habremos usado 16 horas de las clases (8 clases de 2 horas), y m\u00e1s 16 horas fuera de clase (6 en la biblioteca y 16 fuera de la universidad). En total 38 horas.<\/p>\n\n\n\n<p><strong>Materiales<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Materiales<\/strong><\/td><td><strong>Precio<\/strong><\/td><\/tr><tr><td>Placa Arduino UNO<\/td><td>Incluido<\/td><\/tr><tr><td>6 sensores infrarrojos Frienda-Obstacle-431S<\/td><td>Incluido &nbsp;<\/td><\/tr><tr><td>Registro de desplazamiento 74HC595<\/td><td>Incluido &nbsp;<\/td><\/tr><tr><td>Display 7 segmentos de 4 d\u00edgitos<\/td><td>Incluido &nbsp;<\/td><\/tr><tr><td>DollaTek Infrarrojos Infrarrojos IR inal\u00e1mbrico M\u00f3dulo del Sensor de Control Remoto<\/td><td>13,99 \u20ac (20 unidades)<\/td><\/tr><tr><td>CD74HC4067 multiplexor Digital Anal\u00f3gico de 16 Canales &nbsp;<\/td><td>7,59 \u20ac (5 unidades)<\/td><\/tr><tr><td>Cables<\/td><td>Incluido &nbsp;<\/td><\/tr><tr><td>Servomotor<\/td><td>Incluido &nbsp;<\/td><\/tr><tr><td>Tablas de contrachapado<\/td><td>Reciclado<\/td><\/tr><tr><td>Modelo 3d de la rampa para las monedas<\/td><td>35,00\u20ac (1 unidad)<\/td><\/tr><tr><td>Pistola silicona caliente<\/td><td>Reciclada<\/td><\/tr><tr><td>Cola blanca<\/td><td>4,50 \u20ac (1 unidad)<\/td><\/tr><tr><td>Caja de Tornillos (100 unidades)<\/td><td>4,59 \u20ac<\/td><\/tr><tr><td>Cinta aislante negra<\/td><td>2,99 \u20ac (1 unidad)<\/td><\/tr><tr><td>TOTAL<\/td><td>68,66 \u20ac<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Problemas<\/strong><\/p>\n\n\n\n<p><em>Funciones de estad\u00edstica<\/em><\/p>\n\n\n\n<p>La primera caracter\u00edstica que iba a tener la hucha era la capacidad de medir y calcular c\u00e1lculos estad\u00edsticos como la cantidad total de dinero introducida, cantidad introducida este mes, el \u00faltimo mes, porcentaje de lo ahorrado en comparaci\u00f3n con el mes anterior, etc\u2026<\/p>\n\n\n\n<p>Sin embargo, debido a que solo pod\u00edamos usar el display, y que no era posible obtener datos que se almacenasen con el tiempo. Tuvimos que descartar casi el primer d\u00eda todas estas funciones, qued\u00e1ndonos solo con la cantidad total introducida.<\/p>\n\n\n\n<p>Una posible soluci\u00f3n podr\u00eda haber sido colocar de manera artificial datos de \u201ceste mes\u201d y \u201cdel mes anterior\u201d y simular y hacer los c\u00e1lculos con estos mismos datos. O en vez de \u201ceste mes\u201d y \u201cdel mes anterior\u201d haber introducido variables como \u201ctotal actual\u201d y \u201ctotal anterior\u201d, es decir que se almacenasen los valores introducidos de anteriores veces y con ellos calculase estas estad\u00edsticas.<\/p>\n\n\n\n<p><em>Almac\u00e9n<\/em><\/p>\n\n\n\n<p>Esta caracter\u00edstica era simple en el papel: hacer que las monedas introducidas cayesen en un almac\u00e9n com\u00fan. Y al introducir la contrase\u00f1a abrir un compartimento de este almac\u00e9n para que las monedas cayesen o el usuario las recogiese con suma facilidad.<\/p>\n\n\n\n<p>Sin embargo, debido a que usamos la rampa 3D y el profesor nos dijo que mejor dej\u00e1ramos la rampa completa, no hallamos una manera a tiempo para dirigir las monedas al almac\u00e9n, sino que simplemente ca\u00edan en la caja (junto con todo el cableado).<\/p>\n\n\n\n<p>Una posible soluci\u00f3n ser\u00eda haber quitado parte de la rampa y colocar por debajo de esta misma una cajita a modo de almac\u00e9n.<\/p>\n\n\n\n<p><em>Lector de billetes<\/em><\/p>\n\n\n\n<p>La idea principal inclu\u00eda un lector de billetes para que el usuario tambi\u00e9n pudiese introducirlos.<\/p>\n\n\n\n<p>Sin embargo, era complicado y costoso (en precio y esfuerzo) y no ten\u00edamos los conocimientos necesarios para calcular si ser\u00eda una buena inversi\u00f3n usar un lector o nos ralentizar\u00eda el avance. Al final, fuimos cautelosos y nos aseguramos no perder tiempo, por lo que no lo usamos.<\/p>\n\n\n\n<p><em>Display<\/em><\/p>\n\n\n\n<p>EL display ocupaba la inmensa mayor\u00eda de pines digitales de la placa por lo que necesit\u00e1bamos m\u00e1s pines. Para solucionarlo, usamos un desplazador de registro para poder ahorrar m\u00e1s pines y as\u00ed usarlos con los otros dispositivos. Escribimos notas y apuntes sobre las entradas del desplazador y los cables que fuimos conectando para no perdernos ni enredar tantos estos mismos. Adem\u00e1s, a lo largo del avance del proyecto fue recurrente que el display se apagara en ciertos momentos. Varios de estos problemas se debieron tanto por el cableado que al final sustituimos, como por un defecto en una de las patillas del display. La soluci\u00f3n fue simplemente tratarlo con mucho cuidado y estar pendientes del cableado.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241211_140002-1024x768.jpg\" alt=\"\" class=\"wp-image-9175\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241211_140002-1024x768.jpg 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241211_140002-300x225.jpg 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241211_140002-768x576.jpg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241211_140002-1536x1152.jpg 1536w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241211_140002-2048x1536.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><em>Delay<\/em><\/p>\n\n\n\n<p>Cuando empezamos el c\u00f3digo, nos encontramos con algo extra\u00f1o, el display parpadeaba al iluminarse para mostrar los d\u00edgitos. Lo solucionamos usando un poco de delay, usando la funci\u00f3n delay() y as\u00ed el display se mostr\u00f3 de manera correcta sin mostrar parpadeos, al parecer se debe a que al ir tan r\u00e1pido, los d\u00edgitos se solapaban entre s\u00ed.<\/p>\n\n\n\n<p><em>Multiplexor<\/em><\/p>\n\n\n\n<p>Tuvimos el problema de que, para poder utilizar todos los sensores infrarrojos para todas las monedas, no ten\u00edamos suficientes pines anal\u00f3gicos, por lo que intentamos solucionarlo. Compramos un multiplexor, lo soldamos y tratamos de hacerlo funcionar, pero no hubo forma,&nbsp;no era capaz de leer todos los sensores de manera correcta, por lo que optamos por reducir el n\u00famero de sensores infrarrojos, utilizando 6 en vez de 8 quitando los sensores de las monedas de 1 y 2 c\u00e9ntimos. Adem\u00e1s, nos vino mejor, porque a la hora de detectar las monedas de 1 y 2 c\u00e9ntimos no era muy preciso ya que las monedas eran muy peque\u00f1as para que las detectara el sensor.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"576\" height=\"1024\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/87542cb1-0af6-4333-912b-198b627f713f-576x1024.jpg\" alt=\"\" class=\"wp-image-9176\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/87542cb1-0af6-4333-912b-198b627f713f-576x1024.jpg 576w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/87542cb1-0af6-4333-912b-198b627f713f-169x300.jpg 169w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/87542cb1-0af6-4333-912b-198b627f713f-768x1365.jpg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/87542cb1-0af6-4333-912b-198b627f713f-864x1536.jpg 864w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/87542cb1-0af6-4333-912b-198b627f713f.jpg 1080w\" sizes=\"auto, (max-width: 576px) 100vw, 576px\" \/><\/figure>\n\n\n\n<p><em>Rampa 3D<\/em><\/p>\n\n\n\n<p>Para lograr la clasificaci\u00f3n de monedas se nos vino como primera idea una rampa con varios agujeros por donde caer\u00edan las monedas. Estuvimos pensando si era mejor usar una table de contrachapado y cortar por nuestra cuenta los agujeros, o usar una rampa 3D. Nos decantamos por la rampa 3D, aunque con un poco de miedo ya que vimos que en otros proyectos las impresiones no eran tan precisas. Escogimos una tienda confiable que nos entreg\u00f3 la rampa hecha.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"576\" height=\"1024\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/cd3f0be3-7600-40f2-a94f-f94e3225de3b-576x1024.jpg\" alt=\"\" class=\"wp-image-9177\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/cd3f0be3-7600-40f2-a94f-f94e3225de3b-576x1024.jpg 576w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/cd3f0be3-7600-40f2-a94f-f94e3225de3b-169x300.jpg 169w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/cd3f0be3-7600-40f2-a94f-f94e3225de3b-768x1365.jpg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/cd3f0be3-7600-40f2-a94f-f94e3225de3b-864x1536.jpg 864w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/cd3f0be3-7600-40f2-a94f-f94e3225de3b.jpg 1080w\" sizes=\"auto, (max-width: 576px) 100vw, 576px\" \/><\/figure>\n\n\n\n<p><em>Buzzer<\/em><\/p>\n\n\n\n<p>Nuestra idea original era que, al meter una moneda o al alcanzar la meta, etc\u2026 sonase algo con un buzzer y as\u00ed tener m\u00e1s realimentaci\u00f3n al realizar las acciones. Sin embargo, en cuanto usamos la funci\u00f3n tone() el c\u00f3digo empez\u00f3 a tener problemas. La funci\u00f3n del c\u00f3digo encargada de detectar el mando se quedaba estancada o dej\u00f3 de detectar correctamente al propio mando. Como no ten\u00edamos tiempo no pudimos investigar sobre el por qu\u00e9 surg\u00eda el problema. Directamente lo descartamos.<\/p>\n\n\n\n<p><em>Sensores<\/em><\/p>\n\n\n\n<p>Para detectar las monedas, pensamos en usar sensores infrarrojos. Sin embargo, estos sensores han resultado ser muy dif\u00edciles de controlar. Los sensores ten\u00edan un rango de distancia muy peque\u00f1o, pero eso lo solucionamos posicion\u00e1ndolos con cuidado a una distancia segura. El siguiente problema era que los sensores o recog\u00edan valores altos todo el rato independientemente de que hubiese un objeto o no, o no recog\u00edan ning\u00fan valor, aunque pusieses un objeto delante suya, por lo que hab\u00eda que ser muy preciso al ajustarlos, adem\u00e1s que esta configuraci\u00f3n a veces se cambiaba sola por lo que eran muy sensibles y hab\u00eda que regularlos constantemente. Debido a la falta de tiempo, no pudimos lograr que todos los sensores funcionaran correctamente salvo en contadas excepciones en las que funcionaron, pero luego volvieron a dar error al menos uno de ellos.<\/p>\n\n\n\n<p>Una posible soluci\u00f3n podr\u00eda haber sido colocar los sensores en otro \u00e1ngulo y posici\u00f3n distinto o haber experimentado con los rangos, umbrales y valores de los sensores para intentar nuevas formas de recoger los datos.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/159b6925-be0c-4098-b362-022eacb1ce8d-1024x768.jpg\" alt=\"\" class=\"wp-image-9178\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/159b6925-be0c-4098-b362-022eacb1ce8d-1024x768.jpg 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/159b6925-be0c-4098-b362-022eacb1ce8d-300x225.jpg 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/159b6925-be0c-4098-b362-022eacb1ce8d-768x576.jpg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/159b6925-be0c-4098-b362-022eacb1ce8d-1536x1152.jpg 1536w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/159b6925-be0c-4098-b362-022eacb1ce8d.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><em>Mando<\/em><\/p>\n\n\n\n<p>Al inicio del proyecto ten\u00edamos pensado usar botones para seleccionar las distintas opciones, pero decidimos usar un mando para que tuvi\u00e9ramos mejor usabilidad de la hucha y no complicarnos demasiado. Los problemas fueron el detectar los botones y sus decodificaciones y las interferencias con los sensores infrarrojos.<\/p>\n\n\n\n<p>Para solucionarlos, hicimos pruebas de detecci\u00f3n del mando y fuimos anotando los distintos valores de los botones y, por otro lado, posicionamos en un buen lugar el sensor del mando para que no interfiera con los sensores, ni el cableado. &nbsp;<\/p>\n\n\n\n<p><strong>Pasos dados<\/strong><\/p>\n\n\n\n<p>Los pasos dados durante la implementaci\u00f3n han sido los siguientes:<\/p>\n\n\n\n<p>-Empezamos el primer d\u00eda con un boceto del c\u00f3digo en papel.<\/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\/2024\/12\/IMG_20241213_001555-2-768x1024.jpg\" alt=\"\" class=\"wp-image-9183\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241213_001555-2-768x1024.jpg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241213_001555-2-225x300.jpg 225w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241213_001555-2-1152x1536.jpg 1152w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241213_001555-2-1536x2048.jpg 1536w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241213_001555-2-scaled.jpg 1920w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<p>-Usamos el display, descartamos la idea del lector de billetes y las funciones de estad\u00edstica<\/p>\n\n\n\n<p>-Utilizamos el desplazador de registro para no usar tantas entradas del display<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241202_192321-1024x768.jpg\" alt=\"\" class=\"wp-image-9185\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241202_192321-1024x768.jpg 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241202_192321-300x225.jpg 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241202_192321-768x576.jpg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241202_192321-1536x1152.jpg 1536w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241202_192321-2048x1536.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>-Compramos los sensores infrarrojos y realizamos las primeras pruebas<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"576\" height=\"1024\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/37747760-630e-45cb-b1de-3a62b6f335d8-576x1024.jpg\" alt=\"\" class=\"wp-image-9186\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/37747760-630e-45cb-b1de-3a62b6f335d8-576x1024.jpg 576w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/37747760-630e-45cb-b1de-3a62b6f335d8-169x300.jpg 169w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/37747760-630e-45cb-b1de-3a62b6f335d8-768x1365.jpg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/37747760-630e-45cb-b1de-3a62b6f335d8-864x1536.jpg 864w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/37747760-630e-45cb-b1de-3a62b6f335d8.jpg 1080w\" sizes=\"auto, (max-width: 576px) 100vw, 576px\" \/><\/figure>\n\n\n\n<p>-Pedimos hacer la rampa 3D y la empezamos a limar y cortar para ajustarla<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"576\" height=\"1024\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/4785d2d0-59a8-427c-af17-5e34b01bb5c0-576x1024.jpg\" alt=\"\" class=\"wp-image-9187\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/4785d2d0-59a8-427c-af17-5e34b01bb5c0-576x1024.jpg 576w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/4785d2d0-59a8-427c-af17-5e34b01bb5c0-169x300.jpg 169w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/4785d2d0-59a8-427c-af17-5e34b01bb5c0-768x1365.jpg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/4785d2d0-59a8-427c-af17-5e34b01bb5c0-864x1536.jpg 864w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/4785d2d0-59a8-427c-af17-5e34b01bb5c0.jpg 1080w\" sizes=\"auto, (max-width: 576px) 100vw, 576px\" \/><\/figure>\n\n\n\n<p>-Intentamos usar un multiplexor para poder usar los 8 sensores. Tratamos de soldarlo, pero no hubo manera. Despu\u00e9s fue eliminado y usamos 6 sensores directamente en su lugar.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"576\" height=\"1024\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/48098e4d-57ae-411e-8ca8-7a4af6399d2e-576x1024.jpg\" alt=\"\" class=\"wp-image-9188\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/48098e4d-57ae-411e-8ca8-7a4af6399d2e-576x1024.jpg 576w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/48098e4d-57ae-411e-8ca8-7a4af6399d2e-169x300.jpg 169w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/48098e4d-57ae-411e-8ca8-7a4af6399d2e-768x1365.jpg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/48098e4d-57ae-411e-8ca8-7a4af6399d2e-864x1536.jpg 864w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/48098e4d-57ae-411e-8ca8-7a4af6399d2e.jpg 1080w\" sizes=\"auto, (max-width: 576px) 100vw, 576px\" \/><\/figure>\n\n\n\n<p>-Instalamos en la caja de madera todo el circuito para empotrarlo y juntamos todos los elementos<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/159b6925-be0c-4098-b362-022eacb1ce8d-1-1024x768.jpg\" alt=\"\" class=\"wp-image-9189\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/159b6925-be0c-4098-b362-022eacb1ce8d-1-1024x768.jpg 1024w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/159b6925-be0c-4098-b362-022eacb1ce8d-1-300x225.jpg 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/159b6925-be0c-4098-b362-022eacb1ce8d-1-768x576.jpg 768w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/159b6925-be0c-4098-b362-022eacb1ce8d-1-1536x1152.jpg 1536w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/159b6925-be0c-4098-b362-022eacb1ce8d-1.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Circuito<\/strong><\/p>\n\n\n\n<p>Circuito hecho con Tinkercad:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"884\" height=\"395\" src=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/image-4.png\" alt=\"\" class=\"wp-image-9172\" srcset=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/image-4.png 884w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/image-4-300x134.png 300w, https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/image-4-768x343.png 768w\" sizes=\"auto, (max-width: 884px) 100vw, 884px\" \/><\/figure>\n\n\n\n<p>V\u00eddeo de demostraci\u00f3n de la hucha:<\/p>\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<iframe loading=\"lazy\" title=\"CASOS DE USO\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/LM1dxnDSiuQ?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>\n<\/div><\/figure>\n\n\n\n<p><strong>C\u00f3digo<\/strong><\/p>\n\n\n\n<p>\/\/Librer\u00edas<\/p>\n\n\n\n<p>&nbsp; #include &lt;Servo.h&gt;<\/p>\n\n\n\n<p>&nbsp; #include &lt;IRremote.h&gt;<\/p>\n\n\n\n<p>&nbsp; \/\/Pines<\/p>\n\n\n\n<p>&nbsp; int IR = 2;<\/p>\n\n\n\n<p>&nbsp; int clockPin = 13;<\/p>\n\n\n\n<p>&nbsp; int latchPin = 12;<\/p>\n\n\n\n<p>&nbsp; int dataPin = 11;<\/p>\n\n\n\n<p>&nbsp; int infra0 = 0;<\/p>\n\n\n\n<p>&nbsp; int infra1 = 1;<\/p>\n\n\n\n<p>&nbsp; int infra2 = 2;<\/p>\n\n\n\n<p>&nbsp; int infra3 = 3;<\/p>\n\n\n\n<p>&nbsp; int infra4 = 4;<\/p>\n\n\n\n<p>&nbsp; int infra5 = 5;<\/p>\n\n\n\n<p>\/\/Variables<\/p>\n\n\n\n<p>Servo myservo; &nbsp;<\/p>\n\n\n\n<p>int meta = 0;<\/p>\n\n\n\n<p>int cantidadTotal = 0;<\/p>\n\n\n\n<p>int password= 0;<\/p>\n\n\n\n<p>int comprobador = 0;<\/p>\n\n\n\n<p>int first = 1;<\/p>\n\n\n\n<p>void setup(){ &nbsp; &nbsp; &nbsp;<\/p>\n\n\n\n<p>&nbsp; IrReceiver.begin(IR, DISABLE_LED_FEEDBACK); &nbsp; &nbsp; &nbsp; &nbsp;<\/p>\n\n\n\n<p>&nbsp; pinMode(clockPin,OUTPUT);<\/p>\n\n\n\n<p>&nbsp; pinMode(latchPin,OUTPUT);<\/p>\n\n\n\n<p>&nbsp; pinMode(dataPin,OUTPUT);<\/p>\n\n\n\n<p>&nbsp; pinMode(7,OUTPUT);<\/p>\n\n\n\n<p>&nbsp; pinMode(8,OUTPUT);<\/p>\n\n\n\n<p>&nbsp; pinMode(9,OUTPUT);<\/p>\n\n\n\n<p>&nbsp; pinMode(10,OUTPUT);<\/p>\n\n\n\n<p>&nbsp; Serial.begin(9600);<\/p>\n\n\n\n<p>&nbsp; myservo.attach(6);<\/p>\n\n\n\n<p>&nbsp; for(int i=0;i&lt;3000;i++){<\/p>\n\n\n\n<p>&nbsp; Display(3 , 11, 0);<\/p>\n\n\n\n<p>&nbsp; Display(2 , 11, 0);<\/p>\n\n\n\n<p>&nbsp; Display(1, 11, 0);<\/p>\n\n\n\n<p>&nbsp; Display(0,11, 0);<\/p>\n\n\n\n<p>&nbsp; }<\/p>\n\n\n\n<p>&nbsp; while(numeroMando() != 12){<\/p>\n\n\n\n<p>&nbsp; &nbsp; writePASS();<\/p>\n\n\n\n<p>&nbsp; }<\/p>\n\n\n\n<p>&nbsp; password=clave();<\/p>\n\n\n\n<p>&nbsp; delay(1);<\/p>\n\n\n\n<p>&nbsp; while(numeroMando()!=12){<\/p>\n\n\n\n<p>&nbsp; &nbsp; writeGOAL();<\/p>\n\n\n\n<p>&nbsp; }<\/p>\n\n\n\n<p>&nbsp; meta=clave();<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>void writeGOAL(){<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,125);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,63);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,119);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,56);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>void writePASS(){<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,115);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,119);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,109);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,109);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>void write2Euros(){<\/p>\n\n\n\n<p>&nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,219);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,63);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,63);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>void write1Euro(){<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,134);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,63);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,63);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>void write50Cent(){<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,191);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,109);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,63);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>void write20Cent(){<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,191);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,91);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,63);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>void write10Cent(){<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,191);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,6);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,63);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>void write5Cent(){<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,191);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,63);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,109);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>void writeFULL(){<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,113);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,62);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,56);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,56);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>void writeNOTHING(){<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(7,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(10,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; delay(2);<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>int clave(){<\/p>\n\n\n\n<p>&nbsp; int n0 = -1, n1 = -1, n2 = -1, n3 = -1;<\/p>\n\n\n\n<p>&nbsp; digitalWrite(7 ,HIGH); &nbsp; &nbsp; &nbsp; &nbsp;\/\/ Apaga todos los digitos<\/p>\n\n\n\n<p>&nbsp; digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; while(n0 == -1){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; n0 = numeroMando();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; Display(0 , n0, 0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; delay(1);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; while(n1 == -1){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; n1 = numeroMando();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; Display(0 , n0, 0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; Display(1 , n1, 0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; delay(1);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; while(n2 == -1){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; n2 = numeroMando();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; Display(0 , n0, 0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; Display(1 , n1, 0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; Display(2 , n2, 0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; delay(1);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; while(n3 == -1){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; n3 = numeroMando();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; delay(1);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; Display(0 , n0, 0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; Display(1 , n1, 0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; Display(2 , n2, 0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; Display(3 , n3, 0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; delay(500);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; while(numeroMando() != 12){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; return(n0*1000 + n1*100 + n2 * 10+ n3);<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>int numeroMando(){<\/p>\n\n\n\n<p>&nbsp; if (IrReceiver.decode()) { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<\/p>\n\n\n\n<p>&nbsp; switch(IrReceiver.decodedIRData.decodedRawData){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(3125149440):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; IrReceiver.resume();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; return 1;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(3108437760):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; IrReceiver.resume();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return 2;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(3091726080):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; IrReceiver.resume();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 3;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(3141861120):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; IrReceiver.resume();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; return 4;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(3208707840):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; IrReceiver.resume();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; return 5;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(3158572800):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; IrReceiver.resume();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; return 6;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(4161273600):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; IrReceiver.resume();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; return 7;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(3927310080):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; IrReceiver.resume();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; return 8;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(4127850240):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; IrReceiver.resume();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; return 9;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(3860463360):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; IrReceiver.resume();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; return 0;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(3910598400):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; IrReceiver.resume();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; return 10;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(4061003520):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; IrReceiver.resume();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; return 11;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(3810328320):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; IrReceiver.resume();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; return 12;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; default:<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IrReceiver.resume();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Serial.print(\u00ab\u00bb);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return -1;<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>void Display(int pos, int N, int contador)<\/p>\n\n\n\n<p>&nbsp; &nbsp;{ &nbsp;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp;digitalWrite(7 ,HIGH); &nbsp; &nbsp; &nbsp; &nbsp;\/\/ Apaga todos los digitos<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp;digitalWrite(8,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp;digitalWrite(9,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp;digitalWrite(10,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp;digitalWrite(latchPin,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; switch(N){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(0):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(pos == 1 &amp;&amp; contador == 1) {<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,191);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }else{<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,63);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(1):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(pos == 1 &amp;&amp; contador == 1) {<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,134);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }else{<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,6);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(2):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(pos == 1 &amp;&amp; contador == 1) {<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,219);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }else{<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,91);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(3):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(pos == 1 &amp;&amp; contador == 1) {<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,207);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }else{<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,79);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(4):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(pos == 1 &amp;&amp; contador == 1) {<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,230);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }else{<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,102);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(5):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(pos == 1 &amp;&amp; contador == 1) {<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,237);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }else{<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,109);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(6):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(pos == 1 &amp;&amp; contador == 1) {<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,253);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }else{<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,125);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(7):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(pos == 1 &amp;&amp; contador == 1) {<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,135);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }else{<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,7);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(8):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(pos == 1 &amp;&amp; contador == 1) {<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,255);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }else{<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,127);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(9):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(pos == 1 &amp;&amp; contador == 1) {<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,231);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }else{<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,103);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(11):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shiftOut(dataPin,clockPin,MSBFIRST,64);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; digitalWrite(latchPin,HIGH);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; switch(pos){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(0):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; digitalWrite(7,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(1):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; digitalWrite(8,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(2):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; digitalWrite(9,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; case(3):<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; digitalWrite(10,LOW);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; break;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; }<\/p>\n\n\n\n<p>&nbsp; void CalculaDigitos( int Num) {<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; int Digit0 = Num %10 ;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; int Digit1 = (Num % 100) \/ 10 ;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; int Digit2 = (Num % 1000) \/ 100 ;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; int Digit3 = (Num &nbsp;\/ 1000) &nbsp;;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; Display(0 , Digit3, 1);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; delay(1);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; Display(1 , Digit2, 1);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; delay(1);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; Display(2 , Digit1, 1);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; delay(1);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; Display(3 , Digit0, 1);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; delay(1);<\/p>\n\n\n\n<p>&nbsp; &nbsp;}<\/p>\n\n\n\n<p>&nbsp; &nbsp;void loop(){<\/p>\n\n\n\n<p>&nbsp; &nbsp; if(numeroMando()!= -1){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; comprobador=clave();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; if(comprobador==password){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; Serial.println(\u00abContrase\u00f1a correcta\u00bb);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; cantidadTotal = 0;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; first = 1;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; myservo.write(180);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; delay(500); &nbsp;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; myservo.write(0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; delay(500); &nbsp;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }else{<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; Serial.println(\u00abContrase\u00f1a incorrecta\u00bb);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; \/\/10 cent<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; int valor5 = analogRead(infra5);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; if(valor5&lt;500 ){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; for(int i = 0; i &lt; 200; i++){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; write10Cent();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; cantidadTotal = cantidadTotal +10;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; \/\/5 cent<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; int valor4 = analogRead(infra4);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; if(valor4 &lt;500){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; for(int i = 0; i &lt; 200; i++){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; write5Cent();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; cantidadTotal = cantidadTotal +5;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; \/\/20 cent<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; int valor3 = analogRead(infra3);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; if(valor3&lt;500 ){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; for(int i = 0; i &lt; 200; i++){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; write20Cent();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; cantidadTotal = cantidadTotal +20;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; \/\/1 euro<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; int valor2 = analogRead(infra2);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; if(valor2 &lt;500){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; for(int i = 0; i &lt; 200; i++){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; write1Euro();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; cantidadTotal = cantidadTotal +100;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; \/\/50 cent<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; int valor1 = analogRead(infra1);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; if(valor1&lt;500 ){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; for(int i = 0; i &lt; 200; i++){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; write50Cent();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; cantidadTotal = cantidadTotal + 50;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; \/\/2 euros<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; int valor0 = analogRead(infra0);<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; if(valor0 &lt;500){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; for(int i = 0; i &lt; 200; i++){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; write2Euros();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; cantidadTotal = cantidadTotal +200;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; if(cantidadTotal &gt;= meta &amp;&amp; first == 1){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; int i = 0;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; while(i &lt; 50){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; writeGOAL();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; i++;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; while(i &lt; 100){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; writeNOTHING();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; i++;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; while(i &lt; 150){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; writeGOAL();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; i++;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; while(i &lt; 200){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; writeNOTHING();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; i++;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; while(i &lt; 250){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; writeGOAL();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; i++;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; while(i &lt; 300){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; writeNOTHING();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; i++;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; while(i &lt; 350){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; writeGOAL();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; i++;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; while(i &lt; 400){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; writeNOTHING();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; i++;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; first = 0;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; if(cantidadTotal &lt; 10000){<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; CalculaDigitos(cantidadTotal) ;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }else{<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; writeFULL();<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp;<\/p>\n\n\n\n<p>&nbsp; }<\/p>\n\n\n\n<p><strong>Posibles mejoras<\/strong><\/p>\n\n\n\n<p>A lo largo del apartado de los problemas encontrados se han ido mencionando las posibles mejoras. Aqu\u00ed las repasaremos de una manera concisa y breve.<\/p>\n\n\n\n<p>-Utilizar el buzzer (o altavoz mp3) para notificar o implementar voz incluso.<\/p>\n\n\n\n<p>-Conseguir que los sensores funcionasen de una manera correcta y consistente, y haber puesto los sensores en los 8 agujeros.<\/p>\n\n\n\n<p>-Construir el almac\u00e9n y un pasillo por donde las monedas saldr\u00edan<\/p>\n\n\n\n<p>-Usar un lector de billetes y tambi\u00e9n almacenarlos.<\/p>\n\n\n\n<p>-A\u00f1adir funciones de estad\u00edstica<\/p>\n\n\n\n<p>-Haber utilizado la pantalla LCD en vez del display para a\u00f1adir m\u00e1s palabras y expresiones.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n Nuestra motivaci\u00f3n para crear y desarrollar este proyecto fue intentar crear una hucha inteligente como las que hay actualmente en el mercado. La idea principal de esta hucha es que te ayude ahorrar&#46;&#46;&#46;<\/p>\n","protected":false},"author":248,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-9087","post","type-post","status-publish","format-standard","hentry","category-proyectos"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Hucha inteligente con gesti\u00f3n aut\u00f3noma - 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\/hucha-inteligente-con-gestion-autonoma\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hucha inteligente con gesti\u00f3n aut\u00f3noma - Proyectos con Arduino.\" \/>\n<meta property=\"og:description\" content=\"Introducci\u00f3n Nuestra motivaci\u00f3n para crear y desarrollar este proyecto fue intentar crear una hucha inteligente como las que hay actualmente en el mercado. La idea principal de esta hucha es que te ayude ahorrar&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/hucha-inteligente-con-gestion-autonoma\/\" \/>\n<meta property=\"og:site_name\" content=\"Proyectos con Arduino.\" \/>\n<meta property=\"article:published_time\" content=\"2024-12-18T12:44:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-19T17:48:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241212_201633.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"844\" \/>\n\t<meta property=\"og:image:height\" content=\"633\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"dse2425g04\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"dse2425g04\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"26 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\\\/hucha-inteligente-con-gestion-autonoma\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/hucha-inteligente-con-gestion-autonoma\\\/\"},\"author\":{\"name\":\"dse2425g04\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/person\\\/9ff84e8f0373a204e3cec3b24a4da081\"},\"headline\":\"Hucha inteligente con gesti\u00f3n aut\u00f3noma\",\"datePublished\":\"2024-12-18T12:44:40+00:00\",\"dateModified\":\"2024-12-19T17:48:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/hucha-inteligente-con-gestion-autonoma\\\/\"},\"wordCount\":5264,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/hucha-inteligente-con-gestion-autonoma\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2024\\\/12\\\/IMG_20241212_201633.jpg\",\"articleSection\":[\"Proyectos\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/hucha-inteligente-con-gestion-autonoma\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/hucha-inteligente-con-gestion-autonoma\\\/\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/hucha-inteligente-con-gestion-autonoma\\\/\",\"name\":\"Hucha inteligente con gesti\u00f3n aut\u00f3noma - Proyectos con Arduino.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/hucha-inteligente-con-gestion-autonoma\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/hucha-inteligente-con-gestion-autonoma\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2024\\\/12\\\/IMG_20241212_201633.jpg\",\"datePublished\":\"2024-12-18T12:44:40+00:00\",\"dateModified\":\"2024-12-19T17:48:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/hucha-inteligente-con-gestion-autonoma\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/hucha-inteligente-con-gestion-autonoma\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/hucha-inteligente-con-gestion-autonoma\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2024\\\/12\\\/IMG_20241212_201633.jpg\",\"contentUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2024\\\/12\\\/IMG_20241212_201633.jpg\",\"width\":844,\"height\":633},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/hucha-inteligente-con-gestion-autonoma\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hucha inteligente con gesti\u00f3n aut\u00f3noma\"}]},{\"@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\\\/9ff84e8f0373a204e3cec3b24a4da081\",\"name\":\"dse2425g04\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ec1e33a448c535d3fc19234d3ad967f1de1563cd741760a2e9ddffd8816ad261?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ec1e33a448c535d3fc19234d3ad967f1de1563cd741760a2e9ddffd8816ad261?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ec1e33a448c535d3fc19234d3ad967f1de1563cd741760a2e9ddffd8816ad261?s=96&d=mm&r=g\",\"caption\":\"dse2425g04\"},\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/author\\\/dse2425g04\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hucha inteligente con gesti\u00f3n aut\u00f3noma - 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\/hucha-inteligente-con-gestion-autonoma\/","og_locale":"es_ES","og_type":"article","og_title":"Hucha inteligente con gesti\u00f3n aut\u00f3noma - Proyectos con Arduino.","og_description":"Introducci\u00f3n Nuestra motivaci\u00f3n para crear y desarrollar este proyecto fue intentar crear una hucha inteligente como las que hay actualmente en el mercado. La idea principal de esta hucha es que te ayude ahorrar&#46;&#46;&#46;","og_url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/hucha-inteligente-con-gestion-autonoma\/","og_site_name":"Proyectos con Arduino.","article_published_time":"2024-12-18T12:44:40+00:00","article_modified_time":"2024-12-19T17:48:16+00:00","og_image":[{"width":844,"height":633,"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241212_201633.jpg","type":"image\/jpeg"}],"author":"dse2425g04","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"dse2425g04","Tiempo de lectura":"26 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/hucha-inteligente-con-gestion-autonoma\/#article","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/hucha-inteligente-con-gestion-autonoma\/"},"author":{"name":"dse2425g04","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/person\/9ff84e8f0373a204e3cec3b24a4da081"},"headline":"Hucha inteligente con gesti\u00f3n aut\u00f3noma","datePublished":"2024-12-18T12:44:40+00:00","dateModified":"2024-12-19T17:48:16+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/hucha-inteligente-con-gestion-autonoma\/"},"wordCount":5264,"commentCount":0,"publisher":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/hucha-inteligente-con-gestion-autonoma\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241212_201633.jpg","articleSection":["Proyectos"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/hucha-inteligente-con-gestion-autonoma\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/hucha-inteligente-con-gestion-autonoma\/","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/hucha-inteligente-con-gestion-autonoma\/","name":"Hucha inteligente con gesti\u00f3n aut\u00f3noma - Proyectos con Arduino.","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/hucha-inteligente-con-gestion-autonoma\/#primaryimage"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/hucha-inteligente-con-gestion-autonoma\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241212_201633.jpg","datePublished":"2024-12-18T12:44:40+00:00","dateModified":"2024-12-19T17:48:16+00:00","breadcrumb":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/hucha-inteligente-con-gestion-autonoma\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/hucha-inteligente-con-gestion-autonoma\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/hucha-inteligente-con-gestion-autonoma\/#primaryimage","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241212_201633.jpg","contentUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2024\/12\/IMG_20241212_201633.jpg","width":844,"height":633},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/hucha-inteligente-con-gestion-autonoma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blogs.etsii.urjc.es\/dseytr\/"},{"@type":"ListItem","position":2,"name":"Hucha inteligente con gesti\u00f3n aut\u00f3noma"}]},{"@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\/9ff84e8f0373a204e3cec3b24a4da081","name":"dse2425g04","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/ec1e33a448c535d3fc19234d3ad967f1de1563cd741760a2e9ddffd8816ad261?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ec1e33a448c535d3fc19234d3ad967f1de1563cd741760a2e9ddffd8816ad261?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ec1e33a448c535d3fc19234d3ad967f1de1563cd741760a2e9ddffd8816ad261?s=96&d=mm&r=g","caption":"dse2425g04"},"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/author\/dse2425g04\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/9087","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\/248"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/comments?post=9087"}],"version-history":[{"count":7,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/9087\/revisions"}],"predecessor-version":[{"id":9215,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/9087\/revisions\/9215"}],"wp:attachment":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media?parent=9087"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/categories?post=9087"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/tags?post=9087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}