0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Arduino將Adafruit駐極體麥克風(fēng)放大器連接到測(cè)量聲級(jí)

454398 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-12-03 09:23 ? 次閱讀

概述

如何使用Arduino將Adafruit駐極體麥克風(fēng)放大器連接到測(cè)量聲級(jí)

本指南介紹了如何使用ArduinoAdafruit駐極體麥克風(fēng)放大器連接到測(cè)量聲級(jí)。

麥克風(fēng)放大器將駐極體膠囊麥克風(fēng)與aMAX4466運(yùn)算放大器配對(duì),該放大器經(jīng)過(guò)優(yōu)化,可用于麥克風(fēng)前置放大器應(yīng)用。靈活的電源電壓和可調(diào)節(jié)的增益使該模塊適用于各種音頻應(yīng)用。

規(guī)格

電源電壓:2.4v-5v

輸出:軌到軌-最高5vp-p

頻率響應(yīng):20Hz-20 KHz

可調(diào)增益25x-125x

可用范圍:當(dāng)然是Adafruit!

組裝和接線(xiàn)

裝配:該板附帶所有表面貼裝的組件-焊接。可以將附帶的標(biāo)題條焊接起來(lái),以方便在帶有0.1英寸連接器的面包板上使用。

準(zhǔn)備標(biāo)題條: 如有必要,將標(biāo)題條切成一定長(zhǎng)度。如果將其插入面包板,則焊接起來(lái)會(huì)更容易-長(zhǎng)針向下。

添加分支板: 將分支板放置在插針上。

(您可以用一些額外的插針支撐板的自由邊緣,以便更好地對(duì)齊以進(jìn)行焊接。)

和焊接! 確保焊接所有引腳以確??煽康碾娊佑|。

(有關(guān)焊接的技巧,請(qǐng)務(wù)必查看我們的 優(yōu)良焊接指南 )。

接線(xiàn):該放大器只有3個(gè)連接,因此接線(xiàn)很簡(jiǎn)單:

GND-》 GND

VCC-》 3.3V

OUT-》 AIN0

VCC的電壓范圍可以是2.4-5VDC。為了獲得最佳性能,我們使用3.3v引腳,因?yàn)樗茿rduino上的“最安靜”電源。

輸出將具有VCC/2的DC偏置,因此當(dāng)其完全安靜時(shí),電壓為穩(wěn)定的VCC/2(1.65v)。

測(cè)量聲音水平

來(lái)自放大器輸出的音頻信號(hào)是變化的電壓。為了測(cè)量聲級(jí),我們需要進(jìn)行多次測(cè)量以找到信號(hào)的最小和最大范圍或“峰到峰幅度”。

在下面的示例中,我們選擇50毫秒的示例窗口。這足以測(cè)量低至20 Hz(人類(lèi)聽(tīng)覺(jué)的下限)頻率的聲音水平。

找到最小和最大樣本后,我們計(jì)算差值并將其轉(zhuǎn)換為伏特,然后將輸出打印到串行監(jiān)視器。

下載:文件

復(fù)制代碼

/****************************************

Example Sound Level Sketch for the

Adafruit Microphone Amplifier

****************************************/

const int sampleWindow = 50; // Sample window width in mS (50 mS = 20Hz)

unsigned int sample;

void setup()

{

Serial.begin(9600);

}

void loop()

{

unsigned long startMillis= millis(); // Start of sample window

unsigned int peakToPeak = 0; // peak-to-peak level

unsigned int signalMax = 0;

unsigned int signalMin = 1024;

// collect data for 50 mS

while (millis() - startMillis 《 sampleWindow)

{

sample = analogRead(0);

if (sample 《 1024) // toss out spurious readings

{

if (sample 》 signalMax)

{

signalMax = sample; // save just the max levels

}

else if (sample 《 signalMin)

{

signalMin = sample; // save just the min levels

}

}

}

peakToPeak = signalMax - signalMin; // max - min = peak-peak amplitude

double volts = (peakToPeak * 5.0) / 1024; // convert to volts

Serial.println(volts);

} /****************************************

Example Sound Level Sketch for the

Adafruit Microphone Amplifier

****************************************/

const int sampleWindow = 50; // Sample window width in mS (50 mS = 20Hz)

unsigned int sample;

void setup()

{

Serial.begin(9600);

}

void loop()

{

unsigned long startMillis= millis(); // Start of sample window

unsigned int peakToPeak = 0; // peak-to-peak level

unsigned int signalMax = 0;

unsigned int signalMin = 1024;

// collect data for 50 mS

while (millis() - startMillis 《 sampleWindow)

{

sample = analogRead(0);

if (sample 《 1024) // toss out spurious readings

{

if (sample 》 signalMax)

{

signalMax = sample; // save just the max levels

}

else if (sample 《 signalMin)

{

signalMin = sample; // save just the min levels

}

}

}

peakToPeak = signalMax - signalMin; // max - min = peak-peak amplitude

double volts = (peakToPeak * 5.0) / 1024; // convert to volts

Serial.println(volts);

}

確定,所以這不是很令人興奮。您還能做什么?

滾動(dòng)聲級(jí)計(jì)因此,現(xiàn)在我們將進(jìn)行峰峰值測(cè)量,并使用它來(lái)驅(qū)動(dòng)BicolorLED矩陣以顯示聲級(jí)。為了使它更有趣,我們將滾動(dòng)顯示屏幕,以便實(shí)時(shí)繪制最近的8個(gè)測(cè)量結(jié)果。

為此,您需要下載Adafruit GFX庫(kù)和LED背包庫(kù)。 Wire Library包含在A(yíng)rduino IDE安裝中。

組裝矩陣,請(qǐng)按照以下教程進(jìn)行操作:

連接Matrix Matrix背包有4個(gè)插針,其連接方式如下:

‘+’-》 5v

‘-’-》 GND

D-》 SDA(模擬引腳4)

C-》 SCL(模擬引腳5)

上傳代碼,將以下代碼粘貼到Arduino IDE中并上傳。以正常的聲音說(shuō)話(huà),距離麥克風(fēng)大約6-8英寸,并且聲級(jí)計(jì)矩陣顯示應(yīng)該開(kāi)始滾動(dòng)。

調(diào)整增益盡管放大器能夠產(chǎn)生軌到軌信號(hào)(在這種情況下為3.3v),但是代碼映射了一個(gè)1v峰峰值信號(hào)可滿(mǎn)幅顯示。

這可以在代碼中更改?;蛘?,您可以使用小號(hào)直刃螺絲刀調(diào)節(jié)放大器的增益微調(diào)電位器。放大器增益可在25倍至125倍之間調(diào)節(jié)。

輕輕進(jìn)行所有增益調(diào)整。如果您感到阻力,請(qǐng)停止。小巧的裝飾鍋很精致,很容易通過(guò)擋塊損壞。

下載:文件

復(fù)制代碼

/****************************************

Scrolling Sound Meter Sketch for the

Adafruit Microphone Amplifier

****************************************/

#include

#include “Adafruit_LEDBackpack.h”

#include “Adafruit_GFX.h”

// Include the Matrix code for display

Adafruit_BicolorMatrix matrix = Adafruit_BicolorMatrix();

const int maxScale = 8;

const int redZone = 5;

const int sampleWindow = 50; // Sample window width in mS (50 mS = 20Hz)

unsigned int sample;

void setup()

{

Serial.begin(9600);

matrix.begin(0x70); // pass in the address

}

void loop()

{

unsigned long startMillis= millis(); // Start of sample window

unsigned int peakToPeak = 0; // peak-to-peak level

unsigned int signalMax = 0;

unsigned int signalMin = 1024;

while (millis() - startMillis 《 sampleWindow)

{

sample = analogRead(0);

if (sample 《 1024) // toss out spurious readings

{

if (sample 》 signalMax)

{

signalMax = sample; // save just the max levels

}

else if (sample 《 signalMin)

{

signalMin = sample; // save just the min levels

}

}

}

peakToPeak = signalMax - signalMin;

// map 1v p-p level to the max scale of the display

int displayPeak = map(peakToPeak, 0, 1023, 0, maxScale);

// Update the display:

for (int i = 0; i 《 7; i++) // shift the display left

{

matrix.displaybuffer[i] = matrix.displaybuffer[i+1];

}

// draw the new sample

for (int i = 0; i 《= maxScale; i++)

{

if (i 》= displayPeak) // blank these pixels

{

matrix.drawPixel(i, 7, 0);

}

else if (i 《 redZone) // draw in green

{

matrix.drawPixel(i, 7, LED_GREEN);

}

else // Red Alert! Red Alert!

{

matrix.drawPixel(i, 7, LED_RED);

}

}

matrix.writeDisplay(); // write the changes we just made to the display

} /****************************************

Scrolling Sound Meter Sketch for the

Adafruit Microphone Amplifier

****************************************/

#include

#include “Adafruit_LEDBackpack.h”

#include “Adafruit_GFX.h”

// Include the Matrix code for display

Adafruit_BicolorMatrix matrix = Adafruit_BicolorMatrix();

const int maxScale = 8;

const int redZone = 5;

const int sampleWindow = 50; // Sample window width in mS (50 mS = 20Hz)

unsigned int sample;

void setup()

{

Serial.begin(9600);

matrix.begin(0x70); // pass in the address

}

void loop()

{

unsigned long startMillis= millis(); // Start of sample window

unsigned int peakToPeak = 0; // peak-to-peak level

unsigned int signalMax = 0;

unsigned int signalMin = 1024;

while (millis() - startMillis 《 sampleWindow)

{

sample = analogRead(0);

if (sample 《 1024) // toss out spurious readings

{

if (sample 》 signalMax)

{

signalMax = sample; // save just the max levels

}

else if (sample 《 signalMin)

{

signalMin = sample; // save just the min levels

}

}

}

peakToPeak = signalMax - signalMin;

// map 1v p-p level to the max scale of the display

int displayPeak = map(peakToPeak, 0, 1023, 0, maxScale);

// Update the display:

for (int i = 0; i 《 7; i++) // shift the display left

{

matrix.displaybuffer[i] = matrix.displaybuffer[i+1];

}

// draw the new sample

for (int i = 0; i 《= maxScale; i++)

{

if (i 》= displayPeak) // blank these pixels

{

matrix.drawPixel(i, 7, 0);

}

else if (i 《 redZone) // draw in green

{

matrix.drawPixel(i, 7, LED_GREEN);

}

else // Red Alert! Red Alert!

{

matrix.drawPixel(i, 7, LED_RED);

}

}

matrix.writeDisplay(); // write the changes we just made to the display

}

更多酷項(xiàng)目!

要使用Adafruit麥克風(fēng)放大器獲得更多樂(lè)趣,請(qǐng)查看出色的Wave ShieldVoice Changer項(xiàng)目:

Tiny Arduino Music Visualizer!

下載

數(shù)據(jù)表

鏈接到MAX4466數(shù)據(jù)表(主放大器芯片

使用的駐極體麥克風(fēng)

下載EAGLE文件

示意圖:

單擊以進(jìn)行簽名

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 放大器
    +關(guān)注

    關(guān)注

    143

    文章

    13433

    瀏覽量

    212187
  • 麥克風(fēng)
    +關(guān)注

    關(guān)注

    15

    文章

    617

    瀏覽量

    54610
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6453

    瀏覽量

    185928
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    差分輸出(隔離式)放大器連接到單端輸入ADC

    電子發(fā)燒友網(wǎng)站提供《差分輸出(隔離式)放大器連接到單端輸入ADC.pdf》資料免費(fèi)下載
    發(fā)表于 09-05 09:58 ?0次下載
    <b class='flag-5'>將</b>差分輸出(隔離式)<b class='flag-5'>放大器</b><b class='flag-5'>連接到</b>單端輸入ADC

    一文全了解麥克風(fēng)陣列

    什么是麥克風(fēng)陣列? 想象一下一個(gè)小型音響部隊(duì)在你面前,它們站成一排,用不同的麥克風(fēng)捕捉聲音。這就是麥克風(fēng)陣列的基本概念。麥克風(fēng)陣列由多個(gè)麥克風(fēng)
    的頭像 發(fā)表于 09-03 16:03 ?479次閱讀
    一文全了解<b class='flag-5'>麥克風(fēng)</b>陣列

    麥克風(fēng)音頻放大器輸出失真的原因?

    麥克風(fēng)音頻放大器輸出失真
    發(fā)表于 08-19 06:48

    駐極體麥克風(fēng),差分輸入ADC前置運(yùn)放是用OPA1632好還是NE5532好?

    駐極體麥克風(fēng),差分輸入ADC前置運(yùn)放,用OPA1632好還是NE5532好?
    發(fā)表于 08-13 07:17

    用opa1671做麥克風(fēng)前置放大器做音頻ADC采樣時(shí),距離遠(yuǎn)聲音太小怎么解決?

    在用opa1671做麥克風(fēng)前置放大器做音頻ADC采樣時(shí),距離遠(yuǎn)聲音太小,距離近聲音太大,有沒(méi)有推薦的自動(dòng)AGC電路(參考電路),(由于功耗原因,不能用音頻編解碼芯片)
    發(fā)表于 08-08 08:23

    求助AD73311的AD部分,使用駐極體麥克風(fēng)時(shí)輸入時(shí),該怎么進(jìn)行音頻放大

    駐極體麥克風(fēng)直接接入音頻放大器中,不需要供電嗎,我看駐極體麥克風(fēng)不供電是無(wú)法輸出電壓的啊。 大
    發(fā)表于 07-06 15:05

    無(wú)線(xiàn)麥克風(fēng)音頻方案

    無(wú)線(xiàn)麥克風(fēng)是音頻傳輸領(lǐng)域的一項(xiàng)重要技術(shù),廣泛應(yīng)用于演講、表演、會(huì)議等場(chǎng)合。而無(wú)線(xiàn)麥克風(fēng)的音頻方案中,無(wú)線(xiàn)芯片起著關(guān)鍵作用。下面介紹無(wú)線(xiàn)麥克風(fēng)音頻方案中的技術(shù)要點(diǎn)和優(yōu)勢(shì)。 首先,無(wú)線(xiàn)
    的頭像 發(fā)表于 02-26 15:22 ?602次閱讀

    基于2N3904的簡(jiǎn)單電容麥克風(fēng)前置放大器電路

    今天,讓我們?cè)囍鲆粋€(gè)麥克風(fēng)。通過(guò)使用電容式麥克風(fēng)前置放大器電路。由于其聲音靈敏度高,使用方便,體積小,價(jià)格便宜。例如,它可以直接連接到您的功率放大
    的頭像 發(fā)表于 02-25 09:55 ?3057次閱讀
    基于2N3904的簡(jiǎn)單電容<b class='flag-5'>麥克風(fēng)</b>前置<b class='flag-5'>放大器</b>電路

    麥克風(fēng)放大器電路圖分享

    麥克風(fēng)放大器,也稱(chēng)為話(huà)筒放大器,是一種音頻信號(hào)處理設(shè)備。它可以低電平的麥克風(fēng)信號(hào)放大,轉(zhuǎn)換為高
    的頭像 發(fā)表于 02-12 17:07 ?2110次閱讀
    <b class='flag-5'>麥克風(fēng)</b><b class='flag-5'>放大器</b>電路圖分享

    麥克風(fēng)前置放大器電路圖分享

    麥克風(fēng)前置放大器是一種有源電子設(shè)備,其主要作用是麥克風(fēng)的電平信號(hào)提升到線(xiàn)路電平,以便供專(zhuān)業(yè)設(shè)備使用。
    的頭像 發(fā)表于 02-12 16:43 ?5290次閱讀
    <b class='flag-5'>麥克風(fēng)</b>前置<b class='flag-5'>放大器</b>電路圖分享

    三款麥克風(fēng)前置放大器電路圖分享

    這是一個(gè)非常靈敏的麥克風(fēng)前置放大器電路的原理圖,可用于增加麥克風(fēng)的增益或增強(qiáng)來(lái)自麥克風(fēng)的音頻信號(hào)。該電路非常簡(jiǎn)單,僅包含少量組件,如果所有部件都可用,則可以在幾分鐘內(nèi)組裝完成。
    的頭像 發(fā)表于 02-10 15:26 ?5443次閱讀
    三款<b class='flag-5'>麥克風(fēng)</b>前置<b class='flag-5'>放大器</b>電路圖分享

    麥克風(fēng)單端輸入和差分輸入優(yōu)缺點(diǎn)

    這兩種輸入模式的特點(diǎn)和使用場(chǎng)景。 一、單端輸入模式 1. 定義:?jiǎn)味溯斎肽J绞侵?b class='flag-5'>麥克風(fēng)的一個(gè)輸入引腳連接到信號(hào)源,另一個(gè)引腳連接到地線(xiàn)。 2. 優(yōu)點(diǎn): - 簡(jiǎn)單:?jiǎn)味溯斎肽J降碾娐方Y(jié)構(gòu)相對(duì)簡(jiǎn)單,不需要額外的差分
    的頭像 發(fā)表于 12-25 11:15 ?2791次閱讀

    求助,關(guān)于EVAL-ADAU1761Z和數(shù)字麥克風(fēng)問(wèn)題

    手上有一個(gè)音頻編解碼板EVAL-ADAU1761Z。現(xiàn)在有一些問(wèn)題請(qǐng)教大家:當(dāng)它連接到我們的測(cè)試PCB(板上只有一個(gè)數(shù)字麥克風(fēng)前置放大器)。我們的測(cè)試芯片的輸出是一個(gè)比特?cái)?shù)據(jù)流。因?yàn)橹挥幸粋€(gè)數(shù)
    發(fā)表于 11-30 06:44

    麥克風(fēng)經(jīng)常嘯叫,學(xué)會(huì)這幾招輕松避免

    聲反饋的命令,幾乎不會(huì)對(duì)音樂(lè)造成任何影響,還會(huì)使麥克風(fēng)拾取的聲音變得好聽(tīng),更適合小白。   3、壓限器   壓限器是壓縮器和限幅器的合稱(chēng),它是一種可變?cè)鲆?b class='flag-5'>放大器,會(huì)根據(jù)輸入信號(hào)的強(qiáng)弱自動(dòng)改變輸出信號(hào)
    發(fā)表于 10-11 10:54

    基于CW32的MAX4466(放大器麥克風(fēng)模塊的應(yīng)用

    MAX4466是一款低噪聲、高增益的放大器模塊。該模塊采用了集成放大器芯片,能夠在低電壓下提供高增益。它的輸入阻抗較高,能夠與多種信號(hào)源(例如麥克風(fēng)、傳感器)實(shí)現(xiàn)良好的匹配。
    的頭像 發(fā)表于 10-09 18:04 ?3608次閱讀
    基于CW32的MAX4466(<b class='flag-5'>放大器</b>)<b class='flag-5'>麥克風(fēng)</b>模塊的應(yīng)用