技術探索 | 讓激光射燈也“智能”起來
在街頭常常會看到各種激光射燈,用各種色彩斑斕的投影來吸引遊客。在溫州中學的人工智能實驗室建好後,筆者也想在門口裝一個激光射燈,每到晚上向走廊地板投射出實驗室的LOGO,肯定能吸引很多好奇的學生。但是,如果激光射燈不能和學生們交互,總覺得配不上“智能”這個說法。因此,筆者希望做一個可以與用戶互動的激光射燈作品。
這個激光射燈作品的互動功能其實也簡單:當用戶走入照射範圍時,激光LOGO就轉動起來,在沒有人的時候則保持靜止。之所以這麼簡單,是因爲市場能買到的激光射燈圖案都是固定的,做不到動態更換,那唯一能“動”的就只有旋轉了。但是遺憾的是,市場上連“能感知用戶是否經過”的激光射燈也買不到。在權衡再三後,筆者買了一個帶遙控功能的激光射燈來改造。
實現激光射燈感知功能的可行性分析
因爲這個激光射燈是長期工作的,基於穩定性考慮,筆者不希望破壞原有的激光射燈結構。在購買射燈前,筆者已經想好了兩種改造方案。
方案一:使用激光射燈的自帶旋轉功能,做一個小模塊,模擬遙控器發送“旋轉”指令。
方案二:將激光射燈裝在旋轉底座上,通過控制安裝在底座上的旋轉裝置實現。
當激光射燈買到後,筆者卻很遺憾地發現,其自帶的遙控器使用的不是常見的紅外模塊。拆開遙控器外殼,發現其內部的信號發生芯片是HS2245PT,它產生的不是紅外信號,而是類似汽車遙控的300MHz到450MHz信號,模擬這個遙控信號不僅需要特殊的信號發射器,還要用專用工具分析信號,難度太高,於是第一種方案宣告失敗。筆者掂了掂激光射燈的重量,將近一公斤,如果底座安裝不牢固的話,隨時有墜落的風險,方案二也只能放棄。
當然,還有第三種方案,那就是將激光射燈的遙控器改造爲旋轉開關。從電子電路的角度來看,按鈕按下,就相當於將兩個原本斷開的線路接通,以此改變電壓值,帶來信號的變化,從而產生控制信號。那麼,只要想辦法將兩個線路用可編程控制的“開關”接通與斷開就行了,而這個“開關”可以用實驗室中唾手可得的繼電器(如圖1)來擔任。綜合分析一下,這是目前看來最可行、最便捷的方案了。
圖1 繼電器模塊
激光射燈的改造過程
01
拆解遙控器,增加繼電器
將遙控器拆開一看,內部其實很簡單,由一個電路主板、一個電池電源和四個按鈕組成。因此,只需要在按鈕電路旁,焊接上繼電器,繼電器的信號由Arduino控制即可。
遙控器上一共有四個按鈕,分別表示開燈、關燈、旋轉、靜止。只需要改造後兩個,因此筆者將對應按鈕的線路用導線焊接引出,分別接到兩個繼電器上。由於焊接不能保證完全牢固,筆者又用熱熔膠在焊點上加固。
筆者採用DFRobot的PinPong board mini這款小型的Arduino主板,這樣可以進一步減小控制器的整體體積。原本的兩節7號供電電池,也可以利用Arduino板載的3.3V替代統一供電,這就進一步減小了裝置的體積(如圖2)。
圖2 Mini Arduino控制板
02
製作感知“人”就發射信號的智能作品
爲了實現感知“人”的存在,筆者對比了數字人體紅外熱釋電運動傳感器、紅外數字避障傳感器和超聲波測距傳感器,其中紅外熱釋電傳感器的感應角度有110度,感應範圍太廣,沒辦法將範圍限制在LOGO照射區域。實驗室裡現有的紅外避障傳感器感應距離最大隻有80cm,達不到需求。因此,筆者選擇了感應角度小、感應距離長的超聲波測距模塊。
這個感知“人”就發射信號的智能作品工作原理如圖3所示。
圖3 激光射燈LOGO旋轉的工作流程
爲了固定超聲波傳感器,筆者在紙板盒上外開一個穿線的孔,將超聲波傳感器露在盒子外面,其他器件裝在裡面(如圖4)。
圖4 作品外觀
通過Mind+對其編程,當有人經過的時候,就讓LOGO旋轉5秒,沒有人時,就不旋轉。以Arduino代碼形式燒錄。代碼很簡單,如圖5所示。
圖5 作品代碼
激光射燈的安裝
01
位置調整
激光射燈的亮度很強,如果用戶與光源直視,強光會對肉眼造成傷害,考慮到這一點,筆者將射燈的照射角度調整爲比較小的傾角(如圖6),這樣,除非走得很近,否則光線不會直接射入眼睛。另外,筆者把燈裝在走廊的側面,減小了與行走方向一致造成直視光源的可能性。
圖6 照射角度示意
02
定時開啓
由於射燈只需要在天黑後開啓,那麼改造後的遙控器智能作品同樣只需要晚上開啓,筆者利用一個米家智能插座Wi-Fi板,設置了兩個自定義智能場景(如圖7),其中一個是傍晚開燈,另一個是深夜關燈,以達到節能的效果。
圖7 自定義智能場景
經過上述步驟,已經完成了激光射燈裝置的改造和部署。經過測試,效果還是挺不錯的,第一天點亮,就吸引了好多學生來圍觀,效果如圖8所示。
圖8 最終部署效果
更多的想法
這次筆者選擇的主控板是最簡單的Arduino,如果想實現無線控制,只要將Arduino換成掌控板、行空板或者虛谷號等即可。筆者下一步想增加更加酷炫的“智能”,如在某款迷你電腦上加一個攝像頭,通過計算機視覺的方法,實現目標檢測、目標分類、目標追蹤、姿勢檢測等。例如,如果檢測到的是穿校服的學生,激光射燈就轉,如果檢測到的學生沒有穿校服,激光射燈就不轉。總之,好玩的想法挺多,等着學生們去實現。
本文作者:
邱奕盛 上海人工智能實驗室
謝作如 浙江省溫州中學