Arduino 各種模塊篇 聲控傳感器 聲音檢測模塊 口哨模塊 vocie sensor


voice sensor

信號圖:

原廠數據如下圖:

6.5元的模塊。

 

一 產品特點:

 

1 可以檢測周圍環境的聲音強度,使用注意此傳感器只能識別聲音的有無(根據震動原理)不能識別聲音的大小或者特定頻率的聲音

2 靈敏度可調(圖中藍色數字電位器調節)

3 工作電壓3.3V-5V

5 輸出形式 數字開關量輸出(0和1高低電平

6 設有固定螺栓孔,方便安裝

7 小板PCB尺寸:3.2cm * 1.7cm

二 模塊接線說明

1 VCC 外接3.3V-5V電壓(可以直接與5v單片機和3.3v單片機相連)

2 GND 外接GND

3 OUT 小板開關量輸出接口(0和1)

三 使用說明

1聲音模塊對環境聲音強度最敏感,一般用來檢測周圍環境的聲音強度

2 模塊在環境聲音強度達不到設定閾值時,OUT輸出高電平,當外界環境聲音強度超過設定閾值時,模塊OUT輸出低電平;

3 小板數字量輸出OUT可以與單片機直接相連,通過單片機來檢測高低電平,由此來檢測環境的聲音

4 小板數字量輸出OUT可以直接驅動本店繼電器模塊,由此可以組成一個聲控開關;

調試方法跟這個視頻差不多。只不過我的這個模塊沒有模擬信號輸出口,只有數字輸出口{TTL電平},不能檢測聲音強度,只能檢測聲音有無。

先提供一段調試聲音靈敏度的代碼,當你用螺絲刀調節變阻器的時候。

要將數據介於0,1之間。

當有聲音時是0,

沒有聲音時是1.

要調節到剛好都輸出的是1, 有一點聲音的時候,立即輸出0.

結合串口輸出並調試代碼。

int sensorVoice = 2;
void setup()
{
  pinMode(sensorVoice, INPUT);
  Serial.begin(9600);
}

void loop()
{
  int temp = digitalRead(sensorVoice);
  Serial.println(temp);
  delay(200);
  
}

圖中有0輸出,表示有聲音。因為我在吹口哨,哈哈~

這樣就能表示其比較靈敏了。TTL來說,美中不足沒有analog 

下面就可以寫聲控程序了。

 

下面做個例程。做個簡單的聲控燈。

功能:

  有聲音后,達到一定程度,激活繼電器,打開電燈,亮30秒。然后熄滅。

 

做了一個簡單的消除雜音處理,有點像消抖,其實都差不多。

就是加了個delay(若干毫秒) 函數。

//-----------voice-sensor------------

int sensorVoice = 2;
int sensorJidianqi = 13; //
void setup()
{
  pinMode(sensorJidianqi, OUTPUT);
  pinMode(sensorVoice, INPUT);
  Serial.begin(9600);
}

void loop()
{
  if (digitalRead(sensorVoice) ==0)
  {
    delay(100);
    if (digitalRead(sensorVoice) ==0)
    {
      digitalWrite(sensorJidianqi, HIGH); //LOW to power on JiDianQi
      delay(4000);
      digitalWrite(sensorJidianqi, LOW); //
    }
  }
  else
  {
    digitalWrite(sensorJidianqi, LOW);
  }
}

這個是沒有用繼電器的。

用繼電器的時候,注意是高電平激活,還是低電平激活繼電器的。這個要留意。本人買的幾個都是低電平導通的,不同繼電器可能不同。

用的是arduino Uno pin13上默認自己帶的那個LED燈。實驗就是對着模塊吹一聲,而后,模塊上的Pin13出默認的LED燈,就亮了4秒鍾。而后自動熄滅。

代碼就是這么簡單

切記:一定要事先調整好模塊,用螺絲刀調整好,到臨界狀態。

如果有聲音,模塊輸出低電平 0 v

如果沒有聲音,模塊輸出高點平 5V 

是在一個區間內的,一個高一個低。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM