




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 基金項目結(jié)題報告項目名稱:跟著音樂“跳舞”的光立方起止年月:2012.102013.05 目錄摘要.2第1章 光立方的制作.3 1.1 光立方概述.3 1.2 LED燈的選用.3 1.3光立方的焊接.4第2章 模塊設(shè)計.8 2.1 總體方案選擇.82.2 主控的最小系統(tǒng).82.3 光立方控制模塊.92.4 OTL音頻功放模塊.102.5 串口通信模塊.10第三章 軟件開發(fā).123.1 光立方的動態(tài)顯示.123.2 上位機(jī).133.3 FFT運(yùn)算.13第四章 結(jié)束語.17 摘要 一般的LED點(diǎn)陣都是平面的,比如一個字就是16*16點(diǎn)陣,而光立方屬于LED立體陣列,是在多個等間距的平面再組合成一
2、個立方體。其一般都是由一個長、寬、高為8*8*8 或16*16*16的LED 燈組成的立體顯示器,屬于3D顯示技術(shù)的一種。 其最大的特點(diǎn)就是超炫的顯示效果給人一種真實的視覺沖擊效果,帶給你未來3D 技術(shù)的科技體驗,讓我們的生活充滿了美感。 本項目通過打造一個8*8*8的光立方,使用Atmega16單片機(jī)通過控制不同立體位點(diǎn)的LED燈的亮滅,實現(xiàn)各種立體顯示效果。而立體顯示效果是通過對音樂的采集,經(jīng)過快速傅里葉運(yùn)算FFT得到的不同音高和頻率來控制的,隨著音樂的不同旋律,就會顯示相應(yīng)的各種效果,給人一種光立方在隨著音樂“舞動”的視覺享受,是家居裝飾和送人禮物的很好選擇。 本項目要求顯示效果要求能依
3、音樂的改變而改變,給人一種隨著音樂“跳舞”的感覺。通過設(shè)計多種多樣的顯示效果,給人一種絢麗多彩的效果。而LED數(shù)量的巨大和空間立體的布局以及對顯示效果的整齊劃一,都對單片機(jī)的編程提出了較高的要求。關(guān)鍵詞:光立方,F(xiàn)FT,Atmega16 第一章 光立方的制作1.1光立方概述 我們通過平時常見的LCD1602、LCD12864 和LED 點(diǎn)陣屏等的學(xué)習(xí),懂得了2D 平面圖形的設(shè)計、生成和編程,這一過程會讓我們受到啟發(fā),在光立方的制作當(dāng)中,把我們的2D 思維提升到3D 的思維方式。3D 圖形的編程也是很巧妙的事情,并不只是簡單地把幾個2D 的圖形疊加起來這么簡單。設(shè)計3D 圖形,需要有新的思維方式
4、,發(fā)現(xiàn)三維空間中點(diǎn)、線、面、體的算法規(guī)律。在程序中運(yùn)用循環(huán)、判斷語句、參數(shù)邏輯運(yùn)算等方法,用最少的語句達(dá)到最佳的顯示效果。一改以往的平面顯示效果,采用全新的立體顯示,展示3D的超炫表現(xiàn)力,讓人享受各種視覺上的沖擊,迎合3D顯示時代的到來。光立方為一個立體LED點(diǎn)陣。本項目制作并實現(xiàn)了一個8*8*8的光立方,較之平時常見的LED點(diǎn)陣屏,其擁有獨(dú)特的特點(diǎn):1、8*8*8的LED陣列立體顯示器;2、連貫的圖形顯示效果,渾然一體,一氣呵成;3、超炫的立體動態(tài)顯示,多種顯示樣式;4、FFT運(yùn)算,能隨著音樂不斷變化模式,給人一種“舞動”的美感。1.2 LED燈的選用LED發(fā)光體的體積越小,光立方整體的通透
5、性就越好,也就是說后排的LED就越不容易被前排的LED擋??;而另一方面,發(fā)光體越大,越容易看到光點(diǎn),例如使用直徑更大的LED或是使用霧面而非光面的LED。這二者是有一定的相互矛盾的關(guān)系。此外還要注意LED光點(diǎn)的可視角度,霧面LED要比光面LED要大,而草帽頭LED的可視角度又比普通窄體的LED要大。另外,一樣可以根據(jù)擺放位置,角度,將LED的朝向進(jìn)行改變(默認(rèn)是朝天的),以獲得更好的觀感。本項目使用的LED為臺灣產(chǎn)的3MM、圓頭、藍(lán)色、霧狀散光LED,其最大電流為20mA,電壓范圍3.0-3.5V,波長460-465nm,亮度,1000mcd,發(fā)光角度120度,正極的引腳長度為27mm,負(fù)極的
6、為25mm。實物圖如圖1.1所示: 圖2.1 選用的LED燈1.3光立方的焊接為了保持整體的通透性、立體感,3D8光立方?jīng)]有設(shè)計額外的LED支架,所有搭接直接使用LED自身的管腳。注意:正負(fù)引腳的夾角一定是90°。彎折后的LED燈如圖1.2所示: 圖1.2 彎折后的LED首先,要進(jìn)行LED燈立體矩陣的搭建。LED搭接過程還是比較困難的,我們需要8 片8*8 的LED 陣列,8*8*8=512LED,分為8層,每層8列,每列8個LED燈,列內(nèi)共陰,層內(nèi)共陽。焊接直接在LED管腳上進(jìn)行。為使光立方外形的美觀,每一片的LED陣列都要求排列整齊,互相看齊。這對焊接的能力有一定的要求。每一束焊
7、接的效果如圖1.3所示: 圖1.3 每一列的焊接示意圖我們可以把它分為8個層,如圖1.4所示;每層含64個LED燈,如圖1.4所示。我們只要控制這64個燈使其能夠自由變換,然后再通過控制每個層依次點(diǎn)亮即可,由于我們眼睛的視覺暫留(大概50ms至200ms),使我們感覺看到的東西是一起再亮的。這樣我們就看到了一個完整的個體。 圖1.4 光立方層結(jié)構(gòu)示意圖 圖1.5 光立方每層結(jié)構(gòu)示意圖整個光立方焊接完后如圖1.6所示: 圖1.6 焊接完后的光立方 第二章 模塊設(shè)計2.1 總體方案選擇 本項目首先要實現(xiàn)光立方的立體掃描,產(chǎn)生出特定的顯示效果。通過設(shè)計多種多樣的顯示效果,給人一種絢麗多彩的效果。此外
8、還要求顯示效果能依音樂的改變而改變,給人一種隨著音樂“跳舞”的感覺,這就要求對音樂進(jìn)行采集。對音樂采集可以采用外部ATD芯片,或者選用內(nèi)帶ATD功能的MCU。本項目使用的主控為Atmega16,其內(nèi)部自,8路10位精度的模數(shù)轉(zhuǎn)換器。因此,整體功能結(jié)構(gòu)可表示如下:音頻功放Atmega16主控芯片光立方控制 音頻 上位機(jī) 圖2.1 系統(tǒng)結(jié)構(gòu)框圖2.2 主控的最小系統(tǒng) 本項目中使用的主控為Atmega16。Atmega16是一款高性能、低功耗的8位AVR微處理器,采用先進(jìn)的RISC結(jié)構(gòu),含16K字節(jié)的系統(tǒng)內(nèi)可編程Flash和512 字節(jié)的EEPROM。Atmega16的外設(shè)特點(diǎn)為: 兩個具有獨(dú)立預(yù)分
9、頻器和比較器功能的8 位定時器/ 計數(shù)器 一個具有預(yù)分頻器、比較功能和捕捉功能的16 位定時器/ 計數(shù)器 具有獨(dú)立振蕩器的實時計數(shù)器RTC 四通道PWM 8路10位ADC,2 個具有可編程增益(1x, 10x, 或200x)的差分通道 兩個可編程的串行USART 可工作于主機(jī)/ 從機(jī)模式的SPI 串行接口 具有獨(dú)立片內(nèi)振蕩器的可編程看門狗定時器 片內(nèi)模擬比較器 片內(nèi)經(jīng)過標(biāo)定的RC 振蕩器 32 個可編程的I/O 口Atmega16的最小系統(tǒng)主要包括復(fù)位電路、外部振蕩器電路和AD模塊電源等,電路原理圖如圖2.2所示: 圖2.2 Atmega16最小系統(tǒng)2.3 光立方控制模塊光立方的掃描控制使用了
10、兩片74HC238譯碼器和8片74HC573鎖存器,其中一片74HC238通過地址譯碼實現(xiàn)光立方的層選,另外一片74HC238用來實現(xiàn)光立方的列選,LED燈的亮滅通過74HC573暫存器暫存的方法,每片74HC573分別用來控制一列LED燈,通過層選和列選信號的切換來實現(xiàn)每個LED燈的掃描,通過不同的掃描順序?qū)崿F(xiàn)不同的動態(tài)效果。光立方控制的電路原理圖如圖2.3所示: 圖2.3 光立方控制原理圖2.4 OTL音頻功放模塊OTL是英文Output Transformerless的簡寫,意思是無輸出變壓器,其采用推挽方式而不用輸出變壓器的功率放大器。OTL體積小,電路簡單,易于集成,是常用的簡便型音
11、頻功放。本項目設(shè)計的OTL如圖2.4所示: 圖2.4 OTL音頻功放2.5 串口通信模塊 為使MCU與上位機(jī)通信,可以使用串口通信。為此需要設(shè)計串口通信模塊。 串行通信被廣泛用于數(shù)據(jù)交換中。Atmega16單片機(jī)通過復(fù)用的PD0和PD1兩個管腳與其他設(shè)備實現(xiàn)串行數(shù)據(jù)交換。當(dāng)設(shè)計好串行口工作模式和波特率后,在發(fā)送數(shù)據(jù)時,只要把數(shù)據(jù)載入UDR中,串行口就會自動將數(shù)據(jù)發(fā)送出去;在接收數(shù)據(jù)時,串行口接收下來的數(shù)據(jù)保存在UDR中以供程序讀取。 由于電腦串口RS232電平是(-10v +10v),而一般的單片機(jī)應(yīng)用系統(tǒng)的信號電壓是TTL電平(0 +5v),MAX232 就是用來進(jìn)行電平轉(zhuǎn)換的。MAX232
12、符合TIA/EIA-232-F標(biāo)準(zhǔn),該器件包含2 驅(qū)動器、2 接收器和一個電壓發(fā)生器電路提供TIA/EIA-232-F 電平。每一個接收器將TIA/EIA-232-F電平轉(zhuǎn)換成TTL/CMOS 電平。每一個發(fā)送器將TTL/CMOS電平轉(zhuǎn)換成TIA/EIA-232-F電平。MAX232的主要特點(diǎn):1、單5V 電源工作2、LinBiCMOSTM 工藝技術(shù)3、兩個驅(qū)動器及兩個接收器4、±30V 輸入電平5、低電源電流:典型值是8mA 串口通信模塊的電路原理圖如圖2.5所示: 圖2.5 串口通信電路原理圖 第三章 軟件開發(fā)3.1 光立方的動態(tài)顯示 光立方雖然不同于平時常見的LED點(diǎn)陣屏,但其
13、原理還是一樣的,都是通過對LED的快速掃描,利用人眼視覺暫留效應(yīng),以達(dá)到動態(tài)顯示的效果。只不過設(shè)計3D 圖形,需要有新的思維方式,發(fā)現(xiàn)三維空間中點(diǎn)、線、面、體的算法規(guī)律。在程序中運(yùn)用循環(huán)、判斷語句、參數(shù)邏輯運(yùn)算等方法,用最少的語句達(dá)到最佳的顯示效果。要實現(xiàn)光立方的動態(tài)掃描,那么首先得先點(diǎn)亮一個燈,然后通過快速依次點(diǎn)亮想顯示圖形的每一個燈,即可得到動態(tài)顯示圖形。本項目中的光立方為層共陽型的,那么束為低電平點(diǎn)亮,那么點(diǎn)亮一個燈的程序如下所示:#define P0 PORTB#define P1 PORTCvoid light(char ceng,char shu)/點(diǎn)亮一個燈P1=ceng; P0
14、=(1<<shu); for(m=0;m<200;m+); /燈點(diǎn)亮的時間P0=0xff; 為了程序可以方便地移植到51單片機(jī),程序里使用的I/O端口為51單片機(jī)的輸入/輸出寄存器名,只用在程序的前面使用宏定義指向Atmega16的I/O寄存器即可放到Atmega16上使用。末尾的一句P0=0xff;必不可少,因為使用了鎖存器來進(jìn)行數(shù)據(jù)鎖存,如果在末尾不進(jìn)行LED的熄滅操作,那么會在點(diǎn)亮下一個點(diǎn)時有余暉效果,影響其他LED的正常顯示。實現(xiàn)了單個LED燈的點(diǎn)亮后,就可以開始構(gòu)思光立方上顯示什么樣的動態(tài)效果,然后依次快速掃描即可。本項目中依次設(shè)計了面移動、層移動、旋轉(zhuǎn)、煙花、下雨
15、、金字塔、波浪、伸縮、骰子、升騰等動態(tài)效果,只要在主函數(shù)中調(diào)用相應(yīng)的函數(shù),即可顯示相應(yīng)的動態(tài)效果出來。各效果函數(shù)簡寫如下: Void mian(); /面移動 Void dceng(); /層移動 Void XuanZhuan(); /旋轉(zhuǎn) Void YanHua(); /煙花 Void rain(); /下雨 Void pyramid(); /金字塔 Void BoLang(); /波浪 Void flex(); /伸縮 Void dice(); /骰子 Void GetUp();/升騰 3.2 上位機(jī) 為減輕MCU負(fù)擔(dān),促進(jìn)FFT頻譜顯示的實時性,本項目開發(fā)了一個上位機(jī),把FFT運(yùn)算的過程
16、轉(zhuǎn)移到上位機(jī)中進(jìn)行。MCU使用自帶的模數(shù)轉(zhuǎn)換器進(jìn)行音頻采集,把采集得到的音頻幅值通過串口發(fā)送給上位機(jī),上位機(jī)根據(jù)采樣值進(jìn)行FFT運(yùn)算,再把運(yùn)算結(jié)果發(fā)送回MCU中,并在上位機(jī)的界面中以柱狀圖形實時顯示當(dāng)前音樂的頻率分布和其幅度值。上位機(jī)的界面如圖3.1所示: 圖3.1 FFT頻譜顯示界面3.3 FFT運(yùn)算FFT(Fast Fourier Transformation),即為快速傅氏變換,是離散傅氏變換的快速算法,它是根據(jù)離散傅氏變換的奇、偶、虛、實等特性,對離散傅立葉變換的算法進(jìn)行改進(jìn)獲得的。它對傅氏變換的理論并沒有新的發(fā)現(xiàn),但是對于在計算機(jī)系統(tǒng)或者說數(shù)字系統(tǒng)中應(yīng)用離散傅立葉變換,可以說是進(jìn)了一
17、大步。關(guān)于FFT的論述,書本和網(wǎng)上都有很多的介紹,在此不再進(jìn)行說明,而是描述FFT運(yùn)算在本項目中的具體實現(xiàn)過程。本項目中使用的MCU為ATMEGA16單片機(jī),采用外部晶振11.0592MHz,選用AD時鐘分頻因子為16,則AD時鐘=691.2KHz。因為差分AD轉(zhuǎn)換需要15個AD時鐘,則采樣頻率最大為691.2KHz/15=46.08KHz。人耳的聽覺范圍大概為20Hz20KHz,根據(jù)采樣定理,在進(jìn)行模擬/數(shù)字信號的轉(zhuǎn)換過程中,當(dāng)采樣頻率fs.max大于信號中最高頻率fmax的2倍時(fs.max>=2fmax),采樣之后的數(shù)字信號才能完整地保留了原始信號中的信息。46.08KHz>
18、;2*20KHz,符合采樣定理的要求。AD結(jié)果寄存器采用左對齊方式,因為正常情況ATMEGA16的AD采樣頻率最大為15KHz,現(xiàn)采樣頻率至少為聲音頻率(20KHz)的兩倍,即40KHz,所以結(jié)果精度不高,也為了有充裕時間進(jìn)行AD采樣,所以只讀取ADCH寄存器的值,舍去結(jié)果寄存器的末兩位。注意在差分模式下,最高位為符號位,所以結(jié)果范圍為-128+127。參考電壓采用內(nèi)部2.56V參考電壓(因為耳機(jī)的差分輸出電壓最高為2V)。現(xiàn)令采樣頻率為40KHz,則AD轉(zhuǎn)換間隔為t=25us,使用定時器觸發(fā)方式,每隔25us觸發(fā)一次AD。采樣樣本為32個,則頻率間隔為40KHz/(32-1)=1.3KHz。
19、FFT運(yùn)算后,取前面的17(32/2+1)個值,其中第一個值代表直流電壓值,亦去掉。最終取結(jié)果的X116。本項目中的上位機(jī)使用VB開發(fā),上位機(jī)的處理頻率最大只為1KHz(1ms),而聲音的采樣頻率為40KHz,且AD中如果采用連續(xù)轉(zhuǎn)換模式的話,在采樣頻率為40KHz時,則波特率至少為:BUAD=40K*32(采樣點(diǎn)數(shù))*8(每個數(shù)的位數(shù))=10240000bps,Atmega16的串口通信根本無法達(dá)到如此速率。 故應(yīng)該間隔發(fā)送,不能采用連續(xù)發(fā)送?,F(xiàn)如果每5ms(200Hz)發(fā)送一次,一次采樣32個點(diǎn),那么波特率為:200*32*8=51200bps,那么可以設(shè)計AVR的串口通信速率為11520
20、0bps。串口初始化的函數(shù)如下所示:void UART_Init(unsigned int baud) /*默認(rèn)設(shè)置幀格式:異步模式 8 個數(shù)據(jù)位, 1個停止位*/UCSRC &= (1<<URSEL);UBRRH = (unsigned char)(baud>>8);/* 設(shè)置波特率*/ UBRRL = (unsigned char)baud; UCSRB = (1<<RXCIE)|(1<<RXEN)|(1<<TXEN); /*接收中斷使能,接收器與發(fā)送器使能*/ 當(dāng)為UART_Init(5)時,串口通信速率為115200bps。串口通信的發(fā)送和接收函數(shù)分別為: void write(char data) while(!(UCSRA & (1<<UDRE);/* 等待發(fā)送緩沖器為空 */ UDR=data;/* 將數(shù)據(jù)放入緩沖器,發(fā)送數(shù)據(jù) */ unsigned char read(void) while(!(UCSRA & (1<<RXC); /* 等待接收數(shù)據(jù)*/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 抵押合同借款合同
- 甘肅減震支架施工方案
- 三農(nóng)村電商推廣營銷策略手冊
- 國際公路貨運(yùn)合同
- 人力資源開發(fā)合同
- 生態(tài)木墻板施工方案
- 種植屋面施工方案報價
- 銅包鋼施工方案
- 鐵路橋墩基坑回填施工方案
- 贈針高教學(xué)文學(xué)
- 牙周檢查記錄表
- GB/T 10060-2023電梯安裝驗收規(guī)范
- 《民航地面服務(wù)與管理》項目一
- 高一生物實驗室教學(xué)計劃安排表
- 地質(zhì)學(xué)第五章地殼演化簡史課件
- 初中信息技術(shù)-初識Python教學(xué)課件設(shè)計
- 第三單元名著導(dǎo)讀《駱駝祥子》課件部編版語文七年級下冊
- 電路分析基礎(chǔ)(第5版)PPT完整全套教學(xué)課件
- Unit 1 My day B Lets talk(說課稿)人教PEP版英語五年級下冊
- 2022年組織能力調(diào)研白皮書-騰訊
- 高老師講語文-燈籠-部編版
評論
0/150
提交評論