最近因為家里鬧鐘被小朋友摔壞了,所以想著買來買去還是沒什么新意,不如自己做一個,這樣不是更有意義嗎?
那就開始吧,想著自己做就可以用最小資源來實現最大功能了,然后開始查找需要的芯片資料。平時時間顯示我們最起碼要有小時和分鐘,那么最起碼要四位數碼管了,還要有按鍵來調整時間,那么對IO口的管腳就開始有要求了。雖然是時鐘顯示,但是想來還是覺得不想因為節約管腳來把按鍵變少再去處理組合按鍵或者長按的按鍵。然后就開始各種查資料,后來找到一款很好的芯片,I2C通訊,直接可以實現4位數碼管和四個按鍵的處理(當然這我只用到四個按鍵,其實這款芯片可以實現同時進行28鍵的鍵盤掃描),哇,這也太好了吧,迫不及待上圖分享給大家了,就是下面這款:
哇,功能好到真的跪了,太好用了,好用到沒朋友啊。因為這款芯片我太喜歡了,我會把這個芯片的數據手冊放在附件,有興趣的可以下載看看,真的好用還省去很多IO口。
選到這款芯片,那單片機選型就自由了太多了,幸福感瞬間提升了,自己做時鐘,要有個DIY的感覺,所以我選擇把數碼管全部換成LED(主要還有成本低哦),還有跟別人的東西不一樣的感覺吧。然后既然我要做時間顯示那么我就要選個時鐘芯片的,既然顯示和按鍵的選擇了一個芯片實現,并且還是一個I2C接口,那同樣時鐘芯片我也選擇了一款I2C通信的,那這樣兩個芯片用單片機的兩個管腳就夠了,是不是很省呢。
既然要時間顯示,如果單純的時鐘是不是很單調呢,最起碼還要有個小鬧鐘吧,所以選擇了一款帶鬧鐘的時鐘芯片,并且是I2C通信的,那這樣時鐘芯片也選好了,既然有鬧鐘,我就要加個蜂鳴器讓它時間到了叫出來啊,不然怎么叫鬧鐘呢,這里我除了想到讓鬧鐘報時滴滴的叫,還想到可以通過給蜂鳴器不同的頻率讓它唱歌,這里蜂鳴器我選擇了一款無源蜂鳴器,這樣蜂鳴器就只占用單片機的一個管腳也夠了啊。現在的產品大多都是USB供電的,我也選擇USB供電就可以了。到現在就只用了單片機的三個管腳,這樣我就可以選擇51(STC8G1K08A)單片機中8腳的就夠了。那么想到這些覺得有些意思了,那我就可以慢慢來實現了。
其實別看我選的這些比較常用,還是挺簡單的,這個看起來還是很容易實現的,起初我也這樣想的,然而過程中并不是想象的那么順利,還是踩了很多坑的。因為每個芯片都是有不同的特點,技術資料難免一次就能讀透,還有就是會有點盲目的自信導致過程會有點曲折,所以還是要腳踏實地點好吧,我的曲折過程都會分享給大家,大體的器件選型好了,怎么實現呢,怎么做成我想要的東西呢,這個過程莫急,慢慢看我展示,主要會給大家分享避坑。
后面就開始設計原理圖和PCB了,最后產品出來才開始程序的實現,每個過程都好玩又有收獲的,如果大家也感興趣的話就持續關注我這個DIY的實現過程吧。隨時歡迎大家跟我來探討,也讓我可以開闊下思路,或許下個小玩意更有意思呢。
|