Auto reset automático

Hola me ha surgido una pequeña duda y no sé si se podrá realizar, que Arduino haga un reset automático cada x tiempo, es decir que la placa se apague y encienda cada x tiempo automáticamente.

Gracias.

Eso lo puedes implementar con el watchdog o perro guardián que ya tiene implementado sin tocar el hardware como tu sugieres. El watchdog es un recurso que actua como una inicialización algo mas avanzada (ya que salva registros previos al reset por software) y permite que vuelvas como si nada ha pasado. Se incorpora en el loop justamente para proteger que tu arduino no se cuelgue y si no reseteas una variable antes de determinado tiempo, el se activa y ejecuta un reset.

Dime si esto que te comento podría resolver tu problema. Pero antes que problema tienes?

Hola Suryte, la verdad es que lo has clavado a la primera, el problema es que voy a tener encendido el arduino mucho tiempo, la verdad es que no se ni el tiempo, puede ser un año sin apagarse, medio año o dos años, la verdad no lo sé, y el miedo que tengo es que la placa se bloquee, y no funcione, y he pensado que si cada cierto tiempo, la placa se resetea sola, pues me evitare un problema, creo que esta solución que me aconsejas puede ser la ideal, voy a ver si lo encuentro y lo voy viendo, excepto si después de explicarte esto me aconsejas otra cosa. Gracias.

Yo te comento rápidamente las razones para usar un watchdog: - si trabajas con punteros (que son hermosos pero generan problemas si no se es cuidadoso) por mala programación es posible que tengan comportamientos erráticos. Lo mismo ocurre si usas String grandes. En realidad un programa que no esta al límite de memoria no debería tener problemas a menos que...

  • estes en un ambiente ruidoso electricamente hablando, o con antenas de RF cercanas o campos electricos fuertes de transformadores o alguna fuente parecida.

En un ambiente industrial hay muchos motores que se accionan, luces con balastos que generan grandes interferencias, éstas viajan por toda la red electrica y llegan directo al arduino provocando pequeñas fluctuaciones en su alimentación y reset. Obvio problemas. Muchas recomendaciones para estos casos pero si no dices en que ambiente estarás uno generaliza mucho.

  • no se me ocurren otros lugares preocupantes porque estas dos situaciones son responsables de gran parte de los problemas.

Si tu problema es de punteros/String/Falta de RAM un watchdog no resuelve nada, porque volverá a resetearse y puede ser tan aleatorio como una vez cada 8 meses o varias veces por hora. NO lo se.

En un ambiente industrial, debes tener en cuenta aislaciones de campos electricos, de entradas y salidas, de entradas analogicas, de alimentación, es tan complejo que casi es un mundo aparte.

Asi que te devuelvo el problema jaja

Bueno no se me va a dar esos casos, solamente había pensado en resetear la placa porque se va a tirar mucho tiempo encendida sin apagar, y pensé que el arduino se puede bloquear por estar mucho tiempo encendido, no va a estar sometido a grandes interferencias en un principio, el miedo que tengo es por la duración de tiempo sin apagarse. Gracias.

Y bueno implementalo igual. Busca Arduino watchdog

Yo más que resetearlo periódicamente, implementaría el whatchdog de forma normal, y que solo se reinicie, si hay un bloqueo.

Voy a intentar instalarlo y os cuento, porque tengo alguna duda con lo poco que he visto.

Un saludo.

Hola buenas tardes, por lo que veo instalar watchgog no me parece complicado, lo único es que tengo un par de dudas, tengo una placa de Arduino uno y no se si el Booloader permite instalar watchdog o como hacerlo, y la otra es ¿Cómo se una vez instalado, si funciona?

Un saludo.

Escribe un programa simple que caiga por alguna acción en un loop infinito tipo while(1); Eso es lo mismo que si se colgara.