基于LD3320和MSP430語(yǔ)音識別智能家居設計
電視機節目的切換(事讓單片機學(xué)習遙控器的編碼)。如果收到的是溫度的識別碼就測量單片機的溫度發(fā)到上位機。一些別的識別碼就通過(guò)單片機
轉發(fā)到上位機。
測溫的代碼:
void te()
{
for(int i=0;i256;i++)//多次測量求平均溫度
{
ADC10CTL0=~ADC10IFG;
ADC10CTL0 |= ENC + ADC10SC;
while(!(ADC10CTL0ADC10IFG));
temp+=ADC10MEM;
}
temp>>=8;
degree = ((temp - 673) * 423) / 1024;
}
通過(guò)24l01發(fā)送的代碼:
msg[0]=0xe6;
nRF24L01_TxPacket(msg);
SPI_RW_Reg(WRITE_REG+STATUS,0xff); // clear interrupt flag(TX_DS)
Delay_us(1000);
GLED_ray();
Delay_us(1000);
最后終結下這個(gè)項目的心得。其實(shí)這個(gè)項目最難的是寫(xiě)上位機,這個(gè)花了好久時(shí)間才寫(xiě)好的,包括制作動(dòng)畫(huà)合成語(yǔ)音。在調試上位機的時(shí)候試過(guò)
單片機無(wú)法連接上,后發(fā)現是LUNCHPAD支持的波特率最高就9600,再高就無(wú)法通信了。還有一個(gè)最難忘的是在模擬遙控器的時(shí)候,先用430捕獲來(lái)
捕獲每一個(gè)跳變沿,由于接收和發(fā)送的是電平相反的信號所以當時(shí)好天真地認為把電平改一下就可以發(fā)出去了,再次用捕獲來(lái)自己模擬遙控器的
信號的時(shí)候,發(fā)現捕獲回來(lái)的信號和原來(lái)的遙控器很不一樣。想了好久都沒(méi)有發(fā)現問(wèn)題所在,后來(lái)發(fā)現,原來(lái)發(fā)送信號是要經(jīng)過(guò)38KHZ的載波的
即高電平的時(shí)候是頻率為38KHZ的方波,低電平則是啥信號都沒(méi)有。
一句話(huà)總結就是在做項目的時(shí)候要細心,一個(gè)小錯誤都會(huì )讓你的系統無(wú)法工作。
還有個(gè)語(yǔ)音遙控電視視頻沒(méi)拍希望樓下留個(gè)位置放視頻
原文地址:http://bbs.21ic.com/icview-585294-1-1.html
萬(wàn)能遙控器相關(guān)文章:萬(wàn)能遙控器代碼
c++相關(guān)文章:c++教程
評論