愛招飛幫助手冊 愛招飛幫助手冊
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • Smart幫助主頁
  • 學習手冊

  • 開發手冊

    • 通訊協議

      • 通訊埠

      • 藍芽Bluetooth

        • 藍芽電子秤
        • 藍芽控制LED燈
          • 1. 說明
          • 2. 零件連線圖
          • 3. 使用零件
          • 4. Arduino流程圖
          • 5. Arduino程式
          • 6. 設計明細
          • 7. 程式設計
            • 7.1. 程式初始設定
            • 7.2. 事件設定
          • 8. 運行結果
        • 藍芽讀取溫濕度
      • 無線網WIFI

      • ModbusRTU

      • ModbusTCP

      • OPC

      • MQTT

      • RestAPI

      • HTTP

    • 互動輸出

    • 媒體存取

    • 人工智慧

    • 實體運用

目录

藍芽控制LED燈

# Smart之藍芽控制LED燈

# 1. 說明

  範例採用藍芽通訊協議,通過HC-06藍芽模組控制駁接在Arduino上的LED燈。HC-06採用BC417143晶片,支援藍芽2.1+EDR標準,HC-06的主控端或者從端模式是在出廠前就設定好的不能更改,通常能夠買到的HC-06均為從端模式。

  藍芽裝置HC-06通過杜邦線,將VCC介面連線至Arduino 5V針腳,GND介面連線Arduino的GND,藍芽TXD介面連線Arduino 10號針腳,藍芽RXD連線Arduino 11號針腳。LED燈的正極(長腳)連線電阻再連線到Arduino的8號針腳,LED的負極連線到Arduino的GND針腳。

  在硬體連線完成後,將Arduino連線電源,需要先將PC端與HC-06的藍芽配對,需使用支援藍芽功能的計算機(如不支援藍芽的計算機也可以使用USB藍芽適配器等外接拓展設備使之支援藍芽功能),打開藍芽選項,可搜索到HC-06字樣的藍芽設備,預設的配對PIN碼為1234。範例使用的Arduino程式使用到的藍芽設備庫的地址:http://drho.club/2018/06/arduino-bluetooth-mobile-phone01/ (opens new window),下載該庫檔案並將其新增至Arduino程式庫。

  通過範例學習,可以掌握藍芽的基本通訊原理,並結合arduino開發板進行LED燈的控制功能。

# 2. 零件連線圖

# 3. 使用零件

序 零件名稱 數量
1 Arduino UNO R3 開發板 1
2 HC-06藍芽模組或HC-05藍芽模組 1
3 USB數據線 1
4 麵包板 1
5 杜邦線 6
6 LED燈 1
7 220歐姆電阻 1

# 4. Arduino流程圖

# 5. Arduino程式

  使用Arduino IDE 編譯並上傳以下Arduino程式。

#include <SoftwareSerial.h>
#include <Wire.h>
//http://drho.club/2018/06/arduino-bluetooth-mobile-phone01/ 

int LED = 8;//定義LED的引腳
SoftwareSerial BT(10,11); //定義藍芽模組 TXD、RXD 對應 arduino 的引腳
 
void setup() {
  BT.begin(9600);
  pinMode(LED, OUTPUT);    
}
 
void loop() {
  byte cmd[20];
  int strsize;
  while(true){
    if ((strsize=(BT.available()))>0){
      for (int i=0; i<strsize; i++){
        cmd[i]=char(BT.read());
      }
    }
    if (cmd[0]=='1') {
      digitalWrite(LED, HIGH);//亮燈
    } else {
      digitalWrite(LED, LOW);//滅燈
    }
  } 
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

# 6. 設計明細

  開啟Smart智慧控制平臺,分別加入下插圖之控制元件。或者通過點選功能表欄[檔案]-[打開專案]選擇範例專案檔案來打開該範例。

藍芽控制LED燈 UI佈局

  ①:TImage元件,控制元件名稱為Image1。

  ②:TImage元件,控制元件名稱為Image2。

  ③:TImage元件,控制元件名稱為Image3。

  ④:TBluetooth元件,控制元件名稱為Bluetooth1。

  ⑤:TImage元件,控制元件名稱為ImageDevices。

  ⑥:TLabel元件,控制元件名稱為Label1。

  ⑦:TComboBox元件,控制元件名稱為ComboBoxPaired。

  ⑧:TImage元件,控制元件名稱為ImageServices。

  ⑨:TComboBox元件,控制元件名稱為ComboBoxServices。

  ⑩:TImage元件,控制元件名稱為Image4。

  (11):TImage元件,控制元件名稱為Image5。

  • Main窗體屬性設定

    • Caption:主窗體標題,設定為藍芽控制LED燈。
    • ClientHeight:窗體客戶區高度=411。
    • ClientWidth:窗體客戶區寬度=720。
  • ①Image1屬性設定

    • Height:設定圖片高度=411。
    • Width:設定圖片寬度=720。
    • Picture:設定圖片(背景圖片)   點選Picture屬性右側的[...]按鈕,打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。
  • ②Image2屬性設定

    • Height:設定圖片高度=50。
    • Width:設定圖片寬度=50。
    • Visible:設定圖片可見=True。
    • Picture:設定圖片(滅燈)。點選Picture屬性右側的[...]按鈕,打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。
  • ③Image3屬性設定

    • Height:設定圖片高度=50。
    • Width:設定圖片寬度=50。
    • Picture:設定圖片(亮燈)。點選Picture屬性右側的[...]按鈕,打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。
  • ④Bluetooth1屬性設定

    • Bluetooth1無屬性設定。
  • ⑤ImageDevices屬性設定

    • Height:設定圖片高度=31。
    • Width:設定圖片寬度=31。
    • Name:控制元件名稱=ImageDevices。
    • Stretch:設定圖片拉伸=True。
    • Picture:設定圖片。點選Picture屬性右側的[...]按鈕,打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。
  • ⑥Label1屬性設定

    • AutoSize:控制元件大小適應于內容,設定為True。
    • Caption:設定標籤內容=藍芽選項。
    • Font:設定字型,點選右側的[...]按鈕,打開字型設定界面。
  • ⑦ComboBoxPaired屬性設定

    • Height:設定控制元件高度=31。
    • Width:設定控制元件寬度=31。
    • Name:設定控制元件名稱=ComboBoxPaired。
    • Font:設定字型,點選右側的[...]按鈕,打開字型設定界面。
  • ⑧ImageServices屬性設定

    • Height:設定圖片高度=31。
    • Width:設定圖片寬度=31。
    • Name:控制元件名稱=ImageServices。
    • Stretch:設定圖片拉伸=True。
    • Picture:設定圖片。點選Picture屬性右側的[...]按鈕,打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。
  • ⑨ComboBoxServices屬性設定

    • Height:設定控制元件高度=31。
    • Width:設定控制元件寬度=31。
    • Name:設定控制元件名稱=ComboBoxServices。
    • Font:設定字型,點選右側的[...]按鈕,打開字型設定界面。
  • ⑩Image4屬性設定

    • Height:設定圖片高度=50。
    • Width:設定圖片寬度=50。
    • Visible:設定圖片可見=True。
    • Picture:設定圖片(開關開)。點選Picture屬性右側的[...]按鈕,打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。
  • (11)Image5屬性設定

    • Height:設定圖片高度=50。
    • Width:設定圖片寬度=50。
    • Visible:設定圖片可見=False。
    • Picture:設定圖片(開關關)。點選Picture屬性右側的[...]按鈕,打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。

# 7. 程式設計

# 7.1. 程式初始設定

  該程式無初始設定。

# 7.2. 事件設定

  • ⑩Image4-OnClick事件

Image4是開關打開狀態的影象,點選該影象,執行關燈的操作,Image4隱藏,顯示被遮蓋的Image5影象(開關關閉狀態)。同時Image3(燈亮狀態影象)也會隱藏。連線Arduino開發板的LED發光二極管如處於點亮狀態則會被熄滅。

procedure TMyHandler.Image4Click;
begin
    //關燈
    FThis.Bluetooth1.SendData('0');//熄滅LED
    FThis.Image3.Visible := False;
    FThis.Image4.Visible := False;    
end;
1
2
3
4
5
6
7
  • (11)Image5-OnClick事件

Image5是開關關閉狀態的影象,點選該影象,執行開燈的操作,Image4顯示並遮蓋Image5影象,同時Image3顯示並遮蓋Image2影象。連線Arduino開發板的LED燈如處於熄滅狀態則會被點亮。

procedure TMyHandler.Image5Click;
begin
    //開燈
    FThis.Bluetooth1.SendData('1');//點亮LED
    FThis.Image3.Visible := True;
    FThis.Image4.Visible := True; 
end;
1
2
3
4
5
6
7
  • ⑤ImageDevice-OnClick事件

ImageDevice是設備搜尋按鈕,點選載入藍芽設備列表。

procedure TMyHandler.ImageDevicesClick;
//點選載入配對設備列表
begin
  FThis.Bluetooth1.PairedDevices;
  FThis.ComboboxPaired.Items := FThis.Bluetooth1.BTPaireds;
  FThis.ComboBoxPaired.DroppedDown := True;
  FThis.ImageDevices.Enabled := False;
end;
1
2
3
4
5
6
7
8
  • ⑧ImageServices-OnClick事件

ImageServices是服務搜尋按鈕,點選以載入服務列表。

procedure TMyHandler.ImageSevicesClick;
//點選載入服務至列表

begin
  FThis.Bluetooth1.Services;
  FThis.ComboBoxServices.Items := FThis.Bluetooth1.BTServices;
  FThis.ComboBoxServices.DroppedDown := True;
end;
1
2
3
4
5
6
7
8
  • ⑦ComboBoxPaired-OnChange事件

  點選切換設備時觸發事件,修改Bluetooth1的設備資訊。

procedure TMyHandler.ComboBoxPairedChange;
//切換設備
begin
  FThis.Bluetooth1.PairedDevice := FThis.ComboBoxPaired.Items[FThis.ComboBoxPaired.ItemIndex];
end;
1
2
3
4
5
  • ⑨ComboBoxServices-OnChange事件

  點選切換服務,並啟動藍芽服務。

procedure TMyHandler.ComboBoxServicesChange;
//切換服務
begin
  FThis.Bluetooth1.CloseServerSocket;
  FThis.Bluetooth1.FreeClientSocket;
  FThis.Bluetooth1.ServiceUUID := FThis.ComboBoxServices.Items[FThis.ComboBoxServices.ItemIndex];
  FThis.Bluetooth1.CreateServerSocket;
end;
1
2
3
4
5
6
7
8

# 8. 運行結果

  通過工具欄儲存,將程式儲存為 sdb 專案檔案。

儲存專案

  使用滑鼠點選工具欄運行(Run),測試運行結果。首先點選藍芽圖示按鈕,右側下拉框顯示可選的藍芽設備,點選選擇HC-06,再點選下方的服務圖示按鈕,右側下拉框會顯示處可選的服務,點選Dev B系列,此時關注HC-06模組的指示,待指示燈停止閃爍變成常亮狀態則配對成功,此時可點選右側的開關影象,開關打開,上方的燈泡切換為亮燈的狀態,同時連線Arduino開發板的LED發光二極管處於點亮的狀態;在亮燈狀態下,點選右側的開關影象,開關關閉,上方的燈泡切換為燈滅的狀態,同時連線Arduino開發板的LED發光二極管處於關閉的狀態。

藍芽控制LED燈 運行結果
藍芽電子秤
藍芽讀取溫濕度

← 藍芽電子秤 藍芽讀取溫濕度→

Copyright © 2021-2025 愛招飛IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式