Grove 聲音傳感器
出處:維庫(kù)電子市場(chǎng)網(wǎng) 發(fā)布于:2024-07-19 16:24:41 | 427 次閱讀
更重要的是,LM358 IC 沒(méi)有真正的軌到軌(0V 至 Vcc)輸出。數(shù)據(jù)手冊(cè)規(guī)定輸出電壓擺幅為 0V 至 (Vcc – 1.5V)。這意味著當(dāng)Vcc = 5V時(shí),最大可能的模擬讀數(shù)約為715。為了獲得更寬的輸出范圍,應(yīng)使用一個(gè)軌到軌運(yùn)算放大器。
在下一節(jié)課中,我們將研究如何使用 Seeeduino Nano 和 Grove 聲音傳感器組合來(lái)構(gòu)建聲音激活的定時(shí)開關(guān)。在進(jìn)入項(xiàng)目之前,請(qǐng)記住,您可以使用 Arduino Uno 或 Nano 板代替 Seeeduino Nano 板,但您應(yīng)該繼續(xù)使用 Grove Sound Sensor 模塊。盡管這里可以使用另一個(gè)準(zhǔn)備提供模擬信號(hào)輸出的聲音傳感器模塊,但我現(xiàn)在不會(huì)深入探討。
聲音激活定時(shí)開關(guān)代碼
由于 Grove 聲音傳感器產(chǎn)生不同的電壓,因此我們可以使用微控制器的模數(shù)轉(zhuǎn)換器 (ADC) 來(lái)處理該電壓。因此,這里有一個(gè)簡(jiǎn)單的 Seeeduino Sketch,也與 Arduino Uno/Nano 兼容,它從連接到 A0 的聲音傳感器模塊讀取電壓,然后顯示在 Arduino IDE 的串行監(jiān)視器上。此外,當(dāng)聲級(jí)超過(guò)預(yù)定義閾值時(shí),D13 輸出在有限的時(shí)間內(nèi)變?yōu)楦唠娖健?br> #define SOUND_IN A0 // Sound Input =
A0
#define SW_OUT 13 // Switch Output =
D13
#define THRESHOLD_VALUE 600 // Current
Threshold = 2.929V!
void setup()
{
Serial.begin(9600);
pins_init();
}
void loop()
{
int sensorValue =
analogRead(SOUND_IN);
Serial.print("sensorValue
");
Serial.println(sensorValue);
if(sensorValue > THRESHOLD_VALUE)
{
turnOnSW_OUT();
delay(3000);// D13 Delay = 3 Seconds
}
turnOffSW_OUT();
}
void pins_init()
{
pinMode(SW_OUT, OUTPUT);
pinMode(SOUND_IN, INPUT);
}
void turnOnSW_OUT()
{
digitalWrite(SW_OUT,HIGH);
}
void turnOffSW_OUT()
{
digitalWrite(SW_OUT,LOW);
} 這是一個(gè)隨機(jī)的串行監(jiān)視器屏幕截圖:
所以現(xiàn)在你有一個(gè)粗糙的聲音激活計(jì)時(shí)器設(shè)備。接下來(lái),您可以在設(shè)置的輸出端添加一個(gè)繼電器驅(qū)動(dòng)器,以便在有響亮的聲音時(shí)喚醒外部電氣負(fù)載,如警告燈或警報(bào)。繼電器驅(qū)動(dòng)器電路的觸發(fā)輸入必須連接到 Seeeduino Nano 的 D13 引腳。
至于繼電器及其驅(qū)動(dòng)電路,您可以自己構(gòu)建一個(gè),也可以購(gòu)買現(xiàn)成的“高電平有效輸入”繼電器模塊,而無(wú)需費(fèi)力——無(wú)論如何都要明智地這樣做。下面是這樣一種緊湊型繼電器模塊的圖片——Grove Relay (https://seeeddoc.github.io/Grove-Relay/).Grove 繼電器 v1.1 的工作電壓為 5V,而下一個(gè)版本 v 1.2 的工作電壓為 3.3V 至 5V。在 250VAC(最大)開關(guān)電壓下,最大開關(guān)電流為 5A?! ÷曇艏せ顡軇?dòng)開關(guān)代碼(拍手開關(guān)代碼)
long long int last_states = 0;
void setup() {
pinMode(13, OUTPUT);
pinMode(A0, INPUT);
}
void loop() {
last_states = last_states << 1;
if(analogRead(A0) > 600){ // Clap
Threshold
if(last_states == 0){
digitalWrite(13, !digitalRead(13));
}
last_states++;
}
delay(20);
}
任何拍手的聲音足夠大且離麥克風(fēng)不太遠(yuǎn)的人都可以激活切換過(guò)程。在此代碼中,使用一個(gè)簡(jiǎn)單的技巧來(lái)阻止拍手開關(guān)響應(yīng)不需要的聲音,比如響亮的音樂(lè)位。因此,只有當(dāng)麥克風(fēng)發(fā)出輕柔的拍手聲時(shí),內(nèi)置 LED (D13 LED) 才會(huì)切換(關(guān)閉-關(guān)閉-打開......希望這是有道理的!
適用于 Arduino Nano 的 Grove Shield (v1.0)
許多讀者可能已經(jīng)注意到,我以不同的方式構(gòu)建了我的快速測(cè)試原型。當(dāng)然是。我用一個(gè)特殊的 Grove Shield 制作了它,因?yàn)楫?dāng)時(shí)我手里有一個(gè)。
此外,非常有用的屏蔽層通過(guò)拔出主板的引腳來(lái)幫助我們擺脫面包板和跳線,并擴(kuò)展到 8 個(gè) Grove 連接器。因此,您可以使用 Grove Shield for Arduino Nano v1.0 (https://www.seeedstudio.com/Grove-Shield-for-Arduino-Nano-p-4112.html).
使用此擴(kuò)展板時(shí),最好將開關(guān)輸出從 D13 更改為 Seeeduino Nano 的其他 I/O,例如 D6,因?yàn)樗兄诒3终w接線整潔漂亮。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 二極管的恒壓降模型
- 點(diǎn)動(dòng)正轉(zhuǎn)控制電路簡(jiǎn)介
- 如何使用多相轉(zhuǎn)換器平衡電流
- 液晶電視機(jī)電路結(jié)構(gòu)的關(guān)鍵要點(diǎn)
- LTC4365 如何實(shí)現(xiàn)敏感電路過(guò)壓與反接保護(hù)
- 單鍵開關(guān)機(jī)電路與輕觸開關(guān)的創(chuàng)新設(shè)計(jì)解析
- MOS 管邏輯電路五種門電路特性
- LM317:高效構(gòu)建電壓源及電流源電路方案
- 3.3V - 1.8V 電平雙向轉(zhuǎn)換:多場(chǎng)景配置及獨(dú)特優(yōu)勢(shì)剖析
- 詳解防反接電路實(shí)現(xiàn)過(guò)程,聚焦電路電流回路核心