Có, an toàn khi tắt Arduino đột ngột.
Vâng, chủ yếu là an toàn.
Các bộ xử lý được sử dụng trong các Arduinos khác nhau có ba loại bộ nhớ:
Flash - Nơi chương trình của bạn được lưu trữ. Chương trình của bạn có thể đọc nội dung từ đây, nhưng không thể viết nó.
RAM - Nơi các biến chương trình của bạn được giữ trong khi chương trình đang chạy. Dữ liệu ở đây biến mất khi bạn tắt Arduino. Chương trình của bạn đọc và viết ở đây liên tục.
EEPROM - Nơi chương trình của bạn có thể lưu trữ nội dung, nó sẽ cần vào lần chạy tiếp theo. Thông thường những thứ thay đổi hiếm khi, nhưng cần thiết bất cứ khi nào chương trình chạy. Giống như dữ liệu hiệu chuẩn cho một cảm biến.
Hầu hết các chương trình chỉ sử dụng Flash và RAM. Bạn có thể bật và tắt Arduino bất cứ lúc nào bạn muốn với các chương trình đó.
Nếu chương trình của bạn ghi vào EEPROM, thì việc tắt nguồn trong khi ghi vào EEPROM có thể làm hỏng dữ liệu ở đó.
Làm thế nào điều đó ảnh hưởng đến chương trình của bạn phụ thuộc vào dữ liệu là gì.
Nếu nó làm hỏng dữ liệu hiệu chuẩn cho cảm biến, bạn sẽ nhận được các phép đo xấu cho bất cứ thứ gì cảm biến đang phát hiện.
Nếu bạn viết tổng kiểm với dữ liệu EEPROM của mình, thì bạn có thể phát hiện tham nhũng và chương trình của bạn có thể tắt thay vì sử dụng dữ liệu xấu.
Tất nhiên, bạn sẽ biết nếu chương trình của bạn ghi vào EEPROM - bạn phải tải một thư viện riêng biệt và sử dụng các lệnh đặc biệt để đọc và ghi vào khu vực EEPROM.
Nguy hiểm thực sự chỉ trong khoảnh khắc ngắn ngủi khi bạn viết thư cho EEPROM. Vì điều đó hiếm khi xảy ra (và thường chỉ trong các điều kiện được kiểm soát) nên sẽ hiếm khi làm hỏng dữ liệu EEPROM.
Tóm lược:
Bạn có thể bật và tắt Arduino theo ý muốn mà không gặp nguy hiểm, trừ khi bạn đang sử dụng EEPROM - và thậm chí sau đó bạn sẽ thoát khỏi nó hầu hết thời gian.