¡Hola a todos!
Primero de todo comentar que soy muy novato en esto de la electrónica y que he estado buscando otros posts pero no estoy seguro de que encajen exactamente con mi problema. Así que me he decidido a explicaros en detalle lo que me está ocurriendo. Me compré un piso hace 3 años y dado que lo tiré todo abajo, tuve la "genial" idea de prepararlo para domotizarlo a través de Arduino. Diseñé un sistema en el que por cada caja de empalme de electricidad empotraba a su lado otra más grande en la que iria un Arduino y los componentes de ese Arduino (relés, dimmers, etc).
Pasé todos los cables eléctricos de la vivienda y ahora solo me falta poner los arduinos y los pulsadores para controlar las luces. Y buf, la verdad es que me está costando un montón, no hace falta decir que por momentos me arrepiento jeje.
De momento he hecho dos placas pcb, una en el estudio y otra en el lavabo, y en ambas tengo el mismo problema: las luces se encienden/apagan misteriosamente en determinados momentos.
Para no liar mucho, os explicaré uno de los dos casos; Tengo una placa con un dimmer y un relé con optoacoplador, ambos de la marca Robotdyn. Estos estan conectados a un Arduino NANO, el de aliexpress. Luego tengo dos pulsadores, que son unos mecanismos Simon a los cuales he conectado cable de telefono trenzado que van conectado a los pines digitales de Arduino, los cuales llevan una resitencia pull down de 10k. El arduino está alimentado por un transformador de CA a CC (12V). El transformador lo tengo en la caja de empalmes y paso dos cables a la caja de Arduino para alimentarlo.
Entonces, tengo un extractor y una luz en el lavabo que quiero controlar con esos dos pulsadores. Lo que hago es conectar el dimmer a la luz y el relé al extractor. El código que tengo lo que hace es detectar si se pasó del 0 al 1 y entonces pues enciende/apaga segun el estado previo que tuviera. No utilizo la función delay(), uso la función milis() para crear el delay. A nivel de código todo parece estar bien, soy desarrollador de sotware con más de 15 años de experiencia y os puedo "asegurar" que por ahí todo anda bien.
Entonces, vamos a hablar del problema. Lo que me está ocurriendo es que cuando pulso el pulsador para activar el extractor también se me enciende/apaga la luz. No ocurre el 100% de las veces, es un poco aleatorio, a veces sí, a veces no. Sin embargo cuando enciendo/apago la luz, el extractor no cambia de estado.
Parece un problema de ruido que hace que el pin digital del dimmer reciba un 1 pese a no haber pulsado el pulsador. Después de leer otros posts y ver problemas similares me decidí a poner un condensador de 0.1uF y otro de 100uF en paralelo en los pines VIN y GND de Arduino, pero no parece resovler nada.
La situación ahora es que estoy con muchas dudas y no se por donde tirar. A ver si alguien puede ayudarme con esto, ando algo desesperado.
Muchas gracias!!!