最近在研究如何用RF收發裝置,去側錄信號和做傳輸。
原本只是想說按壓式自動大門的地方因為還沒有裝紅外線感測器,人員進出的時候都會有點危險。
所以我想說自己來做一個PIR感應裝置好了,上網查了一下資料,沒多想就決定要做了。
身邊同事各種勸戒,有的說不甘我的事(不要又沒事找事去搶人家工作),有的說這個弄出來弄好沒人感激你,弄壞就全都是你的問題。
我知道這些好同事只是好心提醒我,不要陷入無謂的工作中。
但我這個人的個性就是一旦想要做什麼事,非弄明白不可。
反正價格也低廉,一對RF感測器接收傳送端才28,外加一個PIR感測器也是28。
Arduino手邊又有,就當趁機學習怎麼使用就好。
反正如果不能用的話,至少也學會了RF通信方式。
於是等材料買回來以後就開始進行第一次側錄作業。
程式寫好沒問題以後,我就拿下去樓下第一次測試。
按壓自動門後發現,RF接收端根本沒收到任何訊號。
正當我感覺奇怪的時候,不死心在各種位置做了好幾次,也都沒有接收信號出現。
於是我先回去辦公室把RF發送端的程式寫完,直接做一發一收,測試看看模組是不是工作正常。
結果真的沒收到信號。
幸好我買了兩組,我拿起第二組重複測試,結果一樣失敗。
這下可好,我到處找資料,看看人家怎麼用。
結果網路上沒什麼信息,倒是CHATGPT給出個答案,他說不要靠太近,有可能會把接收端RF信號灌滿,導致程序收不到信號。
我本來是不信的,有這種事?
然後也去問了資深韌體同事的意見,同事也都說哪有這種可能?
但實際上我也沒輒了,本以為簡單30分鐘搞定,結果花了兩個小時。
最後我乖乖地找出第2個ARDUINO,一個接傳送端,一個接接收端,然後距離拉遠到1公尺。
神奇地事情發生了。
訊號接收在序列埠的終端機畫面終於有了信息進來。
總算能確認至少RF的通信裝置這一對是沒問題的。
但樓下大門的問題一樣無法解決,使用原本的RcSwitch的函式庫,是沒辦法通信的。
因為就是收不到信號。
在再次GOOGLE/CHATGPT側錄信號要怎麼處理的狀況下,尋到另一個方法。
使用脈波寬度的方式去定期收信號,看看HIGH信號的時間寬度是多少。
如果說每次按壓自動門的信號式固定格式,那麼在固定時間內每個信號周期的HIGH信號寬度時間應該會非常近似。
重新改寫了以後,趁大家下班時間,我就又下去實驗了。
這次就非常幸運,有收到一連串的時間回饋。
可是連按幾次以後,發現時間回饋根本不固定。
我不死心,用其中一組的時間回饋模擬信號發送。
結果自動門依然聞風不動。
最後應該是失敗了,這個結果顯示,其實按壓式自動門也是有捲動碼的設計。
此時同事看到我又再說,還真的自己搞。
其實不用這麼麻煩,大門控制端的地方一定有留IR接收,讓廠務去買回來做就好。
我也就結束了這一回合。
雖然實驗失敗也花了一點時間,但收穫也有。
至少親自實驗得到的數據回饋以及這個模組的使用方式我已經知道了。
下次做類似的專案就能更快上手。
這些是GOOGLE或CHATGPT無法告訴我的結果。