決定這個項目了,這個作品不參加科技創新大賽,只是自己做來玩,玩玩技術。如果時間趕得上的話,就參加學校的科技展就好了,估計就這兩次參加的機會——高一高二。至于這個作品的名字,一般來說叫做光立方,但是我想給它起另外一個名字。就好像POV LED,我起為“漂浮在空中的文字”一樣。術語化的名字并不吸引人。 目前還沒想好名字,想好再命名。
光立方基本確定制作方案了,這次采用據說是最高級的AVR單片機,ATMega128A,我也是第一次用它。因為我對存儲器大小和IO端口數量的要求,只有它令我滿意。
然后電路板全部用貼片焊接,電路板自己印刷自己做,用感光油墨即濕模制版。我這個光立方做與別人不同。發三色光——紅、藍再加上兩者混合——紫。用的是三條腿的發兩種光的發光二極管。大小嘛,8*8*8就好了,太多焊接也挺累的。主要是單片機、上位機程序的算法設計和電路制作,這兩部分不用別人的現成的,自己弄。據我目前所知道的編程知識,無論在電腦,還是單片機或者手機上的編程,完全有能力做到的。越是有挑戰性的東西,自己弄比較有成就感,呵呵!
因為高中,空閑時間較少,沒有連續的時間繼續去學ARM9,不過節假日倒是可以的。另外我在學校活動課時間去圖書館看下有關計算機底層方面的東西,不過那些書都太古老啦,有些東西是好的,有些已經過時了的,有可能誤導沒有上網學過的人,網上的是新鮮的。
2013年4月20日23:07:12
今天有兩件大事
第一件,我成功制作出了第一塊電路板!這下子我可以隨心所欲地使用貼片元器件了!光立方也將采用貼片制作,電路板自制。
第二件,經過多次畫圖嘗試,決定了這512個LED燈的連線,以及用電鉆做了一塊模板用來固定LED燈方便對稱整齊地焊接。
整個LED點陣的電路,只需要使用17個類似74HC573的暫存器。因為使用的是雙色(其實也可以是三色)的發霧狀光的LED,為了能顯示這三種顏色,所以額外多了八個。正常只需要九個就可以了。程序當然得采用動態掃描的辦法了,不然還要更多的芯片……盡管LED很多,但我單片機的速度也很快 嘻嘻,實時運算不成問題,到那時再看下如果速度還令我滿意的話,像POVLED那樣建立一個顯示緩存區,效果更好了。
矩陣LED的暫存芯片分工:

左邊是共地的,覺得用ULN2003比較好,因為它的灌電流較大,可以受得住。
每一層都有兩個暫存器,每個暫存器控制這一層上一行的LED。我也不知道怎么用文字描述這種接線方法。若想要知道,琢磨下我的草圖吧。。。;蛘叩任液附雍煤笤倥木植繄D來看。
為了方便焊接和焊接得整齊美觀,我做了一塊模板:8*8的,間距4cm,我知道這間距不符合每個LED的管腳長度,這樣焊接會比較麻煩,但是我覺得間距太小的話,看不出整體效果,不夠氣勢。
為了增長LED的引腳長度,我用那種排針來接長去。排針是21mm長的,也是那些插杜邦線的排針。


就是這種接法,接好后,把它們立起來就是一面了,共八面。焊接會比較辛苦,當然后面程序也更加。
2013年4月29日11:50:43
第一面LED陣列焊接好啦!~~~~只是時間不連續,做得較慢。五一放假我可以做得很快。


拆模板!~~~


噔噔噔!~~~~~
由于用模板焊接,即使每個LED的引腳不整齊,但每個LED發光的頭都是整整齊齊的。引腳比較難固定,但稍微歪一點也不妨礙整體效果。發光部分整齊即可。
2013年4月30日13:55:15
好輕松,又做好第二塊了!

2013年5月2日
第三塊做完
2013年5月4日20:09:39
做完第四塊了,接近一半的工程啦。

現在焊接得越來越整齊了。
到最后總裝的時候,還要對之前那些不整齊的地方進行修正,不然比較影響美觀的。
2013年5月12日12:00:00
焊接完第五塊LED陣列
2013年5月15日
弄完第六塊。
2013年5月19日9:56:53
弄完第七塊了,還差一塊。
2013年5月19日13:56:30
一口氣完成第八塊!!~~~~
現在都做完了!不過還要對之前那第一第二塊某些地方進行修復,因為剛開始不熟練,很多地方歪歪斜斜的,不修正的話影響美觀。

2013年6月22日22:05:46
LED矩陣焊接完成


由于存放的時候,位置不好,風吹窗簾,窗簾碰到它,然后把它拉歪了一些。我只焊接外圍的八個點,形成八條柱子支撐著。
這么多個LED燈要想穩定地支撐起來,需要焊接好才行,焊接節點處要有足夠的機械強度,焊錫要充分熔化,形成一個小球牢牢包著線頭。


為了焊接方便,我用泡沫做了一些支架,這些泡沫是上次學校電腦教室換電腦時,我去那里撿了兩大袋廢棄泡沫回來,別人以為我是撿垃圾的呢,呵呵,早料到會有一天用上的。
其實組裝起來很快的,一個上午就可以焊接完成,但是期間有點累,就做得不是很集中,時間分散來慢慢做,所以拖了好幾天。

2013年7月15日20:37:02
買了兩塊大大的 30*40cm的萬用板,其中一塊用手電鉆切割出一條槽 ,另一塊削去兩個角,使得兩塊萬用板可以互相垂直插合。然后噴漆,沒有銅的那面全部噴黑色油漆,防止反光。最后用大量熱熔膠將兩塊板固定起來

切得手都麻了。。。砂輪,磨得慢,而且一定不能晃動,隨著它的轉動慢慢來,稍微歪了點會有分力使砂輪碎裂,很脆的。
我懶得買一個砂輪鋸了,直接用手電鉆換個鉆頭這樣弄。便宜呵呵,反正砂輪鋸目前也不常用,以后開實驗室個人再買。

噴漆~~記得戴手套,噴得薄點,不要塞住萬用版的孔和不要使油漆滲透到另一邊的銅上,不然難看。


熱熔膠固定,那些熱熔膠的絲可以去除的,現在先不動它,剛剛打好,以后再除掉。
2013年7月31日13:42:43
開始焊接走線,焊接時發現一開始就弄錯了!~~~哎,64個LED燈128個引腳一次性很難全部插到萬用板里面,后來就不打算穿孔了,直接焊接排線。
而且一開始LED的焊接方向就錯了,就是說LED燈引腳的折彎折錯了,正常的話是底下是走線,外表看不到引線的,現在那么多工,將錯就錯了,犧牲了一面,可以觀看的只有四面。
2013年8月3日21:13:29
焊接完所有LED燈的引腳,八個八個一組。另外也設計好74HC595芯片控制這幫LED燈的電路了,單片機主控電路尚未設計完成。我采用分組模塊化設計,電路板之間可以拼接。因為是人工制版,電路板分模塊的話,可以減少后期調試的成本,如果某條線路連錯了不必全部芯片都要拆下來,而且一塊覆銅板也是蠻貴蠻重的。
2013年8月8日12:49:15
光立方的底層LED響應電路設計完成!
采用8個74HC595,對外提供一條由八根時鐘線和一根數據線組成的總線,電路板中加入了兩個去耦電容和一個濾波電容,因為總線速度可能達到16MBps的哇!~~~如果產生嚴重的電磁干擾,會導致LED燈的控制不精確。設計軟件:Altium Designer 10
這次采用雙面板設計,在這張設計圖里,紅色是頂層線路,藍色是底層線路。單面板是只有紅色那一層的。設計完后交給DRC檢驗,0錯誤0警告。O(∩_∩)O哈哈~。這次我還是打算繼續自制電路板,設了四個定位穿孔,做板時要在曝光的時候準確定位才得。不然兩面板對不齊就作廢了。單面板雖然制作起來簡單,但設計難,由于線路太多,很難布線,或者說根本沒法布線,飛線會很多,焊接起來很麻煩。
這塊板要做兩塊,一塊板能管理512個LED燈其中一種顏色,我LED燈有三個引腳,三種顏色,所以做兩塊相同的板,一塊管理紅色一塊管理藍色,紅色藍色加起來就是紫色。如果不做這電路板去管理這512個LED燈,他們全部接到單片機上的話,引腳會不夠用。所以就用這樣分層管理的設計,最后以總線的形式匯總到單片機里,交由單片機統一控制。
2013年8月25日23:13:09
嗯,好久沒做了呢,進度有些緩慢……
主要是集中在如何更加有效地對齊雙面板。我發現了兩種辦法對齊它。一種是先曝光一面,顯影后,鉆幾個孔。然后再依照這些孔對齊另一面曝光。
另一種辦法是先對齊菲林底片,對齊后用雙面膠布粘牢,然后中間插入一塊雙面板,然后上下兩面同時曝光。但是由于中間插入雙面板,因為雙面板厚度原因,造成兩張菲林膠片會有點突起,曝光時一定要用玻璃一定要壓平,否則就產生偏移了。
今天做成功光立方的第一塊電路板了,今晚拿去學校我們攀達社團科技組的實驗室里用臺鉆鉆孔,花了我差不多兩節課的時間,70多個孔,而且鉆頭質量不咋地,磨損厲害,鉆頭夾的軸心好像不太對,敲了幾下還是沒法完美校準。呵呵,突然感覺差不多成了像大學里的私人實驗室咯~因為目前會用實驗室里的這些工具的沒多少個,社團成員都是進來玩玩,鉆頭夾不能夾0.8mm的鉆頭,下次要墊點東西才能夾得住0.8mm的,但不知道穩不穩妥。

黑色油性筆是用來修補電路的,顯影過程中,有些地方感光不好,被藥水錯誤地洗去了,露出了銅。用黑色油性筆可以保護銅不會被接下來的蝕刻電路板操作中的三氯化鐵腐蝕掉,F在已經蝕刻完成電路板了。明天脫模然后檢查線路后就可以焊接電子元件了。過孔直徑最好設計大一點好。

電路板上邊多余的部分我會考慮裁剪掉,那是我用臺鉗夾住電路板然后涂抹感光油墨的,那部分臺鉗夾住沒辦法涂均勻。
2013年8月30日14:11:14
電路板焊接完成~~~



在這次焊接過程中,發現重要的一點,做雙面板的時候,與插針連接的走線的層面最好在底層,然后貼片在頂層。如果不這樣的話,可能會導致某些線路無法實現焊接。元器件插上去后會蓋住焊盤,你將無法實現焊接,所以必須反過來插,就成了我這樣插針在底層,貼片在頂層這樣反過來焊接的結果。但是如果讓插針和貼片都在同一層的話,就必須全部設置過孔,將頂層芯片的引腳過孔到底層然后才能與插針焊接起來。
當然,如果引腳很多,像我現在這種至少64個插針引腳,都設置過孔會很麻煩,可以采用過孔鉚釘實現焊接。過孔鉚釘中間是空的,可以使上下兩層互相連接,但是使用過孔鉚釘時,鉆孔要比平常的孔還要大一點?偟膩碚f,我感覺采用我現在這種插件和貼片互相反過來焊接比較省事。
對于焊接過孔的方法,我用一些多芯銅線,里面每一根小銅線大概0.8mm,取出其中的一條,插到過孔里去,然后焊接牢固,最后剪斷多余的部分,這樣就能實現上下兩層板的電氣連接了,你直接用焊錫加熱溶解是很難使焊錫浸透過孔的。
這次做的電路板蝕刻還差一點點,不夠完全,有些短路斷路,我用萬能表二極管蜂鳴器檔位仔細檢查所有線路都不互相短路,再焊接過孔和芯片。檢查短路的辦法可以采用二分法,一條線路上,如果發現遇地短路,而用放大鏡一下子還找不到時,將這條線路中間切斷,分別檢查分開的兩部分哪部分仍舊短路,再將哪部分的中間繼續切斷,繼續檢查……這樣可以快速定位短路點,但最好不要切太多,后面還要焊接回去的,否則線路不通。
我買了一臺CNC數控雕刻機,下次做電路板時候 試一下用雕刻機直接對覆銅板雕刻,不用感光油墨顯影的辦法做電路板了,我的做電路板的方法還在繼續改進呵呵。
2013年9月15日0:18:30
終于又迎來一次更新了,時間間隔確實有點久。自從那天買到CNC后,一直琢磨熟練它,現在終于比較熟練地操控它了,成為了我身邊的一個非常非常得力的助手,很棒!能夠自動雕刻線路,鉆孔,切割電路板。平時無聊沒事做還可以讓它雕刻木頭,做一些浮雕,花朵等的工藝品,送送人也不錯……總之是個非常有責任,非常精確,細心的助手,以后不用愁了。但是雕刻機受刀具限制,一些太細的貼片封裝無法完成雕刻,比如AVR的Mega128A的QPF64封裝,引腳間距太小,一把刀過去就割斷兩個引腳了。所以在這種情況下用我之前的感光油墨制版的方法才能完成制版。但是碰到這種封裝很少,只有這種單片機等復雜芯片才會有這么密的引腳。一般的比如74HC595D、ULN2003A等的貼片封裝雕刻機都是可以完成的。使用0.3mm直徑全角15°的平底尖刀。同時,雕刻機雕刻與感光油墨制版相比,方便很多很多,起碼不會弄得一手臟,難洗的油墨,如果不進行大面積去銅的話,速度更快,一般只需要勾出電路的輪廓使它與多余的銅絕緣就行,不需要把多余的銅都鏟掉。像我第一次做的時候,沒考慮到這點,做一塊板子用了四個小時半,第二次做只需要30多分鐘。
這是我這臺數控雕刻機的參數:
【機械部分】
X,Y,Z有效行程:200x150x50mm
工件最大厚度:65mm
外形尺寸:260x330x290mm
工作臺尺寸:210X270mm
機架材料:6061+6063鋁合金
步進電機:3A 57型電機(全新二相四線)
傳動單元:全新1204 T型絲桿
滑動單元:X13圓軌,Y16圓軌,Z12圓軌
實際雕刻精度:優于0.03mm(雕不同硬度材料有所不同)
重復定位精度:優于0.03mm
最大空行速度:4000mm/min
雕刻速度:0~1000mm/min
主軸電機:DC110V 240W二手拆機直流美國產的伺服電機,超低噪音,高精度(徑向跳動≤0.03mm),ER11夾頭,配3.175mm夾心一個
主軸轉速:8000RPM左右
機器凈重:14KG
機器毛重:22KG(含控制器,配件,包裝) 【電控部分】
步進驅動:0~3.5A可調三軸驅動器(TB6560AHQ芯片,24V供電)2,4,8,16細分可設置,出廠為8細分
主軸電源:200W/AC220V(單片機無級調速)
驅動電源:24V10A開關電源
價格 :2880.00 元 只有XYZ三軸,無A軸。配置不算高,價格算是市場上最低的了。但是夠我初學用的了。以后熟了之后自己做一臺寬行程大功率的,可以DIY的,這東西沒什么技術難度,同時成本低了不少。自己在工業控制方面用單片機編程感覺成就感增加不少。另外這雕刻機需要使用LPT并口與電腦通訊,用USB轉并口模塊是不行的,我買了一張PCI轉LPT并口卡插在主板PCI插槽上,那是完美可行的。因為主板沒有LPT這種古老的接口了。一般的筆記本電腦只能哭去了……

控制盒的插頭是航空插頭,非常不容易松動,我話比你知,一旦接好后,你怎么踢都踢不松,踢不掉這些插頭,保證了工作期間信號的穩定性。你知道的,在雕刻過程中,如果信號不穩定,導致步進電機丟步(就是走漏幾個角度),如果人沒有及時發現按緊急停機按鈕,同時機器又沒有編碼盤進行閉環的反饋監控,軟件不知道發生了丟步,不知道要重復發一次信號以補償回來,那結果將是毀滅性的,剩下的雕刻全部存在偏差,工件亂七八糟,不可逆轉。




刀也是蠻貴的,三、四塊一只,一把刀大概能刻四張電路板,如果不鏟銅只是去輪廓的刻法,我想刻個十塊不成問題,我現在開始用這種方法。第一第二次設計用鏟銅的刀路,太損了。

使用Altium Designer 10 繪制電路原理圖、PCB電路板,生成Cam工程文件導出走線的位圖、鉆孔位圖。使用ArtCam2008軟件由位圖生成刀路文件,刀路文件導入Mach3后,自動根據刀路文件操控雕刻機操刀雕刻
這是我第一次使用數字化控制的工業設備,感覺妙極了,精準!快速!刀頭全程電腦跟蹤,不一般的體驗~~~
這個是Mach3。右上角的刀路窗口里,兩條紅色實線的交叉點,也就是十字中心,就是刀頭的位置,最右邊有一個綠色的箭頭,那是刀的深度。在整個雕刻過程中,十字中心以及綠色的深度箭頭都在動。全程跟蹤著實際中刀頭的位置,很精準,背景就是刀路了,藍色表示還沒刻的路線,青綠色則是已經刻過的。
我第一次看的時候轉速嚇到我了,13000轉每分鐘。進給率后來我調了下,60mm每分鐘才是最合適的,對于用0.3mm平底尖刀雕刻電路板來說。進給率就是每分鐘或每秒刀切割時走的長度。進給率越大雕刻速度越快,但是太快的話,可能導致斷刀,太慢的話,刀具磨損厲害。轉速也不宜太高,比如鉆孔的時候,轉速不能跑一萬轉了,必須調到1000~2000轉或更低,然后大一點進給率,最好不要一次性鉆穿,鉆一點就起來再鉆下去一點,再提起來……這個可以由ArtCam軟件在生成刀路的時候自動設定,不需要人工參與。多次退出來的原因是可以排屑,讓鉆頭不磨損得那么厲害,同時孔不是很粗糙。我第一次試的時候,還不知道這些東西My God!10mm長的鉆頭,鉆了十幾個孔后,短得只有2mm了,磨損太快。
另外必須的一點是,無論是雕刻 還是鉆孔,都必須加水在工件上。特別是雕刻,在電路板上用礦泉水瓶戳孔噴滿水,盡量讓刀在雕刻的過程中始終碰到水。這樣可以幫助排屑,同時銅屑不會飛到空氣中,還可以給刀具降溫,延長刀具壽命……好處多得去了。沒有一個機床是不需要水的。


電路板做了三塊,都失敗了,第四塊終于成功。每一塊都有不同的錯誤,但總能找到錯誤的原因,改正過來繼續嘗試雕刻。做到第四塊的時候,經驗差不多了,成功了。還有一點點瑕疵就是深度有點深了。然后今晚做了第五塊,也不算第五塊,就是在第四塊的旁邊再雕刻一塊電路,第五塊和第四塊做在同一塊覆銅板上。第四塊是能用的只是刻得有點深,因為Z軸原點(就是對刀)弄得不太好,同時也不可能保證工作平面始終是水平的,總有一丁點不平整。 但第五塊做得很完美!美中不足的是,我又淘氣了,把背面的標志文字給刻成鏡像的了。在背面刻文字的時候,要把文字鏡像,但電路圖不需要鏡像。只鏡像文字。在雕刻雙面板的時候,我有個建議就是,雕刻完第一面的線路之后,先不急著翻版雕刻第二面,有過孔穿孔的先鉆孔再雕刻另一面。鉆完孔后,等你雕刻第二名的時候,你看它走刀的位置,準備下刀切割的時候,如果下刀的地方與孔不對,就馬上壓下控制器上紅色的急停按鈕,緊急停機,別讓刀繼續下否則電路板就刻毀了。因為常犯的錯誤就是背面雕刻的時候,由于鏡像不鏡像的問題容易搞混,如果沒有這些孔做參照,等你刻完之后翻過來一看,哎呀!陰公哦!位置亂完了,不對齊。這就白白浪費時間和覆銅板了。
另外,為了保證雙面板完美對齊。先在雕刻機的工作平面上手動輸入G代碼命令,保持Y軸不變,走X軸,讓它刻一條水平的直線,你把工件對齊機架不一定有效,對齊這條刻出來的線是最保守的。工件放在這條線上,這條線能保證工件與機器內部的水平線平行。在開始雕刻第一面的時候,在你定的坐標原點處鉆穿一個孔先這個孔我稱為定位孔(原點坐標參考點,很重要的一個孔!)再開始走刀路雕刻,刻完第一面后,翻轉電路板,左右偏移不要緊,上下偏移也不要緊,因為你有這個定位孔。重要的是電路板的角度一定不能改變,就是仍要保持與這條線水平。不要嫌麻煩,如果你剛才沒有鉆那個孔,那么你這個翻轉的前提是你刻的第一面的線路必須保持與電路板完美的中心對稱,翻轉的過程中,要完美準確地沿著中心翻轉,不能晃動,不能移位?窗桑∧膫人工能做到如此精確的翻轉。
有了這一個定位孔,再加上這一條水平線,根據幾何關系所有的對稱都在無形之中被約束了。
翻轉過來后,手動調整刀頭的位置到那個定位孔,軟件上清空坐標數據使這點為原點,然后還有一個重要的步驟就是設置Mach3的電機信號,把X軸的步進電機反方向運行。就是比如刀路上讓它向左走時,軟件實際上要輸出相反的信號給雕刻機,使它向右走。Y軸、Z軸不需要改變。因為你電路板已經翻過來了嘛,不信你比劃下就知道了。這樣刻出來的雙面板的兩面是完美精確對齊的!這是我目前發現的最簡單方便的方法。


第五塊就是那塊小的, ULN2003A芯片,做LED的負極,能夠允許500mA的灌電流呢,不做負極浪費了,我沒想到的是,忘記了ULN2003A只有七個輸出引腳,而我8個LED燈,所以我用了兩塊芯片拼在一起,輸出端和第九腳全部預留上拉電阻的空位,如果需要上拉輸出端就焊接,不需要就不焊接,因為如果要輸出高電平是需要上拉的,ULN2003是開漏輸出的。我非常喜歡這種電路設計理念——為以后著想,多留點余地。所以,有很多電子工程師是基于這種理念設計東西的。當你買到一個電子產品或是什么電腦主板、顯卡的時候,發現電路板上有些地方沒有焊接元器件,不要總是以為這是偷工減料(實際上可能也存在這種可能性),多數是基于這種理念,預留出來的,為了方便維修調試、方便升級的時候,不需要重新設計板子,降低設計成本,不會浪費一大堆板材資源。
如果LED直接接單片機會燒了不可。那塊大的就是之前做的74HC595D,我要做兩塊的,第一用已經由感光油墨的辦法做了。明天再打算在這塊板上面繼續雕刻系統的電源管理電路,節約用板嘛!雕刻機不需要像感光那么嬌氣,熟練的我想在哪刻就在哪刻。
2013年9月20日22:08:38
電源管理電路制作完成。
這個模塊做失敗了兩次。
第一次做是發現忘記修改AMS1117芯片的封裝,我原來是用7805的模型來改的,它的封裝和AMS1117一樣,但是引腳對應關系不同。AMS1117芯片第一第二第三引腳分別是GND、Vout、Vin。而7805則是Vin、GND、Vout。在焊接的時候突然發現的,懶得再做一塊了,就割斷板上的銅線,用軟線飛線連接,但是做到后面,發現實在太亂,而且維護性不強,果斷廢棄。
于是在電腦上重新設計電路,簡化了好多電路,多余的接口去掉,只保留一個USB母口做5V供電。順便修改一下不使用雙面板做了,用單面板。因為我單面板還剩余比較多。千方百計手動走線,始終沒辦法100%不使用過孔,線路沒法布通。于是用了兩處跳線,單面板跳線不多的話,也比較簡單的用一根鐵絲連過去就行。
設計完后,發給雕刻機雕刻出來。
雕刻出來后焊接。在焊接USB母口的時候,意外發現了一個現實問題,你USB母口在背面插入,正面焊接,這樣的話,相當于鏡像了。但是我沒有在電腦上把USB的封裝鏡像一次,這樣的話,焊接好后,USB的+就會接到電路板上的-,USB的-就接到了+。這樣一通電,在我省掉防反接的二極管的板上非燒了不可。
這個問題很不起眼但是非常大。一不小心就會犯,凡是設計插件的時候,必須將它的封裝鏡像過來,而貼片元器件則不能鏡像,否則你在背面焊接就會出錯。
這也就是第二次失敗。
哎,這個是沒辦法的事情,只得再去修改電路,將插件鏡像一次。
再交給雕刻機雕刻線路。這次肯定成功了,我心里想著。雕刻完后,用砂紙打磨表面,擦除一些毛刺,這些毛刺很危險,不僅有可能傷到手,最重要的是可能造成短路。這是用雕刻機制作的必須做的步驟,打磨。用化學藥品腐蝕是很光滑的。
打磨后,我對著陽光看看,哇!好漂亮!淺淺綠綠黃黃的,好有一種未來科技的感覺,科技感!

為了不破壞這塊板子,我小心翼翼地焊接著,焊接完后,我敢保證這是做板以來最完美,最漂亮的一塊板子。焊接完后,利用萬能表調試電路,匹配一些電阻、電容的參數。然后修改電腦中的原理圖中元器件的參數,使之與實際相符,為了方便以后的維護用。有些參數可以通過計算得出,但計算時有些參數可能沒考慮完全,可以實際測量取值。萬能表是我的必備利器啊!幫了我超多的忙,沒有它基本上做不下去的。很重要的一個東西。調整后,去除了可調電阻,換上了一個4.7K的電阻接到2.5V的輸出的插針之間。因為沒有芯片是輸出2.2V的,我只找到了一塊低壓差的AMS1117-2.5V芯片,于是我扭著可調電阻,從0~10K調,萬能表掛在輸出與地之間時刻監視著電壓,直到扭到我想要的2.2V時,再用萬能表測出可調電阻的阻值,發現哈哈!恰好4.7K。我有這個阻值的電阻。把可調電阻拆下來換上定值電阻。如果還用可調電阻的話,到時候做成品后,不小心碰到那個旋鈕的話,電壓就變了,電壓太低就不亮,太高就會燒毀我的LED燈泡,而且燒的不是一個,通常是8個或者全部燒完。非常危險,那么密集的512個LED陣列,燒了燈泡你可知道有多難換。 
匹配好參數后,我在電腦上用Photoshop設計一些標簽,發給打印機打印在紙上。貼上去注明輸出的電壓


剪下來,用透明膠布貼上去。


OK啦!三塊電路板都做好了。爽快地在新的誕生的板上簽上我的名字和日期。從左到右分別是ULN2003A(接收LED燈的灌電流)、74HC595D(給LED加正電)、PowerManager(電源管理,將5V的直流電壓轉換成3.3V、2.2V、5V三個輸出,供給光立方整個系統,很重要)。我用一個USB口做輸入,方便與移動電源連接,到時如果參展的話,沒有220V電給你,我帶個移動電源很輕松就可以供電。我外公吃驚說,啊!你這塊東西不是給手機充電的嗎?怎么又做到這里去了。我說哎,只要你懂,什么東西都可以互相交叉使用,各種DIY,不受說明書上的適用范圍限制,很自由!


2013年9月30日22:42:53
做好了一塊基礎輸入輸出系統板
其功能顧名思義,就是一些單片機的常用的外圍電路集合。
里面有SPI接口,晶振、復位、還有為輸出到不同電壓的74HC595D的SCK時鐘信號串聯不同阻值的電阻使它電壓匹配。
晶振使用16M。
雕刻電路板時,最好用粗刀進行區域清除,把多余的銅清掉,然后用細刀(我用的是0.1mm15°或30°的平底尖刀)進行二維輪廓切割即線路雕刻。
如果不進行區域清除的話,焊接的時候,多余的銅很容易與線路粘連。下次做板我要進行這個工序。不過這個工序比較耗費時間。

所屬相冊:光立方
尼瑪,徹底被坑了一次。在組建電路,測試一下能否進行ISP下載。
一般來說,像是ATMega16的單片機,使用它的ISP下載功能是將MOSI、MiSO、SCK等信號線接到芯片上的對于MOSI、MISO、SCK上的,可是,這個128我接了,又確認了好幾次,沒接錯啊,又用不停地摸芯片看是否發熱,檢查電源線是否錯誤,有沒有短路,晶振有沒有起振(默認出廠設置為內部晶振起振,所以這個外部晶振是否起振暫時不影響下載)……查了半個多小時,確實沒接錯啊?墒荘ROGISP軟件始終提示無法進行芯片擦除、寫入,編程模式沒有打開。
哎,陷入一陣困惑當中,很郁悶。

所屬相冊:光立方
于是重新看了一下芯片手冊中的引腳定義,還有SPI串行編程那幾頁。就是看到這頁!嚇尿我了。
手冊中這樣說道:
盡管SPI 編程接口重用SPI I/O模塊,但其中有一點不同:MOSI/MISO引腳映射到SPI
I/O 模塊的PB2 與PB3 在編程接口并不使用。 而PE0 與PE1 用來傳遞數據,如Table 127所
示。
Table 127. SPI 串行編程映射
符號 引腳 I/O 說明
MOSI (PDI) PE0 I 連續數據輸入
MISO (PDO) PE1 O 連續數據輸出
SCK PB1 I 連續時鐘
意思就是說,編程所用的SPI總線中的MOSI、MISO不是接到芯片上的第12、13腳,而是第2、3腳。第12、13腳的信號是用來進行正常的SPI通訊的。但是SCK卻是共用的,都是接在第11個引腳上。
然后我馬上把線接過去,結果芯片馬上就可以擦除成功了。哦也!突然如釋重負,輕松許多了。后面就是試驗驅動74HC595D和ULN2003A來點亮LED燈了。
對于新的芯片,遇到問題多多看芯片手冊是有必要的,誰知道會在哪個地方拐個彎呢。反正里面總能找到答案。

所屬相冊:光立方
2013年10月1日11:22:00
驅動LED燈發紅光、藍光都成功了!
糾正之前的一個錯誤,之前在用串聯電阻把2.5V調到2.2V時,是空載調出來的,非常不準,我接上LED后馬上掉到1.6V左右,燈不夠亮,后來根據計算,(2.5V-2.2V)/0.02A=15歐,用15歐的可以適合一個LED燈,但是實際上還有7個LED燈并聯起來,電流不止0.02A,所以,整裝測試時,我在想要不要直接接2.5V,因為所有LED燈并不是一直保持常亮的,用掃描法顯示,應該不會燒壞。
另外,在測試74HC595D時,我用萬能表測得芯片的確輸出了高電平,SCK時鐘線也有一個方波脈沖過來,DS信號一直保持高電平。但是它的輸出端就是不輸出高電平,這個郁悶死了,后來耐下心來把電腦上設計的和實際電路對照仔細檢查電路發現,我居然漏焊了一個上拉電阻。就是電腦屏幕上白色高亮顯示的那條線路,有一個上拉電阻我沒有焊接。

所屬相冊:光立方

所屬相冊:光立方
焊上去后就正常輸出了。另外我發現單片機輸出的5V信號也許并不需要通過串聯一個電阻降點壓就可以直接接到工作在3.3V和2.5V電壓上的74HC595D,但是否穩定還不好說。

所屬相冊:光立方
2013年10月7日23:44:01
重新做了一塊ATMega128A的最小系統,原先那個太簡了,引線太多,安裝起來混亂。
用感光油墨來做,但是蝕刻的過程中由于我玩游戲沒注意,時間過長,部分線路有點細,后來我用焊錫補上去了,還在銅線上鍍錫防止氧化。焊接好后測試時,發現總是提示說無法進入編程模式,我就納悶了,難道是下載器壞了?用以前的開發板試了一下居然也下載不了,同樣的錯誤。后來買了新的一個USBISP下載器,免驅動的(其實就是作為鍵盤鼠標一類,系統會識別這種類型的驅動)。插上去后還是提示說無法進入編程模式,看來一定是線路斷開了。我仔細用萬能表最小電阻的檔位來檢查每一個排針到芯片引腳是否導通,果然發現PE0斷了,用放大鏡仔細看那個引腳,還有一丁點沒有焊接上去,銅線太細了。我之所以不用萬能表的二極管蜂鳴器檔位去測電路是否導通,雖然導通時發出響聲這樣會測得快點,但是二極管檔位的電壓太大好像2V還是3V吧,我怕會擊毀我珍貴的ATMega128A。電阻檔位的電流和電壓都是比較小的。
這塊最小系統板子做得蠻漂亮的,棕黃色的那些是松香,我沒有用酒精洗掉,也懶得洗了。復位按鈕去掉,直接上拉10K電阻,引出ISP接口方便下載。看起來感覺這個芯片好像很偉大噢~的確,所有信號經過一層層的打包,通過各種總線最終匯集到它這里,它又通過各種總線將新信號發出去。像是一個大大的中心,管理著光立方的一切。我心里一陣莫名的自豪感(成就感?無法形容)


然后將這幾塊電路板用熱熔膠固定在光立方旁邊。線我還沒有接好,先固定電路板位置。



這個光立方的整體架構還不穩定,松松晃晃,我得買一塊板子墊在最底部,因為萬用板的硬度的確不得,現在已經有點變形了。我決定采用電木板做。
對于LED燈后面的線,以后我加固的時候我會用一塊黑紙板(紙皮噴黑油漆)蓋住。
2013年10月13日0:16:01
終于調試好了74HC595D的控制信號了,不容易啊,因為之前做電路板技法生疏,線路出錯地方有點多,比如線路意外與地短路,焊盤過小焊接不牢等,各種硬件上的困難,再加上軟件也有不解的地方,所以有時懷疑到底是軟件出錯還是硬件出錯。不過,我也因此學到了一些實用的故障檢修方法,都是順順利利做過來的話也沒什么意義。
第一個就是檢查電路板制作過程中出現線路短路等地方,如果是單面板或是雙面板,單面板效果最好,就是用強光照射電路板走線層的背面,然后沒有銅鋪到的地方會透光厲害,有銅的地方不透光,這樣線路很明顯地就顯現出來了,蠻漂亮的,而且即使很細,很小的銅錯誤連接或是斷點都可以看得出。如下實物拍攝圖

所屬相冊:光立方

很明顯,你也可以馬上看到有一處線路斷開,是我割開的,那一段線路我廢棄了,直接在過孔處焊接插針。
我是用手機的LED高亮閃光燈作為光源的,效果很好。
第二個就是用軟件仿真,由于我手頭上沒有AVR JTAG仿真器,沒法進行硬件片上調試,只能在AVR Studio這個編程環境里結合一個Proteus進行電路模擬仿真,主要觀察芯片的電平,監視變量的變化,調整程序直到符合我的要求,好了之后程序也就沒問題了,還有問題就一定在硬件上。但要注意程序仿真時,某些元器件可能因為數據庫過時或者一些BUG,結果會和實際元器件不同,這點還是有的。

調試好程序后,我在程序代碼旁邊加了注釋,明確表達了通訊協議即時序。程序我也是看著官方數據手冊中的時序圖寫的,值得注意的是,電路板中我將芯片的兩根時鐘線:輸出寄存器和緩存寄存器短接在一起合并成一根線了。因此時序會有所不同
void AllBlue()
{
unsigned char k=0,i=0x00;
//74HC595D 芯片兩根時鐘線接在一起作為一條線
SCK_DOWN;//兩根時鐘線一起同時拉低
for (k=0;k<8;k++)
{
if(i&0x01==0x01)//i為將要輸出的數據,高電平點亮
{
DSB_UP;
}else
{
DSB_DOWN;
}//送出第一位數據等待芯片接收
i>>=1;
SCK_UP;//時鐘線拉高,產生上升沿,于是
//緩存寄存器中第一位先輸出到引腳上(因為一開始是初始狀態,這一位的數據為隨機,會在循環結束時剛好被推掉),
//然后緩存器中所有數據后移一位,騰出空位,然后DS上的數據進入緩存第一位
SCK_DOWN;//恢復低,此時數據、輸出、緩存沒有變動。為了下次有一個低到高的跳變。芯片命令生效只發生在低電平到高電平跳變期間
}
SCK_UP;//最后再來一次上升沿,將剛才送入緩存器的最后一位數據輸出,當然也有一位未知數據送入緩存器,但那個數據沒有用處,不影響實際輸出,下一次執行for循環完畢后會被推掉。
SCK_DOWN;
}
值得一提的是,這塊芯片做工很好,不需要我將單片機命令延時也能做出響應,真的像手冊中寫到的各種電平響應時間都是ns級別的,能勝任我ATMega128A的16M高頻率數據速度呢。這樣就不浪費CPU時間了。
成功控制一個74HC595D芯片后,16個芯片都不成問題啦!現在就是調試紅色LED還有程序開始構建立體坐標系對每一個LED燈進行更高一級的定位和管理了。
2013年10月18日23:04:28
繼上次做完LED單列控制后,用了一分鐘后發現不太穩定,啟用其余的七個芯片一起控制512個LED燈時,發現總有一些燈沒法點亮或者一直保持常亮,這是很不正常的。我剛開始動了幾下排針接口,燈有點閃爍,于是懷疑接口接觸不良,然后把所有排針都拔掉套,直接焊接上去,這樣非常牢固,也穩定。
但是這么做了之后,始終還是有一盞燈保持常亮,而且顯示的燈和我的信號也對不上。
郁悶了,陷入難題。琢磨了兩天,心情極其抑郁, 在程序仿真上程序是完全沒有問題的,然后我又買了一個AVR JTAG仿真器進行片上調試,實際進行斷點檢查,很疑惑地發現一個奇葩的現象:在
for (k=0;k<8;k++)
{
if(i&0x01==0x01)//i為將要輸出的數據,高電平點亮
{
DSB_UP;
}else
{
DSB_DOWN;//就在這里,每當我片上調試,執行完這一句后,竟然74HC595D產生了一次移位輸出操作,我時鐘線還沒有拉高呢!上升沿沒有產生,怎么可能。而且DS信號沒有發生變化,但如果是執行上面那個需要輸出高電平點亮燈的DSB_UP;時,卻又是正常的,不會產生移位操作。
}
i>>=1;
SCK_UP;//然后到這里,時鐘線確實應該拉高了,程序執行完這句后,這個芯片又再次產生了一次移位操作!于是,每當遇到一個燈是不需要點亮的時候,總有兩次移位操作出現,造成輸出的結果與變量設定不符。
我仍是無解啊!~~~~這種奇葩的現象怎么會發生。我懷疑是第一個74HC595D壞了,于是我接到另外一個芯片上(就是只接那一根時鐘線),發現問題仍然存在。然后又仔細再次檢查電路板,以為某個芯片下面存在錫渣造成短路,把所有74HC595D拆下來,清理了一遍,然后先不焊接,只接進行程序片上調試,軟件監控的單片機IO口并沒有發生異常變化。
然后我可以排除不是電路板上的短路問題。
焊接一個芯片回去,試了一下,發現情況又出現了。我再換一個全新的芯片再焊上去,也是一樣的情況!多了幾次移位操作,而且只是在需要輸出低電平,也就是熄滅一個燈的時候產生。
奇葩啊!奇了怪了,這種問題完全不切合實際,煩得我。。晚上向一個很要好的朋友吐槽后,果斷放棄,不理它了。不去想這個東西,當做沒做過。
但是,在那天晚上的第二天中午,當我回到房間準備睡午覺的時候,忽然想起還有最后一線希望,之前我在設計那塊基礎輸入輸出系統電路板的時候,我特意考慮了AVR單片機于74HC595D的時鐘線連接,我在IO口與每一個SCK之間設置了一個電阻焊盤,當初想到以后可能會發生電壓不匹配的情況,因為單片機是5V,LED藍燈需要3.3V,一起的74芯片工作電壓也跟著是3.3V了,所以預留了一個電阻調整IO電壓防止出現電流倒灌等現象弄壞74芯片,而且74芯片手冊里也明確寫道時鐘線、DS信號線電壓不能超過工作電壓的+-0.3V。
對!會不會是電壓不匹配呢?造成74芯片內部混亂,工作不正常,如果是74芯片內部電路出錯,那么就算是千奇百怪等的奇葩現象也能用這個電壓不匹配的理由解釋了,因為我們也無法知道它里面到底怎么個電路。
因為那塊基礎輸入輸出系統的板子我已經不要了,我直接剪斷一根杜邦線,中間串入一個2K歐的電阻,然后用熱縮管包起來,時鐘線、DS都串聯電阻,然后一上電開機,。。。!神啦!芯片完全正常,對應坐標上的燈也能準確的顯示出來。。!
又是一個新的突破! 果然!遇到問題時,有時置之不理,過幾天潛意識會幫你解決問題。今晚我在圖書館看電子制作的雜志的時候,才發現居然也有個人寫了一篇文章講如何排查線路問題的,他講的就是心理問題,他也倡導這種潛意識解決問題的辦法。2013.02期
但是顯示出來后,我仔細觀察還發現,目標坐標的燈雖然亮了,但是周圍的燈也有點微弱的亮起,我馬上想到這是沒有消隱造成的。因為二極管發光,你掃描的速度快的話,會有一個“影子”,就像控制數碼管一樣,信號切換到另一根管子的時候,你上一根管子還有電,如此快速掃描,就會有一個微弱的亮光。這當然不行,我堅決要保持完美的燈光效果,要亮就亮出精彩,要滅就滅得徹底。
另外補充一句,我的ULN2003不需要接電源正,只需要接地就行了,這種接法能夠控制是否與地導通,但不能輸出驅動電流,要輸出電流需要接正電源,它是開漏輸出的,如果不接電源,那個引腳就是高阻態,同時需要注意的是輸入反向輸出,單片機送1時,2003會導通地,單片機送0時,2003因為沒有接正電源而呈高阻態。
于是我得改進程序,想辦法消去那些殘余電流。我采用了PWM(脈沖寬度調制)技術,別人是用來調節電壓的,我是用來消隱的。這一個程序的思路就是隱含了PWM這項技術,用示波器可以看到有明顯的方波。若不清楚自行百度PWM。
#define DSB_UP PORTG|=0x01
#define DSB_DOWN PORTG&=~0x01
#define LGND PORTD
#define LBSCK PORTA
void Blue()
{
//74HC595D 芯片兩根時鐘線接在一起作為一條線
LGND=0x00;
for (i=0;i<8;i++)//Y掃描,ULN2003響應時間為0.1us左右,相對于74HC595D比較慢,放在循環最外層
{
for (j=0;j<8;j++)//X掃描
{
x=0x01<<j;
LGND=0x00;//發光二極管消隱處理,先不接通LED的地,正極信號準備完成后再接通地就會一次性該亮的亮起來
LBSCK&=~x;
for (k=0;k<8;k++)//Z掃描
{
n=LEDdat[j][ i][k][0];
if((n&0x01)==0x01)//送出第一位數據等待芯片接收
DSB_UP;
else
{
DSB_DOWN;
}
LBSCK|=x;//時鐘線拉高,產生上升沿
//緩存寄存器中第一位輸出(因為一開始是初始狀態,這一位的數據為隨機,會在循環結束時剛好被推掉)
//然后緩存器中所有數據后移一位,騰出空位,然后DS上的數據進入緩存第一位
LBSCK&=~x;//恢復低,此時數據、輸出、緩存沒有變動。為了下次有一個低到高的跳變
n=n>>1;
}
LBSCK|=x;//最后再來一次上升沿,將剛才送入緩存器的數據輸出
LBSCK&=~x;
LGND=0x80>>i;//到此之前信號已經輸送到發光二極管正極了,此時接通地完成電路導通,該亮的會亮
_delay_us(100);//亮100us后將地斷開,LED不亮。這里的延時相當于PWM的占空比,每次循環只有這一段時間LED亮
LGND=0x00;//斷地
for (k=0;k<8;k++)//將正極信號全部拉低,熄滅一列下來的燈,斷正極
{
DSB_DOWN;
LBSCK|=x;
LBSCK&=~x;
}
LBSCK|=x;
LBSCK&=~x;
}
}
}
這樣,在實際中,就不會出現有影子的LED了,同時,因為PWM的影響,這種技術本身就可以調節電壓,通過占空比控制。即在中間那個延時100us的時候,實際到達LED的電壓不會是3.3V了,更低,因此如果接3.3V的供電電源,LED發光太弱。于是我就可以放心地接到5V上去了,接到5V后,實際輸出的也就3V左右,恰好合適,光亮程度也合適。但此時千萬不能讓LED不通過這個程序亮起來,否則5V很快會燒壞LED。
整體上評估,這個方法消隱我想了一下,還是有一個比較大的缺點:浪費CPU時間。通過計算:
我用AVR Studio進行程序仿真調試,設置斷點

Cycle Counter清零后完整執行一次Blue函數,然后得到的時鐘周期為129952 嗯,然后單片機我是用外部 16M晶振的,16M就是一秒鐘振蕩16 000 000次,其倒數即振蕩一次需要0.000 000 0625秒,時鐘周期就是說晶振振蕩了多少次的意思,那么執行這一個函數振蕩129952次所需的時間就是129952*0.0000000625=0.008122秒=8.122毫秒。(時鐘周期是控制著整個單片機的工作步驟,一個個脈沖出來,使計算機的每一步都跟著它同一個步調,每一個拍子下來,計算機就完成一個最基本的動作。那么,要產生時鐘周期就要用晶振,如果步調節奏快了,計算機完成一個動作的速度也跟著快了。16M晶振就是一秒鐘產生16 000 000個時鐘周期,換句話說同等情況下,晶振頻率越大,計算機工作的速度也就越快) 每次執行Blue刷新函數時得需要占用CPU 8.12ms的時間,如果我還有播放MP3,我不用AVR單片機進行軟解碼,就單單從SD內存卡讀取數據送到VS1003芯片進行硬解碼也需要幾個毫秒的時間,而且沒有足夠的內存一次性把一首歌送完過去,怕是會造成短暫的停頓,CPU也不是雙核的嘛。。如果要根本解決的話,可以用多一個CPU,一個CPU專門刷新LED陣列,另一個處理邏輯數據。我先試驗下停頓明不明顯先。而且目前我也沒想到其他比較不占用CPU的消隱辦法。那個延時時間如果太短消隱效果不明顯,太長會造成LED閃爍
很好!晚安!
2013年10月19日17:09:57
基于后期需要進行一些動畫設計,我必須要弄一個上位機軟件對光立方進行取模,網上我搜到一個別人用C#做的控制軟件,但是感覺不太順手,而且單單用單片機進行實時運算的話,動畫設計起來很麻煩的,決定自力更生,自己采用Java語言進行設計一個上位機控制軟件,運行平臺PC,通過串口與光立方通訊。Java移植性好,以后還可以移植到安卓手機里一樣能控制。
2013年10月21日12:53:57
暫時使用別人已經做好的上位機控制軟件試了一下,效果很棒!我分析了一下他寫的上位機軟件,然后對應著寫我光立方里CPU的底層代碼,使兩者配合起來。電腦與光立方通過串口通訊,波特率調到最大115200傳輸速度很快,不錯。
并且優化了燈數據的緩存結構 ,由原來的四維數組改成二維數組,大大減少了內存花銷。
以下是用那個軟件調出來的動畫效果,電腦實時取模,往單片機送數據,單片機接受到后馬上更新

所屬相冊:說說和日志相冊

所屬相冊:光立方

所屬相冊:說說和日志相冊

所屬相冊:說說和日志相冊

所屬相冊:光立方

所屬相冊:光立方
SIGNAL (SIG_USART0_RECV)
{
unsigned char recv=UDR0;
if (recv==0xF2 && RecvFlag==0)//有一大波僵尸要沖過來了,目測敵方有64個人頭
{
RecvFlag=1;//打開包袱
RecvIndex=0;
return;
}
if (RecvFlag==1)//包袱已打開,來一個收一個
{
//RecvData[RecvIndex]=recv;
LEDdat[7-RecvIndex%8][7-RecvIndex/8]=recv;
RecvIndex++;
}
if (RecvIndex==64)//收完64個了
{
RecvFlag=0;//封住袋口,三十六計走為上計~
}
}
但是,別忘了,我的光立方底層硬件結構是支持三種顏色異步顯示的,而這個別人寫的上位機軟件只支持一種顏色。所以為了發揮光立方全部性能,我必須親自為她專門編寫一套上位機軟件,支持三色顯示,并且支持脫機操作。另外,還有播放音樂等功能。
但由于數學知識不足,我個人無法實現三維立體圖形的變換數學算法,但是,我會避開這個數學的算法,利用單片機程序以及硬件構造解決三維圖形的變換問題,達到相同的效果,這是程序的優勢。利用Photoshop可以進行二維圖形變換,我自己可以開發一套由位圖轉為模的軟件,這樣就可以從二維構建三維,也可以在單片機里進行數組變換,實現圖像鏡像。二次開發豐富著呢~~~
2013年11月2日23:09:19
紅、藍、紫三種顏色的LED燈程序調試成功,現在程序可以接收帶有顏色信息的燈模數據了,可以顯示不同顏色的圖案。另外最近買了個示波表SHS800,有了它我可以更清晰地看到波形,如果存在時序方面的程序錯誤能及早發現,加快了程序調試進度。而且它還兼備萬用表的所有功能。
對于紫色,有些LED燈生產的質量不均一,里面的材料用量不完全一樣,導致其工作電壓存在偏差,最終在相同電壓下,有的紅色發光比較亮,有的比較弱,而藍色是比較均一的。但由于紅色的不均一,會導致紫色不均一。因為紫色就是由紅色和藍色疊加而成的。LED只有三個引腳,中間共地,旁邊兩個一個是藍一個是紅的PN結正極。

所屬相冊:光立方

所屬相冊:光立方
這是紅色燈光全亮的某一列的波形,可以清晰地看到程序在串行輸出時會產生方波信號,我就是利用這個方波信號進行PWM電壓調制的。

所屬相冊:光立方

所屬相冊:說說和日志相冊
2013年11月2日23:16:24
由于時間較緊,我懶得去做功放電路和MP3解碼電路了,拆家里的一個廢棄收音機里面的電路板出來,接到我的單片機里,他們倆就能互相通訊了。單片機控制三個按鍵的引腳電平,就是模擬用戶按下收音機的某個鍵,這樣就能控制了。這個收音機可厲害的!自帶U盤解碼、SD閃存卡解碼、收音機、還有3W的CM8601功放。我直接給它接上一個大大的3W8歐喇叭,再串聯一個可調電阻作簡易的音量調節用。音質很不錯,低音效果過得去,主要是喇叭好,這個喇叭我是在收廢舊里撿的,很實用。

所屬相冊:說說和日志相冊
2013年11月16日22:02:49
固定燈架,電路板。

所屬相冊:光立方
2013年11月28日0:01:12
設計完成光立方的展報,后天星期五就參加學校舉辦的2013科技創新展。已經沒有問題了哦!要做就做到最好,這是我的動力。
|