Bagaimana cara mengatur timer anjing menonton perangkat keras dengan Arduino?
Bagaimana cara mengatur timer anjing menonton perangkat keras dengan Arduino?
Jawaban:
Ada sejumlah chip pengawas perangkat keras khusus yang tersedia, tetapi cukup mudah untuk melakukannya menggunakan IC timer 555 biasa dan beberapa bagian pendukung. Dengan 555 yang dikonfigurasikan dalam mode astable dengan periode "TINGGI" yang sangat panjang dan periode "RENDAH" yang relatif singkat (mungkin 0,3 detik), output dapat dihubungkan ke pin reset Arduino melalui dioda untuk menjadikan pengawas kolektor terbuka alat. Arduino kemudian dapat mengatur ulang pengawas secara berkala menggunakan output digital untuk menyalakan transistor yang melepaskan kapasitor waktu yang terpasang pada 555, mencegahnya mencapai titik pemicu yang akan menyebabkannya untuk mengatur ulang Arduino.
Beberapa informasi dasar tentang proyek untuk melakukan ini tersedia di http://www.practicalarduino.com/news/id/471
Sudah ada pengawas waktu yang dibangun ke dalam chip atmega; Anda dapat menggunakannya avr/wdt.h
untuk memanipulasinya.
Contoh cepat:
#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
}
Saya telah mendengar tentang beberapa masalah yang dilaporkan dengan WDT dan bootloader biasa, jadi Anda mungkin ingin mencoba bootloader lain dengannya, misalnya Adaboot.
Selain itu, Anda dapat melakukan lebih banyak hal dengan WDT selain hanya reset. Saya merekomendasikan http://www.atmel.com/dyn/resources/prod_documents/doc2551.pdf