第1步:失敗的歷史
歡迎跳過此步驟。我只是記錄了我如何達到這個特定的解決方案。
TL; DR:雖然這個項目成功了但我懷疑我是否會使用433/315MHz套件做任何事情嚴肅的(至少不是簡單的)。 Arduino自身產(chǎn)生的RF噪聲(特別是如果連接到和/或傳輸串行)使得這些東西相當無用恕我直言。具體來說 - Arduino Micro的情況要糟糕得多(雖然我們正處于這種狀態(tài):Micro還需要很長時間才能重置。在那里。從我的胸部開始。)
一開始,它有效
有一個工作原型(見圖)。它有一個不同的算法,但它有效。
然后我回到家里,再次建造它(見特百惠照片),它工作,但有很多錯誤檢測(檢測到的信號,沒有任何),但我已經(jīng)設法調(diào)整了一些東西并且它有效。
然后來了Arduino Micro
然后我嘗試了一個基于Arduino Micro的小型接收器(見肥皂碟照片),這一切都出錯:事情可能只檢測信號,如果它是發(fā)射機的幾個Cm(即使那時它有點不確定)。
所以我開始做一些“有機調(diào)試”(TM):我已經(jīng)將壓電蜂鳴器直接連接到接收器的數(shù)據(jù)引腳,并開始收聽 - 即使發(fā)射器關(guān)閉,也會產(chǎn)生大量的RF噪聲。
甚至在外地(遠離任何電動的東西。
當我告訴它停止使用串口時,它變得更好了,但仍然 - 你可以聽到附加的聲音(在打開變送器之前/之后,一旦它變得離變送器20-30厘米。
作為參考,我已經(jīng)在數(shù)據(jù)引腳上構(gòu)建了一個只有接收和壓電蜂鳴器的電路。你可以聽到附加的聲音(在我打開發(fā)射器之前/之后,當我[吵鬧]走開~2m時)。
所以我決定成為主流
我開始思考:也許在發(fā)射器端沒有Arduino的整個想法是愚蠢的。也許像VirtualWire或RadioHead這樣的庫可以在如此低的信號/噪聲水平下獲得任何。所以我在Arduino作為發(fā)射器和Arduino Micro作為接收器之間嘗試了一個簡單的“Hello”示例,沒有接收。在大型Arduino和微型Nada之間切換。
我是否刻錄了接收器?
經(jīng)過幾次實驗甚至是“特百惠原型”(曾經(jīng)工作過的人變得更糟。所以我決定我損壞了接收器。也許在所有這些實驗中,發(fā)射器草圖被上傳到錯誤的機器并將信號發(fā)送到接收器的數(shù)據(jù)。不確定是否重要(如果你知道答案,請發(fā)表評論),但當你不知道你是否已經(jīng)燒掉了你唯一的接收器時 - 它真的很糟糕。
所以我訂購了更多RF套件 [并等待。..。..]
當新套件到貨時 - nada。我無法讓VirtualWire示例工作。所以我搜索了論壇,發(fā)現(xiàn)有類似問題的人(我強調(diào)):
我買了這個套件,使用VirtualWire讓它完美運行。..。..然后突然停止工作。 。..。..過去常常會有很多噪音。..。..現(xiàn)在什么都沒有。
并且有一個答案說:
USB電源非常糟糕。嘗試通過電池供電.rx和tx之間的小距離不好。到PC的小距離不好(它們就像一個高頻干擾器)。
所以我嘗試不使用串口調(diào)試東西或外部電源
作為“無線調(diào)試工具”,我嘗試使用I2C液晶顯示器,但問題是讓它能夠使用電池電源(串行電纜連接到一臺PC甚至墻壁插座嚴重阻礙了射頻,但我只有一個舊的Arduino(我很快會訂購一些現(xiàn)代的)帶有手動USB/電池選擇跳線,并且獲得I2C液晶顯示器并非易事。在“電池”模式下工作(如果你有類似的問題,這是我寫的一個方法)。
成功
一旦我出現(xiàn)了LCD問題當然,我寫了一個版本的stick2cane,它提供了直方圖(稍后參見算法。它比前一個簡單得多)。訣竅是直觀地看直方圖并研究它們。沒有多少串行調(diào)試可以提供這樣的見解(除非您通過串行導入csv或json - 未來項目的想法;)。
步驟2:發(fā)送器(手杖側(cè))

材料
1 x 433/415MHz射頻套件(例如MX-FS-03V/MX-05V。如果您使用的是Milcandy接收器,則需要使用Grove套件。
1 x 555定時器
2 x1?電阻
1x10μF電容
1x0.01μF電容
正如您在照片中看到的那樣(早期原型),有一個基于555的振蕩器通過藍色導線向發(fā)射器驅(qū)動50Hz信號。
在最后一張照片中,我們可以看到它可以真正緊密包裝。
第3步:接收者(患者身邊)

代碼這里。
引腳定義是連接到Arduino所需組件的一個很好的清單。如果您沒有使用MilCandy,只需在代碼中寫下“開始引腳定義”的相關(guān)引腳。
你需要連接的是一個按鈕,紅色和綠色指示燈(或其他“壞/好”指示燈),一個蜂鳴器(或振動器),當然 - 接收器匹配你用過的發(fā)射器上一步。
連接接收器
如果你不使用grove接收器,你可以將它插入你的arduino的標題(見照片)或進入面包板(見肥皂碟照片)。它有4個引腳:Gnd,2xdata,Vcc。你做的是插入模擬引腳(比如2-5),然后在設置中將LOW發(fā)送到2,HIGH到5(偽Gnd/Vcc),然后在引腳3,4上發(fā)出信號。
操作
MilCandy有一個內(nèi)置的可充電電池,這很酷,但缺點是,如果你給它充電,它會打開(無論電源開關(guān)是什么并且由于電能產(chǎn)生RF噪聲,它將進入“無信號”模式并開始發(fā)出蜂鳴聲。解決它的方法是決定它總是以靜音模式重啟(可以通過按鈕切換)。為了提醒用戶靜音模式已打開,LED(紅色或綠色)閃爍。接收器盒上還貼有一個貼紙,試圖傳達所有這些信息(見圖文件)。
為什么會起作用
畢竟我‘經(jīng)過,我不太確定;)
基本上,我采集64個RF數(shù)據(jù)樣本,取最重要的4位并創(chuàng)建一個直方圖:有多少樣本具有這樣的值(從16粗選項。
正如預期的那樣,通常有許多樣本返回0(或可能值的最低16位)。當有信號時,我們會在特定的插槽中看到很多值。在一些罕見的情況下,它變得有點模糊(最近的槽中的一些值到最大的槽),但是如果你把最大的槽和它的鄰居(如果有的話,不包括0槽)加起來,那么值應該高于MIN_REQUIRED_PEAK(根據(jù)我的經(jīng)驗,38級高于“房間噪音水平”)。這曾經(jīng)是用電位器控制的,但最好的辦法是不讓病人讓東西停止工作,所以我們就是這樣。
-
發(fā)射器
+關(guān)注
關(guān)注
7文章
920瀏覽量
55394
發(fā)布評論請先 登錄
探索SN65LVDS95 - EP LVDS SERDES發(fā)射器:特性、應用與設計要點
探索DS90C365A:高性能LVDS發(fā)射器的卓越之選
用于 CDMA 和 PCS 家庭小區(qū)應用的雙頻發(fā)射器 skyworksinc
請大佬方案指導/定制開發(fā):多通道低功率FM發(fā)射器
TFP410 PanelBus?數(shù)字發(fā)射器技術(shù)解析與應用指南
MIPI發(fā)射器能否在此 CSI 時鐘頻率下與 CYUSB3065 連接?
LE 發(fā)射器和接收器測試返回錯誤結(jié)果是什么原因?qū)е碌模?/a>
JCMsuite:旋轉(zhuǎn)對稱發(fā)射器
ESD保護 RS-232發(fā)射器/接收器HIN208E數(shù)據(jù)手冊
HIN206E RS-232發(fā)射器/接收器數(shù)據(jù)手冊
HIN202E RS-232發(fā)射器/接收器數(shù)據(jù)手冊
怎樣將發(fā)射器連接到手杖
評論