前言 :
今天是2015/1/26
話說轉到北科也過了一個學期
雖然說這學期成績根不才的臉一樣醜醜Der,但All Pass加上沒被二一真的是不幸中的大幸呀(茶
看來之後也要對自己(的臉)也要有點信心才行
.
寒假到現在也過了差不多一個星期
每天除了例行看動畫外,就順便玩玩Arduino
.
動畫,Arduino。Arduino,動畫。動畫,Arduino....
人生好有趣呀呵呵呵呵呵
((覺得想哭
.
因為這陣子露天賣的箱貓(俗稱無用盒子)差不多出貨到有買的人的手上了
一直看到箱貓的閃文。
.
看到閃文的反射動作當然是出現更閃文
立馬把這些閃文打掉
((就是有樓上這種討厭的人
.
然後就開始翻修手上被拆得七零八落的箱貓
不過等不才都做得差不多的時候FB已經沒有人提到箱貓就是了...
.
正文:
目前除了原本箱貓的功能外,因為放著也是占空間
乾脆加上顯示時間功能好了,平常放著就能夠當時鐘了
如果再加上蜂鳴器就變成了鬧鐘箱貓了w
.
http://blog.udn.com/andy840119/14524391
如果不談外觀,做法和前兩篇幾乎一樣,腳位也沒有啥改變吧
不過要多加上時間模組就是了
.
雖然說也是可以用Arduino寫出計算時間的功能
不過用一月大二月小到底西元幾年才有閏年等不說
主要的問題是當Arduino斷電時上面跑的時間就不見了
.

[圖片取自網路]
用時間模組的好處是上面自帶電池,下一次Arduino通電後只要從時間模組重新讀取時間就可以了
還有閏年的問題之類的也可以一併解決
時間模組一個從40~120都有
.
還有目前板子已經從Uno板改成Nano,就有很多空間可以再加上其他元件,整體也比較乾淨
外觀架構也重新改過
不然就不夠閃了(X
.
這個是目前寫好的原始碼,有需要的話可以拿去搔搔看
程式有新版應該都會貼上去,主要差別應該是程式優化和架構稍微改變
.
目前設計的方式是分別把每一個LED數字,有小和中,分別用3*5和5*7的int陣列包好
.
然後建一個空白和幾個暫存的4*16byte陣列
因為一個byte 是八個 bit,也就是一個byte可以控制八個LED的明亮
橫的可以控制四組8顆LED裝共32顆
直的16列
.
目前的規劃是一個暫存陣列顯示秒數,另外一個是顯示剩下的時間
因為改變畫面的方式是刷掉整個byte陣列,再把數字一個一個貼上去
如果每增加一秒就刷掉整個畫面然後年月日每個數字貼回去,就會看到每過一秒整個畫面就會閃過一次,有點煩。
.
然後再寫一個Function
主要功能是把數字照指定的位置寫進剛剛的byte陣列裡
簡單來說,如果我要把這個:
int s_dig6[5][3]=
{
{1,1,1},
{1,0,0},
{1,1,1},
{1,0,1},
{1,1,1}
};
byte temp[16][4]=
{
{0b00000000,0b00000000,0b00000000,0b00000000},
{0b00000000,0b00000000,0b00000000,0b00000000},
{0b00000000,0b00000000,0b00000000,0b00000000},
{0b00000000,0b00000000,0b00000000,0b00000000},
{0b00000000,0b00000000,0b00000000,0b00000000},
.......
};
裡,位置是(0,7)
就會變成:
byte temp[16][4]=
{
{0b00000001,0b11000000,0b00000000,0b00000000},
{0b00000001,0b00000000,0b00000000,0b00000000},
{0b00000001,0b11000000,0b00000000,0b00000000},
{0b00000001,0b01000000,0b00000000,0b00000000},
{0b00000001,0b11000000,0b00000000,0b00000000},
.......
};
顯示出來再矩陣LED的最上面,顆粒數來第七個就會出現一個6了
.
之後寫一個丟數字和要顯示的X,Y位置
就可以將相對應數字打進Byte陣列裡的函示
之後要貼數字到Byte陣列就方便多了
.
.
.
剩下的文章因為已經被部落格莫名砍掉了,重寫了兩次不才已經徹底感到心寒了
如果有問題就直接問左向角貓臉,或是幫忙和UDN 的BLOG客服客訴一下
不才以前到現在告訴他們好幾次BUG問題似乎也沒打算要解決的樣子
會用這個平台的唯一理由只剩下被搜尋率高和習慣
哪天如果搜尋率降低一定馬上撤走







