• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      從Arduino心跳波形儀到樹莓派律動(dòng)燈帶

      2022-08-26 01:03:11牟曉東
      電腦報(bào) 2022年32期
      關(guān)鍵詞:燈帶測試者樹莓

      牟曉東

      在開源硬件編程中有時(shí)會(huì)使用到一種叫作“心跳檢測”的模塊,它是一種通過手指來偵測心跳的傳感器,常見的型號(hào)為HW-487光遮斷傳感器,也就是“對(duì)射遮斷式光電開關(guān)傳感器”(如圖1)。

      心跳檢測模塊是采用超亮紅外(IR)LED燈和光敏三極管來探測手指脈搏信號(hào)的(檢測時(shí)需要將手指放置于二者之間),一側(cè)的LED燈發(fā)光(不可見的紅外線)透過手指后被另一側(cè)的光敏三極管接收,由于心跳血壓脈動(dòng)使得手指的血存量不斷發(fā)生變化,因此最終在光敏三極管處所接收到的光通量也會(huì)隨之變化,從而引起電阻產(chǎn)生微小變化,這樣就可以大體檢測到人體的心跳變化情況。值得一提的是,在使用心跳檢測模塊進(jìn)行測試時(shí)最好是將它放置于一個(gè)較為封裝的黑暗空間內(nèi)(比如用一個(gè)盒子扣?。?,因?yàn)橐M可能地屏蔽環(huán)境光對(duì)光敏三極管的影響。

      Arduino簡易心跳波形儀實(shí)現(xiàn)的功能是在電腦屏幕上實(shí)時(shí)顯示出被測試者心跳的波形圖。

      實(shí)驗(yàn)器材包括ArduinoUNO主板一塊,HW-487光遮斷傳感器一個(gè),紅色LED燈一支,杜邦線若干。首先,將LED燈的長腿直接插入Arduino的13號(hào)引腳,短腿則插入相鄰的GND接地引腳;接著,通過杜邦線將光遮斷傳感器的VCC正極、GND接地端和S信號(hào)端分別連接至Arduino的3.3V、GND引腳和A0模擬引腳;最后,給Arduino連接好數(shù)據(jù)線(如圖2)。

      在Arduino的IDE代碼編程界面中,先定義好紅色LED燈連接的13號(hào)引腳:“int Red_LED_pin = 13;”;接著,在setup()函數(shù)中進(jìn)行三處設(shè)置:一是將串口波特率設(shè)置為115200:“Serial.begin(115200);”,二是將LED燈設(shè)置為輸出工作模式:“pinMode(Red_LED_pin,OUTPUT);”,三是將光遮斷傳感器連接的A0模擬引腳設(shè)置為輸入工作模式:“pinMode(A0,INPUT);”。

      在loop()函數(shù)中,先將光遮斷傳感器的模擬輸入信號(hào)在串口進(jìn)行輸出:“Serial.println(analogRead(A0));”;然后建立一個(gè)選擇分支結(jié)構(gòu),其判斷條件是“if(analogRead(A0)>=510)”,注意此處的“510”可根據(jù)實(shí)驗(yàn)測試時(shí)產(chǎn)生的數(shù)據(jù)來重新修改設(shè)置,條件成立的話則控制插接在13號(hào)引腳的紅色LED發(fā)光:“digitalWrite(Red_LED_pin,HIGH);”;接著,延時(shí)20毫秒:“delay(20);”,再關(guān)閉紅色LED燈:“digitalWrite(Red_LED_pin,LOW);”。

      將程序保存為“Detect_Heart.ino”,點(diǎn)擊“上傳”按鈕進(jìn)行測試,注意要點(diǎn)擊“工具”菜單打開“串口繪圖器”窗口,并且在左下角將波特率設(shè)置為115200。此時(shí),在Arduino的串口繪圖器窗口就開始有數(shù)據(jù)產(chǎn)生,一小段時(shí)間后就會(huì)出現(xiàn)有規(guī)律的“心跳”波形(類似于醫(yī)院的心電圖),而且根據(jù)程序中所設(shè)定的閾值(510)不同會(huì)在波形的“波峰”出現(xiàn)時(shí)點(diǎn)亮紅色LED燈,一閃一閃的頻率與被測試者的心跳基本上是吻合的(如圖3)。

      受光遮斷傳感器的數(shù)據(jù)精度所限,該簡易心跳波形儀并不能完全反映出被測試者真實(shí)心跳的醫(yī)學(xué)狀況,比如產(chǎn)生的波形“雜亂”部分并非說明被測試者有“心律不齊”等異常情況,有時(shí)手指按動(dòng)的壓力不同或是環(huán)境光的快速變化等都會(huì)導(dǎo)致波形有較大的波動(dòng)。

      同樣是利用光遮斷傳感器的探測手指脈搏信號(hào)功能,在樹莓派中將其作為燈帶的驅(qū)動(dòng)信號(hào),就會(huì)很方便地設(shè)計(jì)制作出心跳律動(dòng)燈帶,實(shí)現(xiàn)燈帶的燈珠隨被測試者的心跳進(jìn)行實(shí)時(shí)動(dòng)態(tài)點(diǎn)亮與熄滅的心跳律動(dòng)酷炫效果。

      實(shí)驗(yàn)器材包括樹莓派3B+主板和古德微擴(kuò)展板各一塊,模數(shù)轉(zhuǎn)換器一個(gè),光遮斷傳感器一個(gè),燈帶一條,杜邦線若干。首先,將古德微擴(kuò)展板正確安裝于樹莓派上;接著,將燈帶的輸入端三根引線插入擴(kuò)展板的18號(hào)引腳,注意燈帶的VCC、GND和信號(hào)端一定要與擴(kuò)展板的引腳標(biāo)注一一對(duì)應(yīng);然后,將模數(shù)轉(zhuǎn)換器插入擴(kuò)展板的UP列,同樣要注意各個(gè)引腳的標(biāo)注要與擴(kuò)展板正確對(duì)應(yīng);光遮斷傳感器同樣也要使用杜邦線引出VCC正極、GND接地端和S信號(hào)端,插入擴(kuò)展板的24號(hào)引腳,分別對(duì)應(yīng)VCC、GND和A0端;最后,給樹莓派通電,啟動(dòng)操作系統(tǒng)(如圖4)。

      在瀏覽器中訪問古德微機(jī)器人網(wǎng)站,登錄賬號(hào)后進(jìn)入“積木”圖形化編程界面。首先,通過“設(shè)置GPIO”模塊對(duì)燈帶進(jìn)行初始化操作:“可控制燈帶60個(gè)燈并設(shè)置亮度為50”;接著,建立一個(gè)“重復(fù)當(dāng)‘真’”的循環(huán)結(jié)構(gòu),新建變量“傳感器原始值”并為其賦值“從ADS‘0’獲取模擬信號(hào)”,注意它的數(shù)據(jù)區(qū)間與在Arduino的IDE中進(jìn)行代碼編程不同,而是在0-32767之間;再新建變量“心跳值”,通過“取整”和“映射”兩個(gè)模塊對(duì)變量傳感器原始值進(jìn)行處理和賦值,經(jīng)測試后發(fā)現(xiàn)在某環(huán)境光條件下的傳感器原始值較為靈敏的數(shù)據(jù)區(qū)間是18000-24000,因此將它映射為燈帶的第0-59號(hào)燈珠;接下來,通過兩個(gè)“輸出調(diào)試信息”模塊將兩個(gè)變量的數(shù)據(jù)在LOG調(diào)試信息區(qū)輸出,并且通過兩個(gè)循環(huán)分別控制燈帶進(jìn)行亮燈(紅色)和熄滅,實(shí)現(xiàn)將光遮斷傳感器的數(shù)據(jù)映射為對(duì)應(yīng)某些數(shù)量的燈珠發(fā)光的效果;最后,添加延時(shí)等待0.02秒模塊。

      將程序保存為“心跳律動(dòng)燈帶”,連接設(shè)備后點(diǎn)擊“運(yùn)行”按鈕進(jìn)行測試。隨著被測試者有規(guī)律的心跳,燈帶會(huì)對(duì)應(yīng)亮起不同數(shù)目的燈珠,非常有意思,類似于常見的跟隨音樂音量大小而不斷變化的串形指示燈律動(dòng)效果(如圖5)。

      大家不妨一試。

      猜你喜歡
      燈帶測試者樹莓
      電路狀態(tài)展示教具制作
      便攜式可收放LED燈帶
      基于樹莓派的騎行智能頭盔設(shè)計(jì)
      電子制作(2019年11期)2019-07-04 00:34:32
      隱形燈帶點(diǎn)亮家的光芒
      搜救犬幼犬挑選測試
      基于樹莓派的遠(yuǎn)程家居控制系統(tǒng)的設(shè)計(jì)
      電子制作(2017年17期)2017-12-18 06:40:43
      指紋收集器
      小米雜貨鋪又添新品:支持1600萬種色彩的燈帶
      流行色(2016年8期)2016-10-20 00:09:30
      可監(jiān)測腦電波的智能燈
      響應(yīng)面法優(yōu)化紅樹莓酒發(fā)酵工藝
      中國釀造(2016年12期)2016-03-01 03:08:19
      三亚市| 邵武市| 淮滨县| 凌源市| 新闻| 大埔县| 峨边| 固阳县| 宣恩县| 江北区| 大余县| 济南市| 江津市| 社旗县| 永修县| 寿宁县| 深泽县| 绥江县| 广丰县| 台东县| 内乡县| 永善县| 龙泉市| 峨山| 岳阳市| 富裕县| 咸丰县| 连城县| 普安县| 宜君县| 大名县| 中牟县| 鄂州市| 平昌县| 定襄县| 项城市| 德格县| 龙江县| 徐汇区| 滨海县| 平陆县|