靈感來得很突然。在一個星期六的早上,我想多睡一會兒(事實上每天我都想多睡幾分鐘,但只有星期六才可以這樣任性)。然而事與願違,我的百葉窗太差了,根本就遮不住光,我感覺光線透過百葉窗後更加刺眼了。下圖盡可能準確地顯示了光線的亮度級別。左邊是實際亮度,右邊是我期望的亮度。

20170925NT01P1 (圖片來源: Duane Benson)

我決定用Android版的Simblee應用程式來解決這個問題。Simblee是與Arduino相容的藍牙控制系統,使用Arduino IDE進行程式設計,與iPhone或Android應用程式配合使用,就可以輕鬆地對小設備進行複雜的無線控制。

硬體

我打算用Simblee控制與遮光百葉窗連接的步進馬達。我在Simblee的哥兒們提供我一些晶片和印刷電路板,還有我自己的Adafruit電機擴展板,另外我還設計了一個帶3~5伏特(V)線路電平轉換器,是透過Simblee連接的Arduino擴展板。

最初我設計的是一個不帶線級電平轉換器的部分功能板,只使用了開漏線路電平轉換器晶片,把上拉電阻給忘了。

新的版本在I2C線路上使用了更傳統的推挽式轉換器晶片(Ti TXB0108)作為數位I/O、兩個MOSFET和四個電阻轉換器。在第三版中,我將Simblee模組直接放在具有Arduino外形的PC板上。這就是帶Simblee藍牙控制功能的獨立Arduino。

下圖是我用到的零件。從頂部中間按順時針方向,這些零件分別是: ˙Adafruit電機擴展板和步進電機; ˙用DS3231 RTC(即時時脈)設計的多感測器擴展板; ˙Simblee RFD22122 RGB LED/按鈕擴展板; ˙Simblee RFD22121 USB程式設計擴展板; ˙Simblee RFD77201 7-GPIO分線板; ˙具有Arduino外形尺寸通過Simblee連接的擴展板; ˙不帶Atmega328P微控制器(MCU)的Arduino Uno。

20170925NT01P2 (來源: Duane Benson)

你也許會好奇最後一個元件為什麼要用不帶MCU的Arduino。實際上Simblee自帶32位MCU,我會用它執行所有的計算,所以就用不著Arduino了,但是這些元件中沒有5V電源,所以使用Uno板作為電源。透過Simblee連接的擴展板需要一個電源輸入連接器,以及3V和5V電壓調節器。3.3V電源已經有了,但是沒有外部調節5V電源,如果不使用無MCU的Arduino,會很麻煩。

下圖中所有零件疊裝在一起。

20170925NT01P3 (圖片來源: Duane Benson)

它的基本作用是在晚上自動關下百葉窗,並在不同的日子裡,在早上不同的時間拉開窗簾。工作日的早上會早點開窗,週末就會讓我睡會兒懶覺,上午10:00或11:00再開窗。窗簾開關的時間由RTC控制,手機上安裝的應用程式用於控制百葉窗打開的程度,可以全開,也可以半開,這樣我就不用下床啦。

Simblee透過藍牙協定與手機通訊,它使用其I2C介面與電機擴展板通話。Simblee還能夠與基於雲端的應用和網站進行通訊,因此一旦可以用了,我就會設置遠端控制和調度,不過這是另外一個故事了…

軟體

Simblee使用Arduino IDE程式設計,包括Simblee的MCU功能和手機上的使用者介面(UI)。MCU元件與標準Arduino程式碼大致相同並相容,手機UI也在Arduino IDE中編碼。

例如,下面是在手機上創建向上箭頭控制的程式碼: uibuttonUp = SimbleeForMobile.drawButton(120,100,100,“Blinds up”);

以下是按下按鈕時調用函數的程式碼: SimbleeForMobile.setEvents(uibuttonUp,EVENTPRESS);

Simblee Arduino相容程式碼碼有三個模組:SimbleeForMobile用於與手機通話;SimbleeCOM用於Simblee到Simblee通訊;SimbleeCloud用於與網路連接。目前我只用了SimbleeForMobile,需要基於Web的遠端控制功能時,就可使用SimbleeCloud。

不得不說Simblee與Arduino的相容性相當不錯。Adafruit的電機擴展板和RTC代碼根本不需修改,複製再黏貼就可以使用。沒有比這更省事的了。

安裝

安裝很容易,如下圖。在窗簾的一側裝一個標準支架;在另一側,用一小段軟管將步進軸連到百頁窗,它將作為安裝和驅動軸。最後,用小接近感測器作為百葉窗移動的限位元開關。

20170925NT01P4 (圖片來源: Duane Benson)

將馬達軸連到百葉窗的滾軸並安裝光感測器,一切準備就緒。然後需要稍微調整一下步進電機的安裝位置。啟動之後,它的轟鳴聲好像一輛卡車正向我攆來。

讀者朋友,看了這篇文章,你有沒有想要一試身手的衝動呢?

(原文刊登在EDN姊妹網站Embedded,Using Simblee Bluetooth to improve one's sleep,由EDN China編輯Jenny Liao編譯整理。)