https://github.com/jchristensen/poweroutagemonitor_sw
讀數文件
傑克·克里斯滕森
2012
傑克·克里斯滕森(Jack Christens)GNU GPL v3.0 2012-2019的Arduino Power Power Logger版權所有(C)
該程序是免費軟件:您可以根據自由軟件基金會發布的GNU通用公共許可證v3.0的條款進行重新分配和/或修改它。
該程序的分佈是希望它將有用的,但沒有任何保修;即使沒有對特定目的的適銷性或適合性的隱含保證。有關更多詳細信息,請參見GNU通用公共許可證。
您應該已經收到了GNU通用公共許可證的副本以及此計劃。如果沒有,請參見https://www.gnu.org/licenses/gpl.html
Arduino草圖使用Microchip MCP79411或MCP79412 RTC實現停電記錄器。可以在RTC的SRAM中記錄長達七次停電(停電/上升時間)。
正常顯示是一個時鐘顯示的時間,日期和以角度括號記錄的停電數量,例如<4>。在新的停電後,新的停電警報LED被照亮了。查看中斷日誌關閉LED。時鐘會自動調整,以節省日光。
四個按鈕控制著記錄器並標記為:
SET / CLEAR / CANCEL(+) / FIRST / NEXT(-) / LAST / PREVRESET 從時鐘顯示:
按(+)或( - )查看中斷日誌。按(+)將顯示第一次(最早)中斷,再次按(+)將顯示下一次中斷。按( - )將顯示最後(最新)中斷,按( - )將再次顯示上一次中斷。按設置返回時鐘模式,否則它將在30秒後自動返回。
按設置開始設置序列。按(+)和( - )調整每個參數,保持迅速調整。按設置以推進下一個參數。保持設置以取消設定序列。在設置秒或RTC校準時同時按(+)和( - )將為零。
從時鐘模式或查看中斷日誌時,保持設置以清除中斷日誌。
在正常的時鐘顯示模式下,按和持有( - )按鈕將切換日出/日落模式,其中日出和日落時間與日期交替。
按下並釋放重置後,可以通過按和按住設置按鈕來保留RTC同步消息(帶有RTC ID)和啟動過程中顯示的校準消息。
Photocell測試模式顯示了光電器讀數代替時區。這對於有助於校準顯示亮度可能很有用。調用:
保險絲設置與Arduino Uno相同,除了4.3v bod,例如:
avrdude -p m328p -U lfuse:w:0xff:m -U hfuse:w:0xde:m -U efuse:w:0x04:m -v
I2C總線上可以包含可選的MCP9800/1/2/3溫度傳感器。如果存在,將自動檢測到它,並隨時間在LCD上顯示溫度。
該項目的電路示意圖和PC板可在https://github.com/jchristensen/poweroutagemonitor_hw上獲得
當前代碼不使用(也許更常見的) setSyncProvider()函數在時間庫中使用RTC中斷的1Hz來保留時間。這已成為我首選的方法,但是當我設計停電記錄板時,情況並非如此。
因此,板背面需要一根電線,以向MCU提供中斷信號。如下圖所示,將電線從RTC“ MFP”引腳連接到Atmega328p引腳6(又名PD4或Arduino D4 PIN)。 (董事會版本1.2包括此連接;因此不需要電線。)