Fred Pannekoek
2014-08-21 17:14:29 UTC
我正在嘗試打開一個應該每12小時打開或關閉一次的小門。我想知道我是否可以製作一個帶有delay()的小型循環腳本12個小時,delay(43 200 000 000);我猜?但是,我不知道這是否可能和/或值得推薦。一些反饋/替代方法(如果需要)會很不錯:)
好的,我認為延遲的最大值為65535 µs,但現在我需要一個替代方案...
在更成熟的,獨立於MCU的系統中,計時通常是通過對MCU的硬件計時器通道進行編程以定期觸發中斷,然後對它們進行計數來進行的-這使處理器可以同時執行其他操作,並且累積精度與時鐘晶體。
使用延遲會放大一個如此微小的開銷錯誤。最好使用中斷為已知的良好時間計時,然後從那裡開始計數。這是我個人網站上的概念證明:http://blog.linformatronics.nl/213/electronics/timed-1-millisecond-interrupt-routine-for-arduino
如果不一定要定時,可以使用非常規的東西,例如光感應器來感應早晚。
是的,我考慮過這一點,但是我只有一個光探測器部分,並且不確定如何保護它不受天氣影響(小門在外面)
@FredPannekoek。將探測器放在屋頂下。您無需將其直接放在天空下。
我要低20分鐘,高3分鐘的程序結構。我有arduino uno板