加入我們假如你真想知道盒子裡有什麼。
假設你有一個封閉的盒子,裡面可能有一隻活著的貓,但你不開啟盒子就無法確認。對於大多數人來說,這種情形是探索量子力學基礎的理論難題。不過對我來說,這是一個緊迫的實際問題,因為物理學完全迴避了一個至關重要的問題:盒子開啟時貓會有多惱怒。但幸運的是,工程學可以解決這個問題,方法是花50美元在SparkFun購買一個製造者友好的新型脈衝相干雷達。
也許我應該再解釋一下。在疫情期間,我和妻子居家辦公,在紐約市街區的後院裡發現了一群野貓。透過儘可能多地結紮放養(TNR),我們想要控制這群野貓的數量。我們還買了3個Feralvilla戶外貓窩,好讓我們毛茸茸的鄰居能夠度過紐約的寒冬。這些貓窩像一個個方正的盒子,貓可以從側面的開口進入。透過頂部可開啟的蓋子,我們每隔幾個月更換一次稻草寢具。如果不開啟蓋子,就看不到貓窩內部,這意味著你可能會嚇到一個有爪子的捕食者,就在幾分鐘以前,它還在安靜地打盹。
野貓對人的反應與家養的寵物貓不同。它們將我們視為威脅,而不是笨拙的“鏟屎官”。即使經過多年的日常餵養,我們街區的大多數野貓也不會讓我們接近它們一兩米內的範圍,更不用說讓我們摸了。它們的爪子從來沒有剪過,也不喜歡被驚嚇到或者感覺被圍困。因此,我需要找到一種方法,能夠讓我在開啟貓窩的蓋子前,看看裡面是否有貓。這就需要雷達發揮作用了。
SparkFun的脈衝相干雷達模組以Acconeer的低成本A121感測器為基礎。這種感測器比指甲蓋還小,工作頻率為60GHz,這意味著,它的訊號可以穿透許多普通材料。訊號穿過材料時,其中一些會被反射回感測器,這樣你就能夠以毫米級的精度確定與多個表面的距離。雷達可以設定成“存在探測器”模式,透過反射距離的變化來識別運動,用於標記是否有人在場。
我看到有關SparkFun模組的公告時,就意味著已經專案開始了。雷達既然能探測到人,為什麼不能探測到貓呢?當然,我可以用不那麼複雜的技術來解決“盒子裡是否有貓”的問題,比如在貓窩放一個壓力感測器。但這需要一個永久性的裝置,要防風防雨、要有電源,還要有一些獲取資料的方法;這樣的裝置我需要安裝三個,每個庇護所一個。對於每隔幾個月才需要一次的資訊來說,這些工作似乎太多了。所以我訂購了雷達模組,以及一個30美元的物聯網RedBoard微控制器。RedBoard的執行電壓與雷達的3.3伏電壓一樣,可以配置模組並解析輸出。
將雷達與RedBoard連線非常容易,因為這兩者都有Qwiic 4線介面,可以提供電源並與外設的I2C序列連線。藉助SparkFun的Arduino庫和示例程式碼,可透過USB將微控制器與主機連線,而且可透過序列監視器來檢視雷達的探測結果,這使我可以立即測試這個想法的可行性。我們對家養貓(從夜貓群體中跑出來的兩隻貓)進行的實驗表明,它們呼吸的動作足以觸發存在探測器,即使在它們睡著時也可以。進一步的測試表明,雷達可以穿透貓窩木質壁板和保暖膜。
下一步是讓它變得便攜。我增加了一塊11美元的小鋰電池,並在它的電源線上連線了一個通斷開關。我將兩個軟糖LED連線到了RedBoard的輸入/ 輸出引腳上,並修改了 SparkFun 的示例指令碼,可根據存在探測器的輸出點亮 LED :綠色 LED 表示沒有貓,紅色表示有貓。我用椴木做了一個外殼,並安裝了電路板和電池,還在背面開了一個洞,作為雷達模組的視窗。(注:除了照顧野貓外,我在疫情期間嘗試的另一件事是為這個專案列印 3D 塑膠外殼。但我發現,透過切割、鑽孔和粘合木料製作外殼更快、更堅固,而且在製作一次性產品或原型時容許的改動更多。)
qqqq
此外,我還修改了指令碼以調整探測器掃描的範圍。我將探測器靠在貓窩的板壁上時,它只能觀察來自板內和對面空間的反射,距離約為50釐米。由於這個群體裡的所有貓都是成年貓,它們在貓窩內佔據了足夠大的空間,只要我不把探測器放在靠近角落的位置,它們就會與雷達波束相交。
我用家裡的一隻貓進行了行動式探測器的室內測試,我用食物賄賂它,讓它每次在開啟的盒子裡呆幾秒鐘。每一次,探測器都成功發現了它,但也容易出現假陽性誤報。我將嘗試調整雷達引數設定,減少這些錯誤。不過這種情況下,假陽性比假陰性更合我意:“無貓”的燈意味著開啟庇護所的蓋子絕對是安全的,這對我的神經(和貓的神經)來說更好。
文章來源於悅智網,作者Stephen Cass