(SKU:RB-02S084A)聲音檢測傳感器(奧松)

來自ALSROBOT WiKi
2016年1月7日 (四) 13:56Arduino77討論 | 貢獻(xiàn)的版本

(差異) ←上一版本 | 最后版本 (差異) | 下一版本→ (差異)
跳轉(zhuǎn)至: 導(dǎo)航、 搜索
02S08400.png

目錄

產(chǎn)品概述

聲音傳感器是哈爾濱奧松機(jī)器人科技有限公司自主研發(fā)的一款簡單易用、小巧輕便、性價(jià)比較高的一款傳感器,此款聲音傳感器是由一個(gè)小型駐極體麥克風(fēng)和運(yùn)算放大器構(gòu)成。它可以將捕獲的微小電壓變化放大100倍左右,能夠被微控制器輕松的識別,并進(jìn)行AD轉(zhuǎn)換,輸出模擬電壓值,使得您只需采集模擬量電壓就可以讀出聲音的幅值,判斷聲音的大小。這么貼心的聲音檢測傳感器您都不打算帶回家、那您還在等什么呢?聲音傳感器可在各種單片機(jī)控制器上應(yīng)用,尤其在Arduino控制器上更為簡單,通過3P傳感器連接線插接到Arduino專用傳感器擴(kuò)展板上,可以非常容易地實(shí)現(xiàn)與環(huán)境感知相關(guān)的互動(dòng)作品。

規(guī)格參數(shù)

  1. 工作電壓:2.7V-5.5V
  2. 麥克尺寸:直徑9.7mm
  3. 數(shù)據(jù)類型:模擬輸入
  4. 固定孔:M3 * 4個(gè)
  5. 尺寸:30mm×23mm

接口定義

  • S:信號輸出
  • +:電源正極 (VCC)
  • -:電源地 (GND)

使用方法

工作原理

Arduino 聲音檢測傳感器的原理不是很復(fù)雜,使用一個(gè)話筒收集聲音,經(jīng)過濾波、放大之后接到Arduino的模擬輸入接口上,這樣當(dāng)人對著話筒說話的時(shí)候,在Arduino的模擬輸入端口上就能感知到電壓的變化,說話聲音越大,電壓變化的幅度就越大。
但是,由于聲波是不斷變化的正弦波,所以在模擬輸入端口上讀取的值相應(yīng)的也是變化的,我們根據(jù)某個(gè)時(shí)間點(diǎn)上讀取的值來對聲音進(jìn)行判斷,這時(shí)可能讀到的是聲波波形的最小值,也可能是讀取的聲波的最大值,所以在判斷聲音返回值時(shí),需要判斷兩段數(shù)值。

編程原理

聲音檢測傳感器共引出三個(gè)引腳,分別是電源正Vcc,電源地GND,信號S,實(shí)際使用時(shí),可以將傳感器連接到 Arduino 的模擬引腳,例如模擬口 A0,通過 Arduino 控制器自帶的 10 位 AD 轉(zhuǎn)換對數(shù)據(jù)進(jìn)行讀取,通過 if 語句對讀取的模擬量進(jìn)行判斷,設(shè)定范圍,通過范圍來控制 LED 在什么樣的噪音下亮起,其中 LED 使用 Arduino 控制器自帶的 13 號引腳 LED 燈。

實(shí)驗(yàn)連接圖

02S084A01.png

例子程序

const int analogInPin = A0;   // 定義聲音傳感器模擬值輸入引腳為模擬0
int sensorValue = 0;          // 定義聲音傳感器模擬值變量
int led=13;                   // 定義LED發(fā)光模塊引腳為數(shù)字13
//初始化函數(shù)
void setup() {
  Serial.begin(115200);     //設(shè)置串口波特率為115200
  pinMode(led,OUTPUT);       //定義led引腳為輸出
}
//主函數(shù)
void loop() {
  sensorValue = analogRead(analogInPin);   //讀取模擬引腳聲音傳感器反饋的模擬值
 if(sensorValue>580||sensorValue<423){     //判斷聲音傳感器反饋的模擬值,由于聲波是一種波動(dòng),故需要判斷兩段數(shù)值
      digitalWrite(led,HIGH);              //通過邏輯或來判斷聲音的大小,當(dāng)檢測聲音大于聲音傳感器返回值580時(shí)點(diǎn)亮LED
  }
  else digitalWrite(led,LOW);              //無聲音時(shí)LED熄滅 
  delay(50);                               //短暫延時(shí)
  Serial.print("sensor = " );             //串口打印字符串
  Serial.print(sensorValue);              //串口打印聲音傳感器返回模擬值
  delay(100);                             //長延時(shí),消除聲波反射
}

程序效果

將上述例子程序上傳到 Arduino 控制器中,如果上傳無誤的話,打開 Arduino IDE 自帶的串口監(jiān)視器,可以看到當(dāng)前聲音傳感器采集到的聲音模擬量值,當(dāng)聲音輸出模擬量在580到423之間時(shí),Arduino 13號引腳的 LED 點(diǎn)亮,如果不在范圍內(nèi),LED 熄滅。

02S084A02.png

視頻演示

Sheng yin 01.png

產(chǎn)品相關(guān)推薦

Erweima.png

購買地址

聲音檢測傳感器

周邊產(chǎn)品推薦

聲音檢測傳感器
Arduino 旋轉(zhuǎn)角度傳感器
Arduino 電容觸摸傳感器
通用傳感器連接線 3P杜邦連接線

相關(guān)問題解答

Scratch傳感器案例 —— 看!聲音的樣子!
Arduino Sound Detector 聲音檢測模塊測評
源自Sparkfun——SOUND DETECTOR聲音檢測傳感器評測

相關(guān)學(xué)習(xí)資料

Sparkfun 官方使用手冊
聲音傳感器電路原理圖 PDF 文件
聲音傳感器 Eagle Files 文件下載
奧松機(jī)器人技術(shù)論壇