8*8*8光立方體是利用二極管焊接成八行八列的八個工作面而構成的一個立方體,利用單片機、行列控制芯片構成相關硬件,利用軟件C語言編程,點陣顯示原理顯示出各種立體的不同形狀和字體,從而給人以視覺上的沖擊,美的效果。該立方體可以運用到很多場合,作為裝飾作品出現在人們眼前。
STC12C5A60S2
目前學生運用最多的單片機是89C5152、STC90系列、利用這些芯片可以構成最小系統,做成學習開發板供學生使用也是一種學習途徑。學生可以通過焊接調試、編譯程序實現功能,讓學生在學中做、做中學、從而提高學生動手能力和創新思維以及研發能力,只一綜合性的實訓科目
STC12C5A60S2單片機是單時鐘機器周期(1T),是具有高速、低功耗、超強抗干擾的新一代增強型8051單片機,指令代碼完全兼容傳統8051,但速度卻快8-12倍。內部集成MAX810專用復位電路,2路PWM,8路高速10位A/D轉換250K S),針對電機控制,強干擾場合。
傳統的龍片只會識別和處理數字信號,而在實驗中、實際運用中卻常有模擬量的信息,因此該芯片自帶A D轉換器,增強了該芯片處理信息的能力。該芯片的A/D轉換功能是具有10位精度ADC,共8路,轉換速度可達250K/S(每秒鐘25萬次)
74HC573
該芯片是八進制三態非反轉D型鎖存器,共20個引腳,其中OE引腳為三態輸出使能輸入,低電平有效,DO到D7為數據輸入,Q0到Q7為E態鎖存數據輸出,LE為鎖存使能輸入,如果是多片連用,可以作為片選信號使用端,高電平有效。
ULN2803
ULN2803是一塊高電壓、大電流的八達林頓晶體管,且是低邏輯電平數字電路,即電路為反相輸出型,輸入低電平電壓,輸出端才有低電平輸出信號。
該芯片共有18個引腳。9腳接地,10腳接電源,芯片第1引腳至8引腳為信號輸入,11至18為信號輸出。
ULN2803的驅動負載電流為500mA,驅動電壓.50V。
硬件電路設計與工作原理
電路原理圖
該電路圖主要由單片機、74HC573、ULN2803三種芯片構成,利用Protel軟件以及時標網絡符號繪制該原理圖。下圖顯示了部分原理圖,其中PI、P9分別代表了二極管行、列端口。
工作原理介紹
該立方體的制作采用STC12C5A60S2單片機,8*8*8 立方體,有8個8*8 二極管工作面,因此采用8塊74HC573 (在原理圖中分別用U2-U9表示) 作為二極管面的選擇。在電路圖中用P1-P8顯示接[ 1的連接。每塊74HC573芯片11引腳作為二極管的八個工作面的片選信號,信號輸入端D1-D8連接單片機的P1口,01-08信號輸出端連接已片選二極管工作面的行的選擇,也即八行二極管的陽極。由于每個工作面采用共陰連接,UL.N2803芯片只需采用一塊,引腳B1-B8接到單片機P1口,信號輸出端C1-C8連接八面二極管工作面的陰極。具體硬件連接圖如下所示
軟件設計
利用Keil軟件通過C語言編程實現功能,還可以利用按鍵開關擴展功能,使之為音樂頻譜
通過學生親自設計畫圖、焊接與調試、編譯程序實現功能,學生的理論知識和實踐技能會大幅提高,增強了他們的自信心、同時也提高了他們實際動手能力。
基于STC12C5A60S2單片機的光立方設計
本次作品是要做出由512個LED燈組成的8*8*8正方體的LED光立方。通過燒入已經編寫好的程序來控制LED燈的亮滅,以此顯示我們想要的圖案。主要也是為了把在學校學到的理論知識運用起來,為了增加眼球,有多重的顯示方式:動靜態結合。這次光立方的設計用的不是傳統的74HC154芯片而是stc12c5a60s2芯片,因為它有一個最小的單片機系統,也具有使系統的強大功能和驅動效果,再者,從靜態到動態,從2D到3D的轉變,更具震撼力。本次作品主要有512個發光二級管組成,在制作過程中鍛煉自己的焊接能力。采用商家做好的PCB板。使設計的線路更加明顯。
所需工具與材料:
光立方印制電路板
3mm藍色長腳霧面LED燈
圓孔插座
180歐姆1/4w電阻
貼片74HC573
貼片ULN2803
stc12c5a60s2單片機用的插排
晶振
微動開關
自鎖開關
音頻輸入口
5mm藍色霧狀LED
電烙鐵、松香、鑷子、尖嘴鉗、吸管、焊錫等。
方法與步驟:
1、首先要把光立方的正文體的架構焊接好。
2、把元件和電路板通過導線接在一起。
3、焊接好的基礎上測試一下,保證每一個LED燈都能亮。
4、把接好的電路圖與LED正方體進行焊接測試亮不亮。
5、把想要LED表現效果分別通過燒寫做好的程序給燒寫進去。
6、把之前調試好了的程序組合在一起,再進行調試。
焊燈是個大工程,8*8*8的正文體要焊好久呢,首先我們要把燈準備好。一共需要512個發光二級管,為了減少麻煩,準備了550個發光二級管。
光立方的這些材料都是在淘寶上買的,因為為了以防萬一,他們總是喜歡把LED燈多給一些給買家,所以在焊接前一定要測試一下LED燈。如果壞掉的,就把它和好的分開放,以免焊接的時候接錯了(焊接到不亮的燈會很麻煩),測試時用電池簡單測一下就可以分辨好壞了,然后再進行下一步的焊接。焊接的時候要注意是否虛焊。
下一步就是把測試好的燈的觸角折成如圖所示的樣子
當然觸角也不是隨便就可以折的,我所采用的方法是“層共陰,束共陽”,是要把LED燈的負極(短的一角)朝一個方向彎曲,彎曲是注意與正極垂直才可,不然容易造成短路。
然后找來一塊木板,打好64個洞,測好距離將燈放在上面進行焊接,一次爆8個燈(為一排),這樣來回焊48排,最后進行整體焊接成正文體。
面是LED燈的制作下面我們來說說PC板板部分。PC板上有核心的主控電路、驅動電路和部分的顯示電路,分布比較復雜。在焊接的時候要事先在PC板上把各個部分電路的原件放在上面,并做出標明,合理布局。核心部分要與驅動部分有點距離,方便導線的焊接,不能距離太近,要不然會沒有焊接的空間。
下面是完成全部焊接任務的成品圖
方法2:
通過硬件測試和軟件測試,先來看看硬件測試:實現所用到的工具有萬用表、穩壓電源、示波器、邏輯分析儀等。
在檢測光立方時記得接通電源,有用萬能表檢測一下外部電路,看看有沒有漏電短路的地方,然后再開始測試。
靜態檢測與測試:斷開輸入信號,把電源接入電路上,再用萬用表的電壓檔監測看是否有異常。
動態檢測與測試:前面有講到靜態檢測,只有靜態檢測通過了才可以進行這一步的動態檢測,而它的測試方法和靜態檢測的方法是相反的,靜態是斷開信號源,動態是接入信號源的,通過查看波形、參數和穩定性能否滿足制作者的需求的。
光立方如何顯示都是通過主程序的,而主程序又得通過按鍵的操作來運行的。前面也說過主程序,所以現在講講顯示是怎么執行的,這里的光立方是8*8*8的所以每一次的動態動畫或是靜態效果都是要一層一層的顯示的,直到所有層都顯示完了,這才是一幅完整的畫面。
最后附上效果圖
評論
查看更多