藍芽技術是目前應用最廣泛的無線通訊技術之一,在世界上工作在24GHz ISM頻段。 藍芽的工作距離約為100公尺,具有一定的穿透力,並且沒有方向限制。 具有成本低、抗干擾能力強、傳輸質量高、功耗低等特點。 藍芽技術組網比較簡單,不需要額外的設定,只要兩個藍芽裝置進入連線範圍,藍芽就會自動搜尋,實現配對連線,進行點對點的資訊傳輸。 目前,個人電腦、手機等終端裝置都具有藍芽通訊功能,可以使用手機藍芽向其他藍芽裝置傳送控制訊號進行無線控制。
普通照明燈泡沒有藍芽模組,也沒有辦法接收藍芽訊號,所以這個設計是對普通燈泡進行改造,使燈泡可以接收藍芽訊號並受到控制。 藍芽燈設計的基本思想:手機和控制板通過藍芽模組建立點對點連線,然後手動傳送指令,控制板上的藍芽模組接收到指令,最後控制連線到控制板的燈泡。
藍芽燈的整體結構分為移動端APP、藍芽通訊、MCU控制三部分。 移動端APP部分實現使用者向燈泡傳送遠端操作指令;藍芽通訊部分實現對操作指令的接收,並將其傳輸到MCU控制器:MCU控制部分實現對接收到的操作指令的處理。
2.1MCU控制
MCU控制部門選擇了Arduino作為主控板。 Arduino是乙個靈活、易用、開源的**硬體和軟體平台[3]。 硬體具有豐富的介面集,有 3 個支援3V和V電源、數字口、模擬口、串列埠通訊。 軟體程式語言沒有複雜的微控制器底層,直接呼叫簡單實用的功能即可實現功能。 以下設計基於Arduino UNO主控板。
2.2.藍芽通訊
藍芽模組分為主模組和從模組,主模組既可以接收訊號,也可以傳送訊號,而從模組只能接收訊號,而不能傳送訊號。 在該設計中,燈泡只需要接收控制訊號,選擇HC-06藍芽從模組接收控制訊號。 HC-06 模組有四個引腳:VCC (3.)3V)、GND(接地)、TXD(傳送端)、RXD(接收端)。藍芽模組通過序列埠與Arduino通訊。 Arduino的數字口01是開發板串列埠的RX(接收器)和TX(發射器),分別連線到HC-06的TXD和RXD。
2.3 個燈泡
燈泡是一種大電流和高電壓的裝置,不能由Arduino的數字埠直接驅動,因此使用繼電器來控制燈的開和關。 繼電器利用微弱的電流訊號來控制繼電器的公升降,實現電路的合閘和斷開。 這樣,Arduino利用微弱的訊號來控制大電流和高電壓的開/關,間接控制燈泡電路中的電流和斷開,燈泡的開關。
我國照明採用三相四線制供電系統,要求中線(零線)不允許安裝開關和熔斷器(保險絲),繼電器實際上是開關,因此燈泡電源正極的連線從中間斷開,分別連線繼電器的公共端和常開端。
Arduino判斷,如果接收到的訊號是“開燈”,則相應地將數字口(本例中數字口8)分配給高電平(i),將高電平傳送到繼電器的S端,繼電器常開常閉,燈泡亮起:判斷如果接收到的訊號是“關燈”, 相應地將數字埠8分配到底層(0),底層傳送到繼電器的S端,繼電器常開開關復位,燈泡熄滅。 藍芽燈專用硬體連線及程式:
2.4 藍芽燈硬體測試結果
使用藍芽串列埠除錯助手監控串列埠資料。 根據Arduino的藍芽燈光程式中寫的,當你在手機的藍芽中口除錯助手視窗中輸入1時,你收到“dengliang”串,繼電器接合,燈泡亮當輸入 0 時,接收到“dengmie”字串,繼電器復位,燈泡熄滅。 測試結果表明,藍芽燈硬體可以實現接收訊號處理的功能。
移動端APP部分實現使用者對燈泡的藍芽遠端操作。 本設計使用了某公司專門開發的圖形化手機程式設計軟體App Inventor。 本軟體不需要具備一定的專業知識即可使用,軟體已預先編寫好按鈕,將文字輸入輸出軟體**分成不同的模組,使用者只需根據自己的需要進行組裝即可。
移動端APP部分需要具備搜尋藍芽裝置、連線藍芽裝置、斷開藍芽裝置、燈泡等功能。
編寫乙個 Android 程式,通過掃瞄它或手機資料線將生成乙個 apk 檔案到您的手機。 安裝完成後,手機桌面上會形成藍芽燈應用圖示。 開啟圖示進入應用介面。
藍芽燈應用程式對燈泡硬體的完全控制還需要對這兩個部分進行進一步除錯。 需要注意的是,應用程式中“開”和“關”按鈕操作所代表的值是“1”和“0”,在Arduino程式的藍芽燈控部分,也應該判斷“1”和“0”。
首先,開啟手機的藍芽功能,讓手機與HC-06配對,輸入配對密碼“1234”,配對成功。 其次,開啟手機上已安裝的APP,點選“搜尋藍芽”按鈕,連線藍芽,提示APP已連線HC-06藍芽模組。 最後,點選燈泡關機**,燈泡亮:點選燈泡開**,燈泡關掉。 通過除錯,最終實現了手機APP對藍芽燈的遠端控制。
資料來源:計算機知識與技術。
原標題:基於Arduino的藍芽燈的設計與實現。
作者:劉佳玲。