熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 如何使用Arduino的藍牙控制伺服電機

如何使用Arduino的藍牙控制伺服電機

時間:2022-11-17 10:17:50來源:circuitdigest

導語:?如何使用Arduino的藍牙控制伺服電機

  使用伺服電機在機器人技術中很常見,以實現精確控制。在這里,在本教程中,我們將向您展示如何通過藍牙連接將伺服電機與Arduino UNO和Android設備無線使用。我們已經使用 Arduino 控制了伺服,這次我們使用Arduino 和藍牙控制伺服電機。

  所需材料

  Arduino UNO

  HC-05 或 HC-06 藍牙模塊

  伺服電機

  來自Playstore的Roboremo應用程序

  面包板

  連接線

  HC-06 藍牙模塊

  藍牙可以在以下兩種模式下運行:

  命令模式

  操作模式

  在命令模式下,我們將能夠配置藍牙屬性,例如藍牙信號的名稱,密碼,操作波特率等。操作模式是我們能夠在PIC微控制器和藍牙模塊之間發送和接收數據的模式。因此,在本教程中,我們將只玩弄操作模式。命令模式將保留默認設置。設備名稱將是HC-05(我正在使用HC-06),密碼將是0000或1234.最重要的是,所有藍牙模塊的默認波特率為9600.

pYYBAGN0nS-AQ32JAACRRzH8oH8695.jpg

  模塊采用 5V 電源供電,信號引腳工作在 3.3V,因此模塊本身存在一個 3.3V 穩壓器。因此,我們不必擔心。在六個引腳中,只有四個將在操作模式下使用。引腳連接表如下所示

  

S.NoHC-05/HC-06 上的引腳MCU 上的引腳名稱PIC 中的引腳編號
1VccVdd31圣針
2Vcc格德32德·針
3德克薩斯RC6/Tx/CK25千針
4接收RC7/Rx/DT26千針
5數控數控
6英文(使能)數控數控


  電路圖

  此Arduino藍牙伺服電機控制項目的電路圖如下:

poYBAGN0nTGAP6f_AAB8e95U1IQ995.png

poYBAGN0nTOAdEvUAAC6k9iZgLs019.jpg

  配置 Roboremo 應用程序以控制伺服:

  第 1 步:-從Android Play商店下載Roboremo應用程序并將其安裝在智能手機中。安裝后,您將看到如圖1所示的應用程序窗口,通過單擊“菜單”按鈕,您將看到如下所示的圖2所示窗口:

pYYBAGN0nTSAUPERAAAZL5GZArY939.png

poYBAGN0nTaAJax4AAAtIkVcznU194.png

  第 2 步:-然后單擊連接按鈕,您將看到下面圖3所示的窗口,然后您必須選擇“藍牙RFCOMM”,然后您將能夠將HC-06藍牙模塊與Android應用程序“Roboremo”連接。

pYYBAGN0nTeARHJ6AABAy9m8-lc798.png

  第 3 步:-連接到HC-06藍牙模塊后,返回圖2窗口,然后單擊“編輯ui”以根據需要創建用戶界面。

  當單擊“編輯ui”時,您將再次看到圖1所示的窗口,然后單擊屏幕上的任意位置,您將看到如圖4所示的應用程序窗口,然后選擇“按鈕”以獲取按鈕結構。

pYYBAGN0nTmASGUaAAAt7QHnAwA011.png

  第 4 步:-選擇按鈕后,您將在屏幕上看到一個按鈕結構進行編輯。您可以調整結構的大小并將其移動到屏幕上的任意位置。現在,要設置通過藍牙單擊時發送的值,您有“設置按下操作”(如圖 6 所示)并鍵入要從該特定按鈕發送的值。就像,我們正在發送“1”通過按 Roboremo android 應用程序中的“開始”按鈕來旋轉伺服。

  您可以在后面給出的表格中檢查所有值,單擊不同的按鈕發送。

poYBAGN0nTqAFjOvAAAe3Rs9LYA509.png

pYYBAGN0nTuAeO8BAAA_PUvRXGo620.png

  第 5 步:-最后,我們有用戶界面來使用智能手機控制伺服電機。

poYBAGN0nTyAfvPIAAAsom7XUyA747.png

  代碼和說明

  最后給出了通過藍牙的Arduino控制伺服電機的完整代碼。

  Arduino具有伺服電機庫,它處理所有與PWM相關的東西來旋轉伺服器,您只需要輸入要旋轉的角度,并且有功能servo1.write(angle); 這會將伺服器旋轉到所需的角度。

  因此,這里我們首先定義伺服電機的庫,軟件串行庫用于定義Rx和Tx引腳。

  #include

  #include

  在下面的代碼中,我們正在初始化 Rx 和 Tx 的 Arduino 引腳,為伺服和其他東西定義變量。

  Servo myServo; int TxD = 11; int RxD = 10; int servoposiTIon; int servopos; int new1; SoftwareSerial bluetooth(TxD, RxD);

  現在,將所有變量和組件設置為初始階段。在這里,我們將伺服器連接到 9千Arduino的引腳,并使伺服的初始位置為0度。串行和藍牙通信的波特率也已設置為 9600.

  void setup() {

  int pos=0;

  myServo.attach(9);

  myServo.write(0);

  Serial.begin(9600);       // start serial communicaTIon at 9600bps

  bluetooth.begin(9600);

  }

  在空回路功能中,Arduino將一直檢查輸入的值,并根據從智能手機接收的值旋轉伺服。所有值都將使用串行通信接收。

  如果值為 0.則伺服將旋轉到 0 度。同樣,如果我們從藍牙應用程序發送 45、90、135 和 180.則伺服將分別旋轉到 45、90、135 和 180 度角。

  void loop() {

  if (bluetooth.available()){

  String value = bluetooth.readString();

  servoposiTIon = value.toInt();

  if (value.toInt() == 0){

  Serial.println(servoposiTIon);

  myServo.write(0);

  }

  if (value.toInt() == 45){

  Serial.println(servoposition);

  myServo.write(45);

  }

  if (value.toInt() == 90){

  Serial.println(servoposition);

  myServo.write(90);

  }

  if (value.toInt() == 135){

  Serial.println(servoposition);

  myServo.write(135);

  }

  if (value.toInt() == 180){

  Serial.println(servoposition);

  myServo.write(180);

  }

  如果我們通過按開始按鈕發送值“1”,則伺服將連續旋轉,直到按下停止按鈕。在這里,我們在按下停止按鈕時發送“2”,Arduino 將讀取該按鈕,它將中斷 while 循環并停止伺服。

  while(value.toInt()==1){

  if (bluetooth.available())

  {

  value = bluetooth.readString();

  Serial.println(value);

  if (value.toInt()==2)

  {Serial.println("YYY"); break; }

  }

  servopos++;

  delay(30);

  Serial.println(servopos);

  myServo.write(servopos);

  if (servopos ==180 )

  {servopos=0;break;}

  }

  }

  }

  使用藍牙的伺服電機控制工作:

pYYBAGN0nT6APH0gAADiAL37Usg837.jpg

  在這個項目中,我們使用Android應用程序“Roboremo”控制伺服電機。在此應用程序的界面中,我們創建了 5 個按鈕來控制伺服電機,如前所述。下表給出了每個按鈕的工作:

  

S.No。按鈕名稱發送值描述
1.開始1此按鈕用于開始將伺服從 0? 旋轉到 180?。
2.2此按鈕用于隨時停止舵機。
3.0?0此按鈕用于將舵機旋轉到 0?。
4.90?90此按鈕用于將舵機旋轉到 90?。
5.180?180此按鈕用于將舵機旋轉到 180?。


  因此,通過按下Android應用程序Roboremo上的這些按鈕,數據將通過智能手機的藍牙發送到HC-06藍牙模塊。從HC-06模塊數據由Arduino接收,Arduino以特定按鈕的代碼中定義的角度旋轉伺服。我們還對角度 45 和 135 進行了編碼,但由于 Roboremo 應用程序的限制,您只能創建 5 個按鈕,因此我們跳過了兩個按鈕。

  因此,這就是您可以使用藍牙將數據從智能手機發送到Arduino以無線控制伺服的方法。

  #include

  #include

  Servo myServo;

  int TxD = 11;

  int RxD = 10;

  int servoposition;

  int servopos;

  int new1;

  SoftwareSerial bluetooth(TxD, RxD);

  void setup() {

  int pos=0;

  myServo.attach(9);

  myServo.write(0);

  Serial.begin(9600); // start serial communication at 9600bps

  bluetooth.begin(9600);

  }

  void loop() {

  if (bluetooth.available())

  {

  String value = bluetooth.readString();

  servoposition = value.toInt();

  if (value.toInt() == 0)

  {

  Serial.println(servoposition);

  myServo.write(0);

  }

  if (value.toInt() == 45)

  {

  Serial.println(servoposition);

  myServo.write(45);

  }

  if (value.toInt() == 90)

  {

  Serial.println(servoposition);

  myServo.write(90);

  }

  if (value.toInt() == 135)

  {

  Serial.println(servoposition);

  myServo.write(135);

  }

  if (value.toInt() == 180)

  {

  Serial.println(servoposition);

  myServo.write(180);

  }

  while(value.toInt()==1){

  if (bluetooth.available())

  {

  value = bluetooth.readString();

  Serial.println(value);

  if (value.toInt()==2)

  {Serial.println("YYY"); break; }

  }

  servopos++;

  delay(30);

  Serial.println(servopos);

  myServo.write(servopos);

  if (servopos ==180 )

  {servopos=0;break;}


標簽: 伺服電機

點贊

分享到:

上一篇:plc輸出端三種類型電氣方框圖

下一篇:充電電池應該如何選購

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 雷山县| 澎湖县| 宣威市| 长武县| 荣昌县| 景宁| 康保县| 渝中区| 宣化县| 宁蒗| 乌鲁木齐县| 井陉县| 景谷| 红安县| 安达市| 彝良县| 嘉禾县| 土默特右旗| 祁阳县| 洛阳市| 保康县| 遂宁市| 定州市| 乐东| 微博| 织金县| 高密市| 化州市| 仪征市| 瓦房店市| 额济纳旗| 甘孜县| 禹州市| 仁化县| 马山县| 桃园县| 金湖县| 张家界市| 桦川县| 高尔夫| 广平县|