和12歲小同志搞創(chuàng)客開發(fā):手撕代碼,做一款聲控?zé)?/h1>

之前兩篇博文主要是數(shù)字量輸入位仁、輸出類型傳感器的驅(qū)動(dòng)柑贞。

和12歲小同志搞創(chuàng)客開發(fā):手撕代碼,點(diǎn)亮LED燈

和12歲小同志搞創(chuàng)客開發(fā):手撕代碼聂抢,做一款人體感應(yīng)燈

本篇博文講講模擬量傳感器的驅(qū)動(dòng)钧嘶。

小時(shí)候有沒有對(duì)走廊的聲控?zé)艉芨信d趣呢?會(huì)不會(huì)拼命的跺腳只為讓那盞燈點(diǎn)亮琳疏。本篇博文我們使用聲音傳感器做個(gè)這樣的聲控?zé)粲芯觥V灰爿p輕拍下手,燈就自動(dòng)亮起來了空盼,沒了聲音书幕,燈就又自動(dòng)關(guān)了。

MIC聲音傳感器是一款基于麥克風(fēng)為聲音檢測(cè)的傳感器揽趾,可用來對(duì)周圍環(huán)境中的聲音強(qiáng)度進(jìn)行檢測(cè)台汇,具有300倍的放大器,輸出模擬信號(hào)能使用3.3V和5V為基準(zhǔn)AD采集篱瞎,可以用來實(shí)現(xiàn)根據(jù)聲音大小進(jìn)行互動(dòng)的效果苟呐、制作聲控機(jī)器人、聲控開關(guān)俐筋、聲控報(bào)警等牵素。

傳感器連線效果如下所示:

實(shí)現(xiàn)代碼如下所示:?

int soundPin = 0; //聲音傳感器接到模擬0

int ledPin =? 13;? ? ? //LED接到數(shù)字13

void setup() {

? pinMode(ledPin, OUTPUT);

// Serial.begin(9600);? ? //用于調(diào)試

}

void loop(){

? int soundState = analogRead(soundPin);? //讀取傳感器的值

// Serial.println(soundState);? ? ? //串口打印聲音傳感器的值

//如果聲音值大于10,亮燈澄者,并持續(xù)10s两波,否則關(guān)燈

? if (soundState > 10) {? ? ? ? ?

? ? ? digitalWrite(ledPin, HIGH);?

? ? ? delay(10000);

? }else{

? ? ? digitalWrite(ledPin, LOW);

? }

}

在setup()中只設(shè)置了LED為輸出,由于聲音傳感器模擬口都是輸入設(shè)置闷哆,所以不需要設(shè)置了腰奋。

聲音傳感器是輸入設(shè)備,所以需要讀取對(duì)應(yīng)模擬口IO的值抱怔。與讀取數(shù)字口函數(shù)digitalRead(pin)類似劣坊,模擬口讀取函數(shù)如下所示:

analogRead(pin)

這個(gè)函數(shù)用于從模擬引腳讀值,pin是指連接的模擬引腳局冰。Arduino的模擬引腳連接到一個(gè)了10位AD轉(zhuǎn)換灌危,輸入0~5V的電壓對(duì)應(yīng)讀到0~1023的數(shù)值,每個(gè)讀到的數(shù)值對(duì)應(yīng)的都是一個(gè)電壓值沫勿。比如:ADC數(shù)值512代表電壓2.5V。

為了方便調(diào)測(cè)诫惭,程序中添加了串口監(jiān)視器功能蔓挖,需要修改預(yù)設(shè)值的話,可以打開串口監(jiān)視器怨绣,看看你需要的聲音強(qiáng)度的值在什么范圍拷获,然后做相應(yīng)調(diào)整就可以了。?

begin()函數(shù)實(shí)現(xiàn)打開串口咽扇,設(shè)置通信波特率陕壹,原型如下所示:

void HardwareSerial::begin? (long speed)

speed:波特率數(shù)值

常用串口波特率包括:4800糠馆、9600、19200九昧、38400毕匀、115200等。

print()函數(shù)和println()函數(shù)實(shí)現(xiàn)往串口發(fā)數(shù)據(jù)蹋笼,只是print()函數(shù)沒有換行功能而println()函數(shù)有換行躁垛。它們以ASCII碼形式向串口發(fā)送數(shù)據(jù)。整數(shù)的每一數(shù)位將以ASCII碼形式發(fā)送逊谋;浮點(diǎn)數(shù)同樣以ASCII碼形式發(fā)送土铺,默認(rèn)保留小數(shù)點(diǎn)后兩位板鬓;字節(jié)型數(shù)據(jù)將以單個(gè)字符形式發(fā)送穗熬;字符和字符串會(huì)以其相應(yīng)的形式發(fā)送丁溅。例如以下示例:

Serial.print(78) 發(fā)送 "78"

Serial.print(1.23456) 發(fā)送 "1.23"

Serial.print('N') 發(fā)送 "N"

Serial.print("Hello world.") 發(fā)送 "Hello world."

print()函數(shù)和println()函數(shù)還有可選的第二個(gè)參數(shù)用于指定數(shù)據(jù)的格式窟赏。允許的值為:BIN (binary二進(jìn)制)箱季, OCT(octal八進(jìn)制),DEC(decimal十進(jìn)制)拷况,HEX(hexadecimal十六進(jìn)制)掘殴。對(duì)于浮點(diǎn)數(shù),該參數(shù)指定小數(shù)點(diǎn)的位數(shù)起意。例如以下示例:

Serial.print(78, BIN) gives "1001110"

Serial.print(78, OCT) gives "116"

Serial.print(78, DEC) gives "78"

Serial.print(78, HEX) gives "4E"

Serial.println(1.23456, 0) gives "1"

Serial.println(1.23456, 2) gives "1.23"

Serial.println(1.23456, 4) gives "1.2346"

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者

  • 序言:七十年代末揽咕,一起剝皮案震驚了整個(gè)濱河市套菜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蛹头,老刑警劉巖嚎于,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件于购,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡斑胜,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門掺炭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凭戴,“玉大人,你說我怎么就攤上這事者冤〉祷荆” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵愿汰,是天一觀的道長(zhǎng)衬廷。 經(jīng)常有香客問我锯仪,道長(zhǎng),這世上最難降的妖魔是什么小腊? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任秩冈,我火速辦了婚禮斥扛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芬失。我一直安慰自己,他們只是感情好棱烂,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布颊糜。 她就那樣靜靜地躺著,像睡著了一般衬鱼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蒜胖,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天翠勉,我揣著相機(jī)與錄音霉颠,去河邊找鬼荆虱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛怀读,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播苍糠,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼岳瞭,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蚊锹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起姚炕,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤柱宦,失蹤者是張志新(化名)和其女友劉穎播瞳,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體狐史,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年尼斧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了试吁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡烛恤,死狀恐怖余耽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情币喧,我是刑警寧澤袱耽,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布朱巨,位于F島的核電站,受9級(jí)特大地震影響冀续,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜跨琳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一脉让、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧溅潜,春花似錦薪伏、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽萝招。三九已至,卻和暖如春曙蒸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背岗钩。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工兼吓, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人趋艘。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓凶朗,卻偏偏與公主長(zhǎng)得像显拳,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子宛畦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容