字體:小 中 大 | |
|
|
2015/01/27 17:04:06瀏覽1172|回應0|推薦0 | |
前言 : 今天是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問題似乎也沒打算要解決的樣子 會用這個平台的唯一理由只剩下被搜尋率高和習慣 哪天如果搜尋率降低一定馬上撤走 |
|
( 興趣嗜好|電腦3C ) |