Hola a todos, soy nuevo con el arduino, tengo una idea pero necesito saber la forma de hacerla realidad. Tengo 4 máquinas y quiero controlar el tiempo que llevan detenidas cada semana, pensé usar un relé para hacer de interruptor al arduino, pero también leí que podría usar un módulo rtc. ¿Cúal me recomiendan usar? Lo que en realidad necesito es que los datos del tiempo de parada de mis máquinas, se almacenen para luego introducirlos a mi base de datos.
Primero te recomiendo que leas las normas del foro, además que leas en que foro debes crear tus hilos y entonces si, podremos responder tu consulta.
El reloj RTC en nada te va a resolver el problema del tiempo de marcha o de apagado de una máquina.
El reloj es para llevar la hora y nada mas.
Una forma simple de informarle a arduino es usando un RELE como bien dices. Lo concetas en paralelo con la máquina y cuando esta se enciende sabremos el tiempo de marcha y cuando se detenta paramos el timer o bien a la inversa.
Es indistinto.
El probelma es que el rele rebota pero tiene solución.
Para hacer una prueba te basta con un arduino y un pulsador o bien si lo quieres probar mejor, consigue el relé que usarás para tu máquina y conectarmeos a los contactos NO usando una conexion entre GND y el pin directamente para leer el estado.
Luego es código.
Podrías guardar la fecha y hora de apagado de cada máquina en una memoria SD o bien en una EEPROM.
En esa parte te podría ayudar un RTC fiable como el DS3231, además tiene una EEPROM relativamente grande (32 Kb); así que te podrías evitar el lector SD.
Solo tendrías que aplicar algunas matemáticas simples para calciular el número de horas detenidas en cada máquina, considerando la hora/fecha del ultimo paso, contra la hora actual o de nuevo arranque.
Podrías usar una pantalla económica como un LCD de 4 lineas, un lcd gráfico de 128x64 o un TFT ILI9341 de 2.2" o 2.4" de 320x240, como elemento de visualización.
Faltaría la parte de detección de arranque/paro, quizás podría ser una fotorresistencia frente a algún foco indicador, que seguramente deben tener las máquinas que quieres monitorear.
Yo llevo el control de funcionamiento de máquinas sin RTC usando millis().
Finalmente quieres saber cuantas horas acumuladas tienes, no si se encendió a las 3:23:45 y se apagó a las 18:34:03
Aclaro que es mi punto de vista
La idea es llevar cuanto tiempo de marcha tiene una máquina para luego hacer el mantenimiento. Por ejmplo, cuanod acumule 1000 hs se debe hacer tal cosa y a las 2000 cambiar aceite.