第1步:失敗的歷史
歡迎跳過(guò)此步驟。我只是記錄了我如何達(dá)到這個(gè)特定的解決方案。
TL; DR:雖然這個(gè)項(xiàng)目成功了但我懷疑我是否會(huì)使用433/315MHz套件做任何事情嚴(yán)肅的(至少不是簡(jiǎn)單的)。 Arduino自身產(chǎn)生的RF噪聲(特別是如果連接到和/或傳輸串行)使得這些東西相當(dāng)無(wú)用恕我直言。具體來(lái)說(shuō) - Arduino Micro的情況要糟糕得多(雖然我們正處于這種狀態(tài):Micro還需要很長(zhǎng)時(shí)間才能重置。在那里。從我的胸部開(kāi)始。)
一開(kāi)始,它有效
有一個(gè)工作原型(見(jiàn)圖)。它有一個(gè)不同的算法,但它有效。
然后我回到家里,再次建造它(見(jiàn)特百惠照片),它工作,但有很多錯(cuò)誤檢測(cè)(檢測(cè)到的信號(hào),沒(méi)有任何),但我已經(jīng)設(shè)法調(diào)整了一些東西并且它有效。
然后來(lái)了Arduino Micro
然后我嘗試了一個(gè)基于Arduino Micro的小型接收器(見(jiàn)肥皂碟照片),這一切都出錯(cuò):事情可能只檢測(cè)信號(hào),如果它是發(fā)射機(jī)的幾個(gè)Cm(即使那時(shí)它有點(diǎn)不確定)。
所以我開(kāi)始做一些“有機(jī)調(diào)試”(TM):我已經(jīng)將壓電蜂鳴器直接連接到接收器的數(shù)據(jù)引腳,并開(kāi)始收聽(tīng) - 即使發(fā)射器關(guān)閉,也會(huì)產(chǎn)生大量的RF噪聲。
甚至在外地(遠(yuǎn)離任何電動(dòng)的東西。
當(dāng)我告訴它停止使用串口時(shí),它變得更好了,但仍然 - 你可以聽(tīng)到附加的聲音(在打開(kāi)變送器之前/之后,一旦它變得離變送器20-30厘米。
作為參考,我已經(jīng)在數(shù)據(jù)引腳上構(gòu)建了一個(gè)只有接收和壓電蜂鳴器的電路。你可以聽(tīng)到附加的聲音(在我打開(kāi)發(fā)射器之前/之后,當(dāng)我[吵鬧]走開(kāi)~2m時(shí))。
所以我決定成為主流
我開(kāi)始思考:也許在發(fā)射器端沒(méi)有Arduino的整個(gè)想法是愚蠢的。也許像VirtualWire或RadioHead這樣的庫(kù)可以在如此低的信號(hào)/噪聲水平下獲得任何。所以我在Arduino作為發(fā)射器和Arduino Micro作為接收器之間嘗試了一個(gè)簡(jiǎn)單的“Hello”示例,沒(méi)有接收。在大型Arduino和微型Nada之間切換。
我是否刻錄了接收器?
經(jīng)過(guò)幾次實(shí)驗(yàn)甚至是“特百惠原型”(曾經(jīng)工作過(guò)的人變得更糟。所以我決定我損壞了接收器。也許在所有這些實(shí)驗(yàn)中,發(fā)射器草圖被上傳到錯(cuò)誤的機(jī)器并將信號(hào)發(fā)送到接收器的數(shù)據(jù)。不確定是否重要(如果你知道答案,請(qǐng)發(fā)表評(píng)論),但當(dāng)你不知道你是否已經(jīng)燒掉了你唯一的接收器時(shí) - 它真的很糟糕。
所以我訂購(gòu)了更多RF套件 [并等待。..。..]
當(dāng)新套件到貨時(shí) - nada。我無(wú)法讓VirtualWire示例工作。所以我搜索了論壇,發(fā)現(xiàn)有類(lèi)似問(wèn)題的人(我強(qiáng)調(diào)):
我買(mǎi)了這個(gè)套件,使用VirtualWire讓它完美運(yùn)行。..。..然后突然停止工作。 。..。..過(guò)去常常會(huì)有很多噪音。..。..現(xiàn)在什么都沒(méi)有。
并且有一個(gè)答案說(shuō):
USB電源非常糟糕。嘗試通過(guò)電池供電.rx和tx之間的小距離不好。到PC的小距離不好(它們就像一個(gè)高頻干擾器)。
所以我嘗試不使用串口調(diào)試東西或外部電源
作為“無(wú)線調(diào)試工具”,我嘗試使用I2C液晶顯示器,但問(wèn)題是讓它能夠使用電池電源(串行電纜連接到一臺(tái)PC甚至墻壁插座嚴(yán)重阻礙了射頻,但我只有一個(gè)舊的Arduino(我很快會(huì)訂購(gòu)一些現(xiàn)代的)帶有手動(dòng)USB/電池選擇跳線,并且獲得I2C液晶顯示器并非易事。在“電池”模式下工作(如果你有類(lèi)似的問(wèn)題,這是我寫(xiě)的一個(gè)方法)。
成功
一旦我出現(xiàn)了LCD問(wèn)題當(dāng)然,我寫(xiě)了一個(gè)版本的stick2cane,它提供了直方圖(稍后參見(jiàn)算法。它比前一個(gè)簡(jiǎn)單得多)。訣竅是直觀地看直方圖并研究它們。沒(méi)有多少串行調(diào)試可以提供這樣的見(jiàn)解(除非您通過(guò)串行導(dǎo)入csv或json - 未來(lái)項(xiàng)目的想法;)。
步驟2:發(fā)送器(手杖側(cè))
材料
1 x 433/415MHz射頻套件(例如MX-FS-03V/MX-05V。如果您使用的是Milcandy接收器,則需要使用Grove套件。
1 x 555定時(shí)器
2 x1?電阻
1x10μF電容
1x0.01μF電容
正如您在照片中看到的那樣(早期原型),有一個(gè)基于555的振蕩器通過(guò)藍(lán)色導(dǎo)線向發(fā)射器驅(qū)動(dòng)50Hz信號(hào)。
在最后一張照片中,我們可以看到它可以真正緊密包裝。
第3步:接收者(患者身邊)
代碼這里。
引腳定義是連接到Arduino所需組件的一個(gè)很好的清單。如果您沒(méi)有使用MilCandy,只需在代碼中寫(xiě)下“開(kāi)始引腳定義”的相關(guān)引腳。
你需要連接的是一個(gè)按鈕,紅色和綠色指示燈(或其他“壞/好”指示燈),一個(gè)蜂鳴器(或振動(dòng)器),當(dāng)然 - 接收器匹配你用過(guò)的發(fā)射器上一步。
連接接收器
如果你不使用grove接收器,你可以將它插入你的arduino的標(biāo)題(見(jiàn)照片)或進(jìn)入面包板(見(jiàn)肥皂碟照片)。它有4個(gè)引腳:Gnd,2xdata,Vcc。你做的是插入模擬引腳(比如2-5),然后在設(shè)置中將LOW發(fā)送到2,HIGH到5(偽Gnd/Vcc),然后在引腳3,4上發(fā)出信號(hào)。
操作
MilCandy有一個(gè)內(nèi)置的可充電電池,這很酷,但缺點(diǎn)是,如果你給它充電,它會(huì)打開(kāi)(無(wú)論電源開(kāi)關(guān)是什么并且由于電能產(chǎn)生RF噪聲,它將進(jìn)入“無(wú)信號(hào)”模式并開(kāi)始發(fā)出蜂鳴聲。解決它的方法是決定它總是以靜音模式重啟(可以通過(guò)按鈕切換)。為了提醒用戶(hù)靜音模式已打開(kāi),LED(紅色或綠色)閃爍。接收器盒上還貼有一個(gè)貼紙,試圖傳達(dá)所有這些信息(見(jiàn)圖文件)。
為什么會(huì)起作用
畢竟我‘經(jīng)過(guò),我不太確定;)
基本上,我采集64個(gè)RF數(shù)據(jù)樣本,取最重要的4位并創(chuàng)建一個(gè)直方圖:有多少樣本具有這樣的值(從16粗選項(xiàng)。
正如預(yù)期的那樣,通常有許多樣本返回0(或可能值的最低16位)。當(dāng)有信號(hào)時(shí),我們會(huì)在特定的插槽中看到很多值。在一些罕見(jiàn)的情況下,它變得有點(diǎn)模糊(最近的槽中的一些值到最大的槽),但是如果你把最大的槽和它的鄰居(如果有的話,不包括0槽)加起來(lái),那么值應(yīng)該高于MIN_REQUIRED_PEAK(根據(jù)我的經(jīng)驗(yàn),38級(jí)高于“房間噪音水平”)。這曾經(jīng)是用電位器控制的,但最好的辦法是不讓病人讓東西停止工作,所以我們就是這樣。
-
發(fā)射器
+關(guān)注
關(guān)注
6文章
878瀏覽量
54559
發(fā)布評(píng)論請(qǐng)先 登錄
MIPI發(fā)射器能否在此 CSI 時(shí)鐘頻率下與 CYUSB3065 連接?
LE 發(fā)射器和接收器測(cè)試返回錯(cuò)誤結(jié)果是什么原因?qū)е碌模?/a>
JCMsuite:旋轉(zhuǎn)對(duì)稱(chēng)發(fā)射器
JCMsuite:旋轉(zhuǎn)對(duì)稱(chēng)發(fā)射器
紅外發(fā)射器怎么設(shè)置華為
紅外發(fā)射器是什么_紅外發(fā)射器怎么安裝
使用插件將Excel連接到MySQL/MariaDB

飛易通發(fā)布藍(lán)牙音頻發(fā)射器,助力老式設(shè)備升級(jí)LE音頻體驗(yàn)
探測(cè)器只有一個(gè)接口,但是需要同時(shí)連接信號(hào)發(fā)射器和信號(hào)檢測(cè)器,應(yīng)該怎么辦?


評(píng)論