Tak, można bezpiecznie wyłączyć Arduino.
Cóż, w większości bezpieczny.
Procesory stosowane w różnych Arduinos mają trzy typy pamięci:
Flash - Gdzie jest przechowywany twój program. Twój program może czytać rzeczy stąd, ale nie może tego napisać.
RAM - gdzie zmienne programu są przechowywane podczas działania programu. Dane tutaj znikają po wyłączeniu Arduino. Twój program czyta i pisze tutaj stale.
EEPROM - tam, gdzie twój program może przechowywać rzeczy, które będą potrzebne przy następnym uruchomieniu. Zwykle rzeczy, które zmieniają się rzadko, ale są potrzebne przy każdym uruchomieniu programu. Jak dane kalibracyjne dla czujnika.
Większość programów używa tylko Flasha i RAM. Za pomocą tych programów możesz włączać i wyłączać Arduino w dowolnym momencie.
Jeśli twój program zapisuje do EEPROM, wyłączenie zasilania podczas zapisywania do EEPROM może uszkodzić tam dane.
Jak wpływa to na twój program, zależy od tego, jakie są dane.
Jeśli spowoduje to uszkodzenie danych kalibracyjnych czujnika, otrzyma się złe pomiary tego, co wykrywa czujnik.
Jeśli zapisujesz sumy kontrolne z danymi EEPROM, możesz wykryć uszkodzenie, a program może zostać zamknięty zamiast korzystania ze złych danych.
Oczywiście będziesz wiedział, czy Twój program zapisuje do pamięci EEPROM - musisz załadować oddzielną bibliotekę i użyć specjalnych poleceń do odczytu i zapisu w obszarze EEPROM.
Niebezpieczeństwo jest naprawdę tylko w tej krótkiej chwili, gdy piszesz do EEPROM. Ponieważ zdarza się to rzadko (i zwykle tylko w kontrolowanych warunkach), dane EEPROM będą również bardzo rzadkie.
Podsumowanie:
Możesz włączać i wyłączać Arduino do woli, bez niebezpieczeństwa, chyba że używasz EEPROM - i nawet wtedy będziesz go miał przez większość czasu.