資料介紹
PCB圖如下:
成分
伺服電機 | × 4 |
藍牙系列-HC-06 奧利梅克斯有限公司 |
× 1 |
Arduino Nano V3 | × 1 |
16針母頭 | × 1 |
2Pin 螺絲端子 5mm 間距 | × 1 |
描述
藍牙伺服控制器
在這個項目中,我將向您展示如何在智能手機應用程序的幫助下通過藍牙控制伺服電機。
對于這個項目,我們將使用帶有 Arduino Uno 的藍牙 HC-05 模塊來控制伺服 9g。
這個項目是如何運作的?
這個項目有兩個部分:
1. android 應用程序- 此應用程序將向我們的 HC-05 藍牙模塊發送各種數據包
2. 硬件 - 由 HC-05 藍牙模塊、一個 Arduino Uno 和一個伺服電機組成。
--> 這就是它的工作原理--
安卓應用程序向藍牙模塊發送數據包。藍牙模塊通過串行通信將此數據包發送到 Arduino Uno。Arduino Uno 被編程為根據數據包的值為伺服電機生成控制信號。這是一個流程圖,以便更好地理解。
流程圖
--> 如何開始
1.下載安卓應用。
2.上傳Arduino uno上的代碼。
3. 進行連接。
請注意,藍牙 HC-05 模塊需要連接 3.3v 而不是 5v vcc,否則會損壞模塊。
4. 將藍牙模塊連接到 android 應用程序 - 當您啟動硬件時,藍牙模塊將變得可見。因此,打開應用程序并單擊查找附近的設備。選擇 HC-05。一旦顯示已連接,您就可以開始了!
您可以使用滑塊或手動輸入值來控制伺服臂。
伺服電機主要用于機器人技術中以進行精確控制。任何人——嗯,幾乎任何人——都擁有具有藍牙連接功能的移動設備。在本教程中,您將了解如何通過藍牙連接使用 Arduino UNO 和 Android 設備無線控制伺服電機。最后,您將更加緊密地聯系在一起,您將使事情變得更容易,并通過觸摸屏控制伺服電機。
在本文中,我將向您介紹與 HC-06 藍牙模塊、Arduino UNO 和 SG90 伺服電機的藍牙連接。此外,您需要本教程的額外資源,例如具有藍牙功能的 Android 智能手機和從智能手機向藍牙模塊發送命令的應用程序。
在教程的第一部分,我將向您展示如何將 HC-06 藍牙模塊連接到 Arduino。在第二部分中,您可以找到進入HC-06藍牙模塊的AT命令模式的源代碼。在這里您將設置您的設備名稱、密碼和 HC-06 模塊的波特率。最后,在最后一部分中,您將看到如何設置 Android 應用程序以及如何對 Arduino 進行編程以通過按一下按鈕來轉動伺服電機。
要求
連接正確的部分并使它們相互通信。這是這個項目的計劃。如果您已經擁有以下所有部分或其中的一部分,那么您很幸運。如果您只購買缺少的部分,整個項目不會花費您任何費用,或者只需幾美元。否則,你得花幾十塊錢買伺服電機、藍牙模塊、開發板和其他一些配件。為了清楚地了解成本,在該項目中使用的每個零件和配件的右側都有一個在線商店的鏈接。以下是部分:
1 X Arduino UNO (Amazon) – 藍牙模塊與幾乎所有 Arduino 型號兼容,但本教程中的所有代碼和原理圖均適用于 UNO。
1 X HC-06(亞馬遜)——這是一個從屬藍牙模塊,非常容易與 Arduino 一起使用,使用串行通信。
1 X SG90 伺服電機(亞馬遜)——這可能是 DIY 社區中最受歡迎的伺服電機。
7 X 公對公跳線(亞馬遜)。
1 X 面包板(亞馬遜)。
1 X And??roid 智能手機(亞馬遜)。
設置硬件
在本節中,我將向您展示如何連接 Arduino UNO 和 HC-06 藍牙模塊。
要使用 HC-06 模塊,只需將 VCC 引腳連接到 Arduino 上的 3.3V 輸出,將 GND 引腳連接到任何 Arduino GND 引腳,然后將藍牙模塊的 TX 引腳連接到 Arduino UNO 的引腳 10 和 RX 引腳藍牙連接到 Arduino 的引腳 11。
對于伺服電機,將棕色線連接到任何 Arduino GND 引腳,將 SG90 伺服的紅線連接到 Arduino 的 5V 輸出,將伺服電機的橙色線連接到 Arduino 的數字引腳 9。
Arduino Sketch 和 AT 命令
如果藍牙模塊是第一次使用,您必須詢問它以更改某些設置。使用所謂的 AT 命令更改設置。
HC-06 模塊允許您更改有限數量的設置。您可以更改設備名稱、PIN 碼和波特率。
您必須在與 Arduino 一起使用的 IDE 中運行以下 AT 命令。這些命令顯示安裝在 HC 藍牙模塊上的固件版本,更改 PIN,更改模塊名稱,并將波特率設置為 9600。
#define BLUETOOTH_SPEED 9600 //這是HC-06使用的默認波特率
SoftwareSerial mySerial(10, 11); // 發送 | 接收
// 將 HC-06 TX 連接到 Arduino 引腳 10 RX。
// 將 HC-06 RX 連接到 Arduino 引腳 11 TX。
無效設置(){
??序列號.開始(9600);
??Serial.println("開始配置!");
??mySerial.begin(BLUETOOTH_SPEED);
??延遲(1000);
??// 應該以 OK 響應
??Serial.print("AT 測試命令為:");
??mySerial.print("AT");
??等待響應();
??Serial.println("----------------");
??// 應該用它的版本來響應
??Serial.print("AT 版本為:");
??mySerial.print("AT+VERSION");
??等待響應();
??Serial.println("----------------");
??// 設置引腳
??Serial.print("設置引腳:");
??mySerial.print("AT+PIN1234");
??等待響應();
??Serial.println("----------------");
??// 設置名稱為 ROBOT_NAME
??Serial.print("設置名稱:");
??字符串 rnc = String("AT+NAME") + String(ROBOT_NAME);
??mySerial.print(rnc);
??等待響應();
??//設置波特率為9600
??//AT+BAUD1 OK1200 設置波特率為1200
??//AT+BAUD2 OK2400 設置波特率為2400
??//AT+BAUD3 OK4800 設置波特率為4800
??//AT+BAUD4 OK9600 設置波特率為9600
??//AT+BAUD5 OK19200 設置波特率為19200
??//AT+BAUD6 OK38400 設置波特率為38400
??//AT+BAUD7 OK57600 設置波特率為57600
??//AT+BAUD8 OK115200 設置波特率為115200
??//AT+BAUD9 OK230400 設置波特率為230400
??//AT+BAUDA OK460800 設置波特率為460800
??//AT+BAUDB OK921600 設置波特率為921600
??//AT+BAUDC OK1382400 設置波特率為1382400
??Serial.println("----------------");
??// 將波特率設置為 9600
??Serial.print("設置波特率:");
??mySerial.print("AT+BAUD4");
??等待響應();
??Serial.println("配置完成!");
}
無效循環(){
??}
無效的等待響應(){
????延遲(2000);
????而(mySerial.available()){
??????Serial.write(mySerial.read());
????}
????Serial.write("\n");
}
Android 應用程序和 Arduino 草圖
我們非常接近于使用 Android 智能手機無線控制 SG90 伺服電機。這通常通過使用啟用設備藍牙功能的 Android 應用程序來完成。
在 Android 設備上啟用藍牙功能的許多應用程序中,我選擇了 Arduino 藍牙控制器應用程序,因為它免費且易于使用。
在運行 Android 應用程序之前,請確保 HC-06 藍牙模塊已啟動并正在運行。
在您的設備上安裝應用程序后,您必須掃描設備,輸入上面腳本設置的 PIN 碼,然后連接藍牙模塊。
在本教程中,我將“控制器模式”用于命令。
對于本教程,我使用“控制器模式”
界面布局提供了 10 個按鈕,專門設計用于在按下時連續發送命令。目前,我們只使用兩個按鈕:一個按鈕發送“1”,另一個按鈕發送“2”。因此,使用應用程序的設置為兩個按鈕設置值“1”和值“2”。這些值將被藍牙模塊接收并在 Arduino 草圖中用于控制伺服電機。
我使用這兩個按鈕將命令發送到藍牙模塊
Android應用程序設置完成后,我們必須回到Arduino并上傳代碼來控制伺服電機。下面是在特定位置轉動伺服電機的 Arduino 草圖。
#include
#include <伺服.h>
SoftwareSerial mySerial(10, 11); // 接收 | 德克薩斯州
伺服伺服;??
整數伺服引腳 = 9;
int 伺服角度 = 0; //以度為單位的伺服位置
字符命令;
無效設置(){
??序列號.開始(9600);
??mySerial.begin(9600);
??Serial.println("您已通過藍牙連接");
??伺服.attach(servoPin);
}
無效循環(){
??如果(mySerial.available())
??{
????命令=(mySerial.read());
????如果(命令=='1')
????{
??????Serial.println("伺服電機轉10度");
??????伺服寫入(10);??????????????
??????延遲(500);??????????????????
????}
????否則如果(命令=='2')
????{
??????Serial.println("伺服電機轉120度");
??????伺服寫入(120);??????????????
??????延遲(500);
????}
??}
}
代碼
代碼
bluetooth_controller.ino
?
?
- 伺服控制器的全新時代——更安全、更智能、更小巧、更簡單
- 交流伺服神經元PID控制器研究
- 基于DSP的高壓訓線機器人數字化控制器 10次下載
- 如何使用FPGA實現矢量控制的高性能交流電機速度伺服控制器 9次下載
- 使用FPGA實現直流伺服電機控制器的設計資料說明 13次下載
- 基于STM32簡易電機伺服控制器 111次下載
- 氣動伺服DSP控制器研究 2次下載
- 基于多CPU架構伺服驅動控制器的研究 1次下載
- 基于DSP_CPLD的四電動舵機伺服控制器設計 4次下載
- 基于矢量控制的高性能交流電機速度伺服控制器的FPGA實現 26次下載
- 高速液壓伺服控制器中的應用研究 18次下載
- 切紙機伺服控制器設計 15次下載
- 基于模糊PID控制的導彈舵機伺服控制器 45次下載
- 伺服環路控制器的數字化設計 43次下載
- 交流伺服系統滑模控制器的動態設計 45次下載
- 伺服控制器的常見故障及解決方法 1320次閱讀
- 伺服電機與PLC控制器的區別 782次閱讀
- 西門子PLC與伺服控制器如何通訊 1057次閱讀
- 伺服控制器與PLC的區別 1908次閱讀
- 伺服控制器的工作原理和基本結構 847次閱讀
- 伺服驅動器和伺服控制器的區別 978次閱讀
- 嵌入式運動控制器在網絡化交流伺服系統中的應用 1305次閱讀
- 基于Arduino UNO和HC-05藍牙模塊控制伺服電機 4824次閱讀
- dfrobot低功耗藍牙控制器簡介 1446次閱讀
- 伺服電機控制器的使用場合及安裝 4469次閱讀
- 運動控制器控制伺服電機采用的指令和伺服電機調試的6個步驟說明 1.1w次閱讀
- 關于步進電機控制器與伺服電機控制器的對比淺析 2898次閱讀
- 關于伺服電機、驅動器、控制器的一些原理詳解 4.3w次閱讀
- 伺服定位控制在PLC中實現和在伺服控制器中實現解答 1w次閱讀
- 伺服驅動器的工作原理及其控制方式 5.2w次閱讀
下載排行
本周
- 1Keysight B1500A 半導體器件分析儀用戶手冊、說明書 (中文)
- 19.00 MB | 4次下載 | 免費
- 2使用TL431設計電源
- 0.67 MB | 2次下載 | 免費
- 3BT134雙向可控硅手冊
- 1.74 MB | 2次下載 | 1 積分
- 4一種新型高效率的服務器電源系統
- 0.85 MB | 1次下載 | 1 積分
- 5LabVIEW環形控件
- 0.01 MB | 1次下載 | 1 積分
- 6PR735,使用UCC28060的600W交錯式PFC轉換器
- 540.03KB | 1次下載 | 免費
- 751單片機核心板原理圖
- 0.12 MB | 1次下載 | 5 積分
- 8BP2879DB支持調光調滅的非隔離低 PF LED 驅動器
- 1.44 MB | 1次下載 | 免費
本月
- 1開關電源設計原理手冊
- 1.83 MB | 54次下載 | 免費
- 2FS5080E 5V升壓充電兩串鋰電池充電管理IC中文手冊
- 8.45 MB | 23次下載 | 免費
- 3DMT0660數字萬用表產品說明書
- 0.70 MB | 13次下載 | 免費
- 4UC3842/3/4/5電源管理芯片中文手冊
- 1.75 MB | 12次下載 | 免費
- 5ST7789V2單芯片控制器/驅動器英文手冊
- 3.07 MB | 11次下載 | 1 積分
- 6TPS54202H降壓轉換器評估模塊用戶指南
- 1.02MB | 8次下載 | 免費
- 7STM32F101x8/STM32F101xB手冊
- 1.69 MB | 8次下載 | 1 積分
- 8基于MSP430FR6043的超聲波氣體流量計快速入門指南
- 2.26MB | 7次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評論
查看更多