實用單片機做有些小東西,由于空間有限,或單片機IO口有限,不想使用顯示屏。那么怎么知道單片機的運行狀態呢?本制作實現了ATMEGA16與 ATMEGA8之間通過紅外雙向收發。用ATMEGA16和LCD1602做成手持式掌機,ATMEGA8作為運行設備,掌機通過紅外可以對運行設備進行讀寫操作。使運行設備更加簡化,省卻了顯示部件、按鍵、通信數據線。
找來一個外殼,僅僅是使用外殼
這就是用來開孔的工具,一把銼
外殼底部
裁好的孔,剛好放下1602 開關 還有按鍵
按鍵的位置用一小塊板子焊接按鍵
屏幕裝好的樣子
一個雙面綠色萬能板,質量挺好的,買的時候好像挺貴的,不過這么大的板子只用到了前半部分,后半部分沒有用上,空空蕩蕩
舊電話機里面的排線,數量還多出幾根,撕掉了
圖片順序亂了啊,這是開好孔的時候
零件全部裝好了
最前面是紅外收發頭
******************************************
這是運行設備ATMEGA8,在調試,最前面是紅外收發頭
順便測試了一下功耗,待機電流16mA,紅外收發的時候26.2mA
用剛才做好的手持式掌機來讀寫
把兩個設備的紅外部分對準了,開始讀寫
讀到了參數,時鐘、開關時間
******************************
上面調試完成了就要把運行設備放到被控裝置里去,這里的被控裝置是一個插線板,本次制作的目的是實現控制插線板定時開關
把調試好了的ATMEGA8拆下來,重新焊在一個尺寸合適萬能板上,插座里面分成了4個功能塊,電源、控制板、繼電器、紅外收發頭
把線全部連好放進插座里面,插座里的這一塊空間原來是插線板的開關,開關拆掉了就有了這一片空間放我的東西了。電源用的是電容降壓電源,為了節省體積,研究了好幾天電容降壓的原理,計算需要的電流,單片機和紅外需大約30mA,繼電器大約需要50mA左右,因此電容選用了1.5uF
東西焊好測試發現程序還有問題,可是這個小板上已經沒有預留下載程序的接口了,沒辦法只能臨時飛線下載程序
刷好程序放進去
AVR編程器也是我自制的,來個特寫,沒有外殼用給他穿一件塑料衣服
最后來個雙機通信全家福
本實例只是制作了定時插座,如果制作別的東西一樣可以用這個掌機實現讀寫操作。 由于1602屏幕太小,只設置了讀寫四個參數:時鐘、開時間、關時間、溫度。時鐘用的是單片機的定時器,據說有一定的誤差,不過我的要求并不高,在每晚 2:00關電。早上7:00開電。誤差個一兩分鐘沒所謂了。況且隔一段時間還可以用掌機來校時。