侯羽 張黔
摘要 Arduino是目前較為流行的電子互動平臺,基于Arduino系統的開發,可以制作出集成度高,使用簡單的產品,因為其燒錄程序簡單,與擴展板和傳感器的兼容性較高且價格低廉的特點,在互動電子系統的開發上得到了廣泛的應用。該設計基于集成藍牙4.0ArduinoUNO開發板,結合智能家居的發展特點,利用Accessory Shield擴展板豐富的集成功能,并通過手機APP顯示相應參數的采集結果且實現人走燈滅這兩大功能。最終實現了高效節能,低成本且能夠帶給用戶良好的居家體驗的智能臺燈設計。
關鍵詞 電子信息工程 智能臺燈 Arduino 藍牙
中圖分類號:TU113.6 文獻標識碼:A DOI:10.1640/j.cnki.kjdks.2017.05.026
0引言
隨著人們生活水平的不斷提高和智能手機的飛速發展,智能手機很大程度上改變了人們的生活方式,智能手機已經成為人們生活的必需品。隨著制造工藝的不斷改進以及智能LED燈不斷完善,高亮度小功率LED燈照明光源以其高效、節能、環保等優點逐漸步入人們的日常生活,對于未來通用照明領域,會逐步取代白熾燈等大功率的燈泡。利用手機藍牙與單片機的藍牙模塊相連接進行通信,實現無線遙控臺燈開關及相關數據的傳輸。
本設計中對于單片機的選型也從傳統的51單片機設計到現代較為流行的開發板ArduinoUNO的設計。Ardnino于2005年1月被創建,是一塊基于開放原始代碼的Simple UO平臺,該平臺由硬件(微處理器系統、電路板等)和軟件(編程語言和接口)兩部分組成,并且Arduino與java、c語言的開發環境類似,可以快速使用Arduino語言與多種軟件進行互動和功能融合。對于應用方面,Arduino可以與軟件進行獨立溝通,將一些電子元件,例如多種傳感器、開關、繼電器和RGB-LED燈以及其他的輸入/輸出設備進行設計組合。Arduino開源易用的特點為智能產品的設計原型提供了很好的開發平臺,通過與各個傳感器和元器件的連接,實現了感知、識別和處理?;贏rdu-ino開源系統的設計通過豐富的軟硬件資源的分配,滿足了絕大多數智能產品原型設計的需要。
1總體設計
智能臺燈的系統首先通過集成藍牙4.0的Arduino主控板與手機藍牙模塊連接,進而與手機端建立通信協議,用Ardu-in01.6餾開發環境向Arduino主控板燒錄分功能程序代碼,實現臺燈功能的設計。手機APP通過繼電器來控制臺燈開關,燈泡應用雷達感應球,感知人體和光亮變化,再而控制臺燈的開關。臺燈通過UNO開發板與Bluno Accessory Shield擴展板的連接,其中RGB LED集成于擴展板,可以通過手機APP顯示豐富的顏色,具有良好的夜光效果,并且可實現溫度濕度等環境變量通過128x64 OLED顯示屏顯示手機APP端輸入的字符的功能,電路硬件連接圖如圖1,2所示。
2 Arduino UNO主板及功能模塊的選型
2.1設計硬件的選型
2.1.1 Ardnino開發平臺的選擇
Arduino這一款開發平臺,包含多種硬件及編程軟件(IDE為其編程環境,并且軟件更新版本速度較快)。同時Arduino加載多種控制器的函數庫,方便調用和修改;ArduinoIDE開發軟件擁有極為強大數量的函數庫。且對于多種傳感器具有通用性和兼容性,方便用戶進行模塊化的連接和處理,且支持多樣的互動程序;Arduino的硬件軟件都為開源,相對于C51,STM32等硬件平臺更加親民,完全脫離寄存器的配置,且幾乎所有功能實現了上層庫的調用,透明掉了大部分與硬件的操作,且具有入門教程低領化,可操作化的特點。
2.1.2控制主板的選擇
Arduino系統針對不同的引用環境開發出多種不同版本,本文設計的智能臺燈采用由DF robot創客商城公司開發下的BLUNO V2.0,該開發板集成了藍牙HC-05模塊,直接將它使用USB數據線連接到PC上,并下載相應的編程環境軟件At-duino IDE(本設計采用1.6.8版本)即可實現程序的燒錄,外部結構如圖3所示。
(1)USB接口,通過該接口與電腦進行連接,再用Arduino的IDE軟件將所編寫的控制程序保存并燒錄到控制板上,并且可通過該口為電路板供電,本設計通過USB接口連線進行與臺燈接線的并聯,可用于家庭用電設備的連接。
(2)14個數字輸入/輸出端,其中RX和TX分別連接主控芯片的串行引腳,用來接收和發送TTL串行數據。其中的端口2、3——接收外部信號,實現外部中斷功能;端口IO(SS)、11(MOSI)、12(MISO)和13(SCK)在SPI模塊庫的支持下,可以提供SPI通信模式;端口13內部連接了一個LED指示燈,LED燈會在主板通信模式時進行閃爍提醒。
(3)藍牙模塊,BLE-LINK是基于藍牙4.0的通訊模塊,它采用XBEE造型設計,體積尺寸緊湊,兼容XBEE的擴展底座,適用于本實驗的Arduino單片機系統。本模塊用于實現,主從機設置,完成無線燒錄程序,與手機進行藍牙通信的功能。
2.2擴展板的選擇
本設計采用Bluno Accessory Shield擴展板,集成了臺燈設計所需大部分硬件設備,其中包括RGB LED彩燈、OLED顯示屏、溫濕度傳感器、繼電器。并且與ArduinoV2.0具有較強的兼容性,整體體積小,易于臺燈封裝。外部結構圖如圖4所示。
3藍牙通信
3.1藍牙技術相關簡介
藍牙可以支持設備進行短距離通信,并且能夠在移動電話、無線通信設備、PC和具有外設裝置的設備之間進行無線信息交換。對藍牙技術進行合理應用,使得所選設備與網絡之間的通信進一步得到簡化,從而使數據滿足現代大數據傳輸的高效性、迅速性,拓寬了與無線通信的聯系。藍牙采用時實行分雙工傳輸方案,全雙工傳輸,與WWI技術相比,使得在特殊環境下的智能手機通信變得更加便捷。
3.2藍牙協議
本系統中主要應用的是藍牙配對即將兩個Bluetooth設備間建立新的連接關系,連接過程為通過BluetoothSerialPort將Bluetooth的通信轉化成Virtual Serial Port(虛擬串口),接下來使用Bluetooth的Client程序進行串口操作,最后通過串口信息的處理把通過擴展板上傳感器及相關元器件所處理所得到的數據傳遞給手機端。
3.3藍牙傳輸過程
Arduino主控板可將擴展板上溫濕度傳感器采集數據,繼電器的接口函數值以及彩燈的各顏色比例值以一定發送頻率通過藍牙芯片,利用虛擬串口BluetoothSerialPort,將數據傳遞給手機端并進行接收,最后由手機端的界面上會示相應參數的變化。如圖5所示是本系統的藍牙傳輸過程。
4臺燈的各功能模塊及實現過程說明
4.1 OLED顯示屏
OLED顯示屏位于臺燈底座,用以顯示由手機APP端輸入的字符、實時采集的溫濕度的數據R、G、B的參數值。濕度傳感系統采用DHT11溫濕度傳感模塊,該傳感器模塊集成了電阻式感濕元件和NTC測溫元件,與Ardnino開發板相連接。Arduino實現功能部分代碼如下:
voiddraw(void)
myOled.setFont(u8g font unifont);
myOled.setPrintPos(10,16);
//settheprintposition
myOled.print(”H:”);
myOled.print(humidity);Hshow the humidity 0n oled
myOled.print("%");
成果如圖6所示:
每2s更新環境溫度和濕度,并通過調用庫函數myAcces-sory對溫濕度傳感器進行處理,通過藍牙接口傳輸的相應數據也可在手機上進行顯示。更新數據代碼如下:
staticunsignedlongDHTllTimer=millis();
//every2sup-date the temperature and humidity from DHT11 sensor
if(millis()-DHTllTimer>=2000){
DHTllTimer=millis();temperature=myAcces-sory.readTemperature ();humidity-myAcces-sory.readHumidity();
}
4.2臺燈開關模塊
通過設計手機app開關按鈕,將藍牙串口傳輸端的數據進行處理,高低電平值進而控制繼電器的開關,繼電器模塊接口中DC+端口接電源正極(電壓按繼電器要求,有5V.9V.12V和24V選擇),DC-端口接電源負極,IN口可以通過高或低電平控制繼電器吸合。通過能夠承載較大功率的導線將臺燈的兩端分別與繼電器的NO(繼電器常開接口),COM(繼電器公用接口)連接,最終實現用手機控制臺燈開關;本設計采用1.5A繼電器模塊,能夠承載普通的大電流器件,用于處理燈泡連接于家庭工作電壓的安全處理??刂评^電器部分代碼如下所示:
void setup(){
myAccessory.begin();
}//the loop routine runs over andover againforever:
void loop(){
myAccessory.setRelay(true);//turn the LED on(HIGH is the voltage level)
delay(2000);//wait for a second
myAccessory.setRelay(false);//turn the LED off by mak-ing the voltage LOW
delay(2000);//wait for a second
}
4.3小彩燈
小彩燈用于夜間模式的使用,獨立于節能臺燈之外,位于臺燈底座封裝的透明板內部。
LED彩燈的三原色指紅,綠,藍,改變這三種顏色的比例就可以合成不同的顏色。因此UNO板通過燒錄程序對手機傳送的數據進行處理實現調色。由于傳輸REB-LED的PWM值不同,因此可以實現PWM控制紅、綠、藍三盞燈的亮度比,通過控制亮度比實現想要改變的顏色。PWM調光技術是一種利用簡單的數字脈沖反復調控開關LED的驅動器技術,使用者需要設定不用的顏色配對比例,從而提供寬,窄不同的數字式脈沖,進而改變輸出電流,最后實現LED的亮度的調節,實現多種顏色的調節。Arduino/DE編譯部分代碼如下:
blunoAccessory myAccessory;
void setup(){Serial.begin(1 15200);
myAccessory.begin();}
void loop(){for(int i=0;i<255;i++){
myAccessory.setRGBLed(i,0,255-i);
delay(10);}
4.4節能燈
本設計采用雷達感應燈,當臺燈處于自然光線較弱并且感知人體(距離<7m)的條件下,內有微波反射感應機制,通過雷達感應元件進行測距,驅動智能IC電源,保障電流的平穩,有效延長燈泡壽命。當人離開微波雷達感應的范圍后,延遲30-40秒,臺燈自動熄滅。感應燈的外部結構圖如圖7。
5結語
本系統是基于Arduino平臺操作系統,系統先通過擴展板采集需要傳輸給手機的信息,并通過藍牙芯片傳遞給手機端。設計出具有節能、安全、時尚的簡易臺燈系統。整體設計突破傳統臺燈的功能單一性,增加夜光彩燈效果和溫濕度提醒功能,從智能化上進一步完善了臺燈本身。因為Arduino功能強大,且與Android的耦合性極佳,還可以進一步設計手機APP并擴展臺燈的新增功能,豐富臺燈的系統多樣性。
本智能臺燈系統的總體設計雖然仍處于開發階段,但在實驗調研已經多次調試及安全性檢驗后,使之具有成本較低,設計簡單,安全可靠,攜帶方便等特點,可作為產品進行開發,應用于住宅家居、現代辦公室等場所,有較強的實用性。