基于Atmega128L單片機(jī)控制的聲音監(jiān)測(cè)與無(wú)線定位系統(tǒng)
void display()
{
outChinese(0x80,1,Place_show+0*2);
outChinese(0x81,1,Place_show+1*2);
outChinese(0x82,1,Place_show+2*2);
outChinese(0x83,1,Place_show+3*2);
outChinese(0x84,1,Place_show+4*2);
outChinese(0x85,1,Place_show+5*2);
outchar(0x90,1,Digits+soures[0]/10);
outchar(0x91,1,Digits+soures[0]%10);
outchar(0x92,1,Digits+soures[1]/10);
outchar(0x93,1,Digits+soures[1]%10);
outchar(0x94,1,Digits+soures[2]/10);
outchar(0x95,1,Digits+soures[2]%10);
outchar(0x96,1,Digits+soures[3]/10);
outchar(0x97,1,Digits+soures[3]%10);
outchar(0x88,1,Digits+soures[4]/10);
outchar(0x89,1,Digits+soures[4]%10);
outchar(0x8A,1,Digits+soures[5]/10);
outchar(0x8B,1,Digits+soures[5]%10);
outchar(0x8C,1,Digits+soures[6]/10);
outchar(0x8D,1,Digits+soures[6]%10);
outchar(0x8E,1,Digits+soures[7]/10);
outchar(0x8F,1,Digits+soures[7]%10);
}
8.定位算法
采用三點(diǎn)定位的方法,只需測(cè)出兩個(gè)時(shí)間差即可。通過(guò)時(shí)間差及相應(yīng)的幾何公式可以輕易的推導(dǎo)出X、Y坐標(biāo)。 設(shè)變量: OA=a1;OB=b1;OC=c1;
可得等式:
X^2+Y^2=b1^2; (1)
(600-X)^2+Y^2=c1^2; (2)
(300-Y)^2+X^2=a1^2; (3)
通過(guò)解方程,算出X、Y坐標(biāo)值:
X=(b1^2-a1^2+4500)/80
Y=(b1^2-c1^2+3000)/120
為了使定位結(jié)果更加精確,可在軟件編寫過(guò)程中讓單片機(jī)測(cè)量多次。然后取其平均值,作為最后結(jié)果輸出。這樣可以不僅提高測(cè)試結(jié)果的精確度同時(shí)也避免了結(jié)果的偶然誤差。程序主流程圖如圖9所示。
圖9
9.測(cè)試方案與結(jié)果分析
測(cè)試方法與儀器
聲源定位測(cè)試方法:將聲源放在坐標(biāo)紙上的任意坐標(biāo),不讓聲源發(fā)聲,記下坐標(biāo)值(x0,y0)。然后啟動(dòng)聲源,讓聲源發(fā)出1s左右的聲音信號(hào),同時(shí)單片機(jī)接收信號(hào)后開(kāi)始進(jìn)行計(jì)算,計(jì)算出的坐標(biāo)值(x1,y1)通過(guò)LCD顯示頻顯示出來(lái)。
測(cè)試數(shù)據(jù)完整性
聲音定位數(shù)據(jù)
數(shù)組 聲源坐標(biāo)(x,y) 測(cè)量坐標(biāo)(x,y) 誤差
1 50,50 49,48 3%
2 120,120 118,118 1.6%
3 200,250 217,252 1.1%
4 250,300 253,302 0.9%
5 300,350 297,353 0.9%
從上述試驗(yàn)數(shù)據(jù)可以看出當(dāng)聲源距離越遠(yuǎn)時(shí)實(shí)驗(yàn)誤差越小,聲音在傳播的過(guò)程中受介質(zhì)溫度、壓強(qiáng)等影響會(huì)帶來(lái)一定的誤差,遠(yuǎn)距離傳輸時(shí)這種非人為因數(shù)誤差可以忽略不計(jì)。
關(guān)鍵詞:
Atmega128L
單片機(jī)控制的聲音監(jiān)測(cè)
無(wú)線定位系統(tǒng)
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論