声音定位传感器
这是我自己设计的声音方位传感器效果比较满意,装在机器人上就可以判断你说话的位置了!用了4个LM386和一块2051。
电路图. 四个lm386
都是一样的
程序如下
#include
void main(void) {
long int b;
while(1)
{
b=0;
if(P3_0==1&&P3_1==1&&P3_2==1&&P3_3==1)P1 = 0xFF;
if(P3_0==0&&P3_1==1&&P3_2==1&&P3_3==1)
{
for(;b
{
b++;
P1_0=0;
if(b
else P1_1=1;
}
P1_0=1;
}
b=0;
if(P3_0==1&&P3_1==0&&P3_2==1&&P3_3==1)
{
for(;b
{
b++;
P1_0=0;
if(b
else P1_1=1;
}
P1_0=1;
}
b=0;
if(P3_0==1&&P3_1==1&&P3_2==0&&P3_3==1)
{
for(;b
{
b++;
P1_0=0;
if(b
else P1_1=1;
}
P1_0=1;
}
b=0;
if(P3_0==1&&P3_1==1&&P3_2==1&&P3_3==0)
{
for(;b
{
b++;
P1_0=0;
if(b
else P1_1=1;
}
P1_0=1;
}
}
}
原理:
从程序可以看出为节省IO 口采用脉宽输出。
输出信号:
声音确认P1_0___------------------------_____一秒
第一传感器有信号输出P1_1___----_______________0.1秒
第二传感器有信号输出P1_1___--------____________0.2秒
第三传感器有信号输出P1_1___------------__________0.3秒
第四传感器有信号输出P1_1___----------------________0.4秒
这个可以试试做一个. 如果有一个可以判断你说话的方向的话. 可以做很多智能控制