Sí, es seguro apagar abruptamente un Arduino.
Bueno, principalmente seguro.
Los procesadores utilizados en los diferentes Arduinos tienen tres tipos de memoria:
-
Flash - Donde se almacena tu programa. Tu programa puede leer cosas de aquí, pero no puede escribir en ella.
-
RAM - Donde se mantienen las variables de tu programa mientras el programa se está ejecutando. Los datos aquí desaparecen cuando apagas el Arduino. Tu programa lee y escribe constantemente aquí.
-
EEPROM - Donde tu programa puede almacenar cosas que necesitará la próxima vez que se ejecute. Normalmente, cosas que cambian raramente, pero se necesitan cada vez que se ejecuta el programa. Como datos de calibración para un sensor.
La mayoría de los programas solo utilizan Flash y RAM. Puedes encender y apagar el Arduino en cualquier momento con esos programas.
Si tu programa escribe en la EEPROM, entonces apagar la alimentación mientras se está escribiendo en la EEPROM podría corromper los datos allí.
Cómo afecta tu programa esto depende de qué datos se traten.
Si corrompe los datos de calibración de un sensor, obtendrías mediciones incorrectas para lo que el sensor está detectando.
Si escribes sumas de verificación con tus datos de EEPROM, entonces podrías detectar la corrupción y tu programa podría apagarse en lugar de usar datos incorrectos.
Tú, por supuesto, sabrías si tu programa escribe en la EEPROM - debes cargar una biblioteca separada y usar comandos especiales para leer y escribir en la zona de la EEPROM.
El peligro realmente solo está en ese breve momento cuando se escribe en la EEPROM. Dado que esto sucede raramente (y generalmente solo en condiciones controladas), también será raro corromper los datos de la EEPROM.
Resumen:
Puedes encender y apagar un Arduino a voluntad sin peligro, a menos que estés usando la EEPROM, y aún así te saldrás con la tuya la mayoría de las veces.
3 votos
Tenga en cuenta que "Arduino" es una marca comercial, por lo que lleva una 'A' mayúscula. Las mayúsculas son importantes.
3 votos
Tal vez si en realidad es un "Arduino", pero la pregunta es en realidad sobre un ATmega en una placa personalizada que sería más como un "arduino". En cuanto al tema en cuestión, además del ATmega, también se deben considerar cualquier otro componente que pueda tener estado, especialmente memorias externas - por ejemplo, si hay una tarjeta SD que requiere una gran cantidad de pensamiento y cuidado. Por último, algunas fuentes de alimentación hacen cosas desagradables al encenderse/apagarse.
1 votos
¿Podemos asumir que tampoco estás usando una tarjeta SD?
0 votos
Es tu producto. ¿Necesitas guardar algo si se apaga la energía? La respuesta a esa pregunta responde tu pregunta.