Difference between revisions of "Matrix - Sound Sensor/zh"

From FriendlyELEC WiKi
Jump to: navigation, search
(连接)
(使用方法)
Line 24: Line 24:
 
*连接到TINY4412 SDK 1506  
 
*连接到TINY4412 SDK 1506  
 
[[File:sound&tiny4412.png|frameless|400px|tiny4412+sound]]
 
[[File:sound&tiny4412.png|frameless|400px|tiny4412+sound]]
[[File:sound&tiny441201.jpg|frameless|400px|sound+tiny441201]]
+
 
  
 
===Linux下的C示例===
 
===Linux下的C示例===

Revision as of 10:34, 26 August 2015

English

1 介绍

Sound Sensor

配件在默认状态下输出高电平,当检测到有声音的时候输出低电平,声音消失后恢复高电平,没有延时。配件上面的可调电阻可以调整响应的阀值,也即音量。顺时针旋转可调电阻增大阀值,即音量较大时才被检测到。

2 特性

  • 阀值可调,即时响应
  • 2.54mm排针接口,接线方便,通用性强
  • PCB尺寸(mm):16x24

声音传感器PCB

3 工作原理

该传感器内置一个对声音敏感的电容式驻极体话筒。声波使话筒内的驻极体薄膜振动,导致电容的变化,而产生与之对应变化的微小电压。声音传感器的作用相当于一个话筒(麦克风)。它用来接收声波,显示声音的振动图象。当接收当声音时会输出1,但不能对噪声的强度进行测量。

4 使用方法

4.1 连接

G: 接地
V: 接5V
S: GPIO PIN1
  • 连接到NanoPi

NanoPi+sound

  • 连接到TINY4412 SDK 1506

tiny4412+sound


4.2 Linux下的C示例

#include <stdio.h>
#include "libfahw.h"
 
static struct sensor sound[] = {
        {
                TINY4412_GPIO_PIN1,
                IRQ_TYPE_EDGE_BOTH,
        }
};
 
int main(void)
{
    int i;
    int retSize = -1;
    char value[ARRAY_SIZE(sound)];
    int devFD = -1;
    if ((devFD =sensorInit(sound, ARRAY_SIZE(sound))) == -1) {
        printf("Fail to init sensor\n");
        return -1;
    }
 
    if (( retSize = sensorRead(devFD, value, ARRAY_SIZE(sound)) ) == -1) {
        printf("Fail to read sensors\n");
    }
    if (retSize > 0) {
        i = 0;
        for(i=0; i<retSize; i++)
        {
            printf("sound[%d]:%d\n", i, value[i]);
        }
        printf("\n");
    }
    sensorDeinit(devFD);
    return 0;
}

4.3 编译并运行示例

git clone http://github.com/friendlyarm/fa-hardware.git
cd fa-hardware
cd demo
cd matrix-sound_sensor
make

将编译生成的sound通过ftp上传到开发板上运行即可测试。

5 相关资料