使用語音命令控制 LED 似乎是一項艱巨的任務,但它很容易,您可以快速構建它。我們只需要一個Arduino UNO與HC-06藍牙模塊串行通信,智能手機就可以向藍牙模塊HC-06發送語音命令。為了接收語音命令,我們正在使用“Arduino藍牙語音控制器”Android應用程序。
所需材料
Arduino UNO
HC-06 藍牙模塊
指示燈(紅色和綠色)
電阻器 220 歐姆(2 個)
Arduino藍牙語音控制器
面包板
連接線
HC-06 藍牙模塊:
藍牙可以在以下兩種模式下運行:
命令模式
操作模式
在命令模式下,我們將能夠配置藍牙屬性,例如藍牙信號的名稱,密碼,操作波特率等。操作模式是我們能夠在PIC微控制器和藍牙模塊之間發送和接收數據的模式。因此,在本教程中,我們將只玩弄操作模式。命令模式將保留默認設置。設備名稱將是HC-05(我正在使用HC-06),密碼將是0000或1234,最重要的是,所有藍牙模塊的默認波特率為9600。
模塊采用 5V 電源供電,信號引腳工作在 3.3V,因此模塊本身存在一個 3.3V 穩壓器。因此,我們不必擔心。在六個引腳中,只有四個將在操作模式下使用。引腳連接表如下所示
S.No | HC-05/HC-06 上的引腳 | MCU 上的引腳名稱 | PIC 中的引腳編號 |
1 | Vcc | Vdd | 第 31 針 |
2 | Vcc | 格德 | 第 32 針 |
3 | 德克薩斯 | RC6/Tx/CK | 第 25 針 |
4 | 接收 | RC7/Rx/DT | 第 26 針 |
5 | 州 | 數控 | 數控 |
6 | 英文(使能) | 數控 | 數控 |
電路圖
下面給出了此語音控制燈的電路圖,在Arduino UNO中上傳代碼時,斷開Rx和Tx引腳,并在上傳代碼后再次連接。
代碼和說明
語音控制LED的完整Arduino代碼在末尾給出。在這里,我們將解釋代碼的幾個部分。
在這里,在下面的代碼中,我們將定義 Rx 和 Tx 的引腳。
int TxD = 11;
int RxD = 10;
現在,設置引腳 2德·和 3RD的 Arduino 作為輸出。
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
在空回路功能中,Arduino將始終檢查輸入值,并根據語音命令控制LED。Arduino將根據給定的語音命令打開或關閉LED。我們將所有收到的命令保存在變量“Value”中
如果值為“所有 LED 打開”,則兩個 LED 都打開,像這樣,我們已經編碼了其他語音命令來打開或關閉單個 LED。查看本文后面的完整工作和演示視頻。
if (bluetooth.available())
{
value = bluetooth.readString();
if (value == "all LED turn on"){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
}
if (value == "all LED turn off"){
digitalWrite(2, LOW);
digitalWrite(3, LOW);
}
if (value == "turn on Red LED"){
digitalWrite(2, HIGH);
}
if (value == "turn on green LED"){
digitalWrite(3, HIGH);
}
if (value == "turn off red LED"){
digitalWrite(2, LOW);
}
if (value == "turn off green LED"){
digitalWrite(3, LOW);
}
}
工作程序:
第 1 步:-按照電路圖連接所有組件;上傳代碼時斷開 Rx 和 Tx 引腳的連接。
第 2 步:-下載名為“Arduino藍牙語音控制器”的應用程序,該應用程序在Play商店中免費。
第 3 步:-打開應用程序并按照下圖進行操作,例如首先單擊“連接到藍牙設備”并選擇您的藍牙模塊并檢查它是否已連接。然后單擊麥克風圖標說話并將語音命令發送到HC-06模塊。
注意:當您第一次將藍牙模塊與智能手機連接時,它會詢問密碼,請使用 0000 或 1234。
第 4 步:-設置完所有內容后,您只需使用應用程序發送語音命令,該應用程序進一步發送到藍牙模塊HC-06,HC-06與Arduino UNO串行通信,然后按照命令執行任務。下面顯示了命令和命令要執行的操作:
S. 否。 | 命令 | 行動 |
1. | 所有指示燈亮起 | 紅色和綠色 LED 均亮起 |
2. | 所有指示燈熄滅 | 紅色和綠色 LED 均熄滅 |
3. | 打開紅色指示燈 | 紅色指示燈亮起 |
4. | 打開綠色指示燈 | 綠色指示燈亮起 |
5. | 熄滅紅色指示燈 | 紅色指示燈熄滅 |
6. | 熄滅綠色指示燈 | 綠色指示燈熄滅 |
#include
String value;
int TxD = 11;
int RxD = 10;
int servoposition;
SoftwareSerial bluetooth(TxD, RxD);
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
Serial.begin(9600); // start serial communication at 9600bps
bluetooth.begin(9600);
}
void loop() {
Serial.println(value);
if (bluetooth.available())
{
value = bluetooth.readString();
if (value == "all LED turn on"){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
}
if (value == "all LED turn off"){
digitalWrite(2, LOW);
digitalWrite(3, LOW);
}
if (value == "turn on Red LED"){
digitalWrite(2, HIGH);
}
if (value == "turn on green LED"){
digitalWrite(3, HIGH);
}
if (value == "turn off red LED"){
digitalWrite(2, LOW);
}
if (value == "turn off green LED"){
digitalWrite(3, LOW);
}
}
}
-
led
+關注
關注
242文章
23357瀏覽量
663210 -
Android
+關注
關注
12文章
3945瀏覽量
127936 -
HC-06
+關注
關注
0文章
11瀏覽量
7764
發布評論請先 登錄
相關推薦
如何使用Arduino的藍牙控制伺服電機
![如何使用<b class='flag-5'>Arduino</b>的<b class='flag-5'>藍牙</b><b class='flag-5'>控制</b>伺服電機](https://file.elecfans.com//web2/M00/7B/91/pYYBAGN0nS-AQ32JAACRRzH8oH8695.jpg)
評論