Làm thế nào để tôi thiết lập một bộ đếm thời gian con chó theo dõi phần cứng với Arduino?
Làm thế nào để tôi thiết lập một bộ đếm thời gian con chó theo dõi phần cứng với Arduino?
Câu trả lời:
Có một số chip giám sát phần cứng chuyên dụng có sẵn, nhưng nó đủ dễ để sử dụng IC hẹn giờ 555 thông thường và một vài bộ phận hỗ trợ. Với cấu hình 555 được định cấu hình ở chế độ astable với khoảng thời gian "CAO" rất dài và thời gian "THẤP" tương đối ngắn (có thể là 0,3 giây), đầu ra có thể được kết nối với chân thiết lập lại của Arduino thông qua một diode để biến bộ theo dõi thành một bộ thu mở thiết bị. Arduino sau đó có thể định kỳ thiết lập lại bộ giám sát bằng cách sử dụng đầu ra kỹ thuật số để bật một bóng bán dẫn xả tụ điện thời gian gắn vào 555, ngăn không cho nó đạt đến điểm kích hoạt sẽ khiến nó đặt lại Arduino.
Một số thông tin cơ bản về một dự án để thực hiện điều này có sẵn tại http://www.prrealarduino.com/news/id/471
Đã có một bộ đếm thời gian theo dõi được tích hợp trong chip atmega; bạn có thể sử dụng avr/wdt.h
để thao tác nó.
Một ví dụ nhanh:
#include <avr/wdt.h>
void setup() {
wdt_enable(WDTO_500MS); // have the wdt reset the chip
// if 500ms passes without a reset
}
void loop() {
wdt_reset(); // reset the wdt
}
Tôi đã nghe nói về một số vấn đề được báo cáo với WDT và bộ tải khởi động thông thường, vì vậy bạn có thể muốn thử một bộ tải khởi động khác với nó, ví dụ như Adaboot.
Ngoài ra, bạn có thể thực hiện nhiều công việc khác với WDT bên cạnh việc chỉ cần thiết lập lại. Tôi khuyên dùng http://www.atmel.com/dyn/resource/prod_document/doc2551.pdf