日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>通過藍牙對直流電機進行PWM和方向控制

通過藍牙對直流電機進行PWM和方向控制

2022-11-16 | zip | 0.07 MB | 次下載 | 免費

資料介紹

描述

啟示

我們最初的項目是從頭開始構(gòu)建一個電動滑板,我們可以通過手機應用程序中的滑塊來控制它。然而,這首先需要能夠通過藍牙Arduino 發(fā)送 PWM 信號,以及反轉(zhuǎn)電機方向的命令。作為一個 Arduino 新手,我首先必須在互聯(lián)網(wǎng)上搜索可以作為創(chuàng)建自己項目的墊腳石的項目,以便學習和應用關(guān)鍵概念。這是從一開始就學習 Arduino 幾周的結(jié)果,我很高興知道這是否反過來幫助任何人學習了一兩件事!

這個構(gòu)建是滑板上使用的小規(guī)模原型,只需稍作修改即可擴展。我將首先給出所需的部分以及它們背后的一些解釋,然后是電路以及隨附的代碼,最后將說明如何自定義應用程序以使用該程序。

所需零件

你會需要:

  • 一個 Arduino Uno 或 Nano;
  • 藍牙低功耗 (BLE) 模塊,例如僅作為從機的 HC-06,或者可以作為主機或從機的 HC-05。兩者都可以工作,因為該模塊將用作從站。它們還共享相同的四個中間引腳,這是我們唯一需要的;
pYYBAGNy7riAPoYlAAGuq6E79Vw259.png
橫向?qū)Ρ取?/font>信用:eggelectricunicycle.bitbucket.io
?
  • L293D電機驅(qū)動IC。這個 16 針雙 H 橋電機驅(qū)動器可以讓我們控制電機的旋轉(zhuǎn)方向和速度;
?
?
?
poYBAGNy7ruAahNdAABiES_ZGaU740.png
?
1 / 2 ? L293D 引腳布局。信用:components101.com
?
  • 12V直流電機;
  • 12V電池組;
  • 跳線和面包板。

電路

HC-06 將接收從主藍牙設(shè)備發(fā)出的串行數(shù)據(jù),這些數(shù)據(jù)將通過連接到板的引腳 5 和 4 的接收/發(fā)送引腳 RX/TX 與 Arduino 通信。它的 GND 和 VCC 引腳將分別連接到 GND 和 +5V。

L293D 中的 H 橋?qū)⒃试S我們通過打開或關(guān)閉一對開關(guān)來控制電機的旋轉(zhuǎn)方向,其中 4 個開關(guān)呈 H 形排列,因此得名。

pYYBAGNy7r2AQ-YrAABfgs1bLBs922.png
信用:http://axotron.se/
?

該電機驅(qū)動器還能夠以不同的速度驅(qū)動兩臺電機,但本項目僅使用一臺。

要啟用電機,請將“ Enable 1, 2 ”(引腳 1)和“ Vcc1 ”(引腳 16)連接到 +5V。將“ Vcc2 ”(引腳 8)連接到 12V 電池組的正極。將引腳 4、5、12 和 13 連接到 GND。將“輸入 1 ”(引腳 2)連接到 Arduino 的引腳 10,它將傳輸pwm2信號,將“輸入 2 ”(引腳 7)連接到引腳 9,用于pwm1. 在這些之間切換將允許我們切換旋轉(zhuǎn)方向。最后,將直流電機連接到輸出 1 和 2(引腳 3 和 6)。

pYYBAGNy7sCAXlg2AADzWcALois192.jpg
電路示意圖(用 Fritzing 制作)。
?

這是連接到面包板上時應該是什么樣子的圖片:

?
?
?
poYBAGNy7sKAIoNGAADx7pKw24g017.jpg
?
1 / 2 ?電路圖(在 Tinkercad 上制作)。
?

該程序

已添加注釋以幫助解釋代碼,但可能需要更多說明。

pwm1并且pwm2是相反的,并允許我們切換旋轉(zhuǎn)方向。應用程序發(fā)送的串行數(shù)據(jù)是一個字符串,c,這是速度和方向數(shù)據(jù)的位置。為了完成這項工作,速度位于字符串c[1]c[2]c[3]中,這就是為什么它必須作為 3 位數(shù)字接收的原因。這就是為什么在應用程序中,我們自定義滑塊以發(fā)送 100 到 255 之間的數(shù)字。然后可以將其映射到 Arduino 中的 [0:255] 下的新速度變量,如下所示:

new_speed = map(speed_value,100,255,0,255) 

然而,我們決定簡單地從 speed_value 中減去 100,以使速度屬于區(qū)間 [0:155],因為 155 對于我們的原型來說已經(jīng)足夠快了。

#include
SoftwareSerial bt_ser(4,5); //connected to RX and TX pins for serial data communication
char c[6];
int i=0,speed_value=0,send_value;
#define pwm1     9   //input 2
#define pwm2    10   //input 1
boolean motor_dir = 0;
void setup()
{
 Serial.begin(9600);
 bt_ser.begin(9600);
 pinMode(pwm1,   OUTPUT);
 pinMode(pwm2,   OUTPUT);
}
void loop()
{
  while(bt_ser.available())   //when data is transmitted
    {
      if(bt_ser.available()>0)
      {
        c[i] = bt_ser.read();   //reading the string sent from master device
        Serial.print(c[i]); 
        i++;  
      }
      if(c[i-1]=='N')    //if button is pressed
       {
         motor_dir = !motor_dir;     //toggle direction variable
         if(motor_dir)               //setting direction, pwm1 and pwm2 are opposites
           digitalWrite(pwm2, 0);
         else
           digitalWrite(pwm1, 0); 
       }
     }
      speed_value = (c[1]-48)*100+(c[2]-48)*10+(c[3]-48)*1;  //interpreting speed from string
      if(motor_dir)   //for a given direction
         {
           if(c[i-1]=='#'){   //if data has been transmitted from slider
             analogWrite(pwm1, speed_value-100);  //-100 so that when slider is on "0" speed is 0
             i=0;
           }
         }
       else{       //for opposite direction
         if(c[i-1]=='#'){
           analogWrite(pwm2, speed_value-100);
           i=0;
         }
       }
}   

該應用程序

我們決定使用我們在 Play 商店中找到的名為 Bluetooth Electronics 的應用程序,因為它提供了創(chuàng)建儀表板以及自定義儀表板上組件發(fā)送的數(shù)據(jù)或它們?nèi)绾蜗嗷ソ换サ倪x項。

pYYBAGNy7sWAG4QVAABasy6do-s901.jpg
創(chuàng)建的儀表板的屏幕截圖。
?

為了創(chuàng)建這個界面,您需要編輯一個新的儀表板,并從編輯菜單中選擇一個滑塊、一個按鈕和一個文本框。

滑塊必須這樣編輯:

  • 最小值:100
  • 最大值:255
  • 在滑塊更改時發(fā)送字符串
  • 字符串以 : * 開頭
  • 字符串以 : # 結(jié)尾

按鈕應該這樣編輯(釋放文本留空):

  • 新聞?wù)模篘
  • 發(fā)布文本:

然后,您可以添加文本以闡明儀表板。

結(jié)果

?

我作為初學者學到的一些教訓

在我們創(chuàng)建這個項目時,我獲得了一些我認為可以與其他 Arduino 初學者分享的智慧,因為雖然其中一些可能聽起來很明顯,但對我來說這是一條陡峭的學習曲線。

1. 使用在線提供的程序構(gòu)建項目時,始終確保調(diào)整代碼并對其進行測試以了解所有部分的作用。我經(jīng)常剝離代碼以嘗試隔離某些功能并了解如何以不同的方式執(zhí)行它們,通過這樣做,我了解這些代碼的工作方式要好得多,并且能夠從它們中獲得靈感來自己創(chuàng)造一些新的東西,而不是只需復制和粘貼整個程序。

2. 這聽起來很明顯,但我犯了很多次這個錯誤:看起來相似的組件并不總是相同的!在使用晶體管和雙列直插式封裝(如 L293D)時,我尤其犯了這個錯誤。手頭有類似的組件,我嘗試構(gòu)建電路,但它們從未工作過,并且必須訂購正確的組件才能使它們發(fā)揮作用。

3. 當你卡在某件事上時,有針對性的互聯(lián)網(wǎng)研究可以解決大多數(shù)問題,只是需要一些耐心閱讀和理解,無論是關(guān)于代碼元素還是電子元件。

結(jié)論

如果您受到啟發(fā)來構(gòu)建這個項目,我建議您隨意修改它以更好地滿足您的目標并了解有關(guān)如何創(chuàng)建自己的 Arduino 項目的更多信息。由于它是電動滑板電機控制系統(tǒng)的原型,以下是我們認為可以實施的一些潛在想法和示例:

  • 開/關(guān)開關(guān);
  • 在能夠激活反向按鈕之前將滑塊拖動到“0”位置的要求;
  • 剎車命令(逐漸停止,而不是從關(guān)閉或倒車按鈕立即停止,或者必須手動逐漸降低速度);
  • 甚至創(chuàng)建您自己的移動應用程序來控制電機,因為我們使用了應用程序商店中提供的一個。麻省理工學院應用程序發(fā)明者似乎是創(chuàng)建此類應用程序的好平臺;
  • 手持遙控器也可以代替手機,如果是電動滑板,肯定是更安全的選擇;
  • 我們還認為,在滑板甲板上添加一個壓力傳感器可以在用戶摔倒時實現(xiàn)緊急停止,盡管遙控器和 Arduino 之間的距離讀數(shù)也可以實現(xiàn)該目標,一旦遙控器/用戶停止它太遠。

永遠記住是安全的,這只是電動滑板電機控制系統(tǒng)的一個小規(guī)模原型,我們沒有嘗試在實際中使用它,我們不建議將其用于此目的,因為它未經(jīng)測試真正的滑板,可能很危險。

我們希望這對您有所幫助,并且您會在該項目中獲得樂趣!


直流電機 藍牙 Arduino
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1矽力杰 Silergy SY7215A 同步升壓調(diào)節(jié)器 規(guī)格書 Datasheet 佰祥電子
  2. 1.12 MB  |  5次下載  |  免費
  3. 2HT81696H 內(nèi)置升壓的30W立體聲D類音頻功放數(shù)據(jù)手冊
  4. 1.21 MB   |  1次下載  |  免費
  5. 3HTA6863 3W超低噪聲超低功耗單聲道D類音頻功率放大器數(shù)據(jù)手冊
  6. 0.87 MB   |  次下載  |  免費
  7. 4南芯 Southchip SC8802C 充電控制器 規(guī)格書 Datasheet 佰祥電子
  8. 88.16 KB  |  次下載  |  免費
  9. 5矽力杰 Silergy SY7065 同步升壓轉(zhuǎn)換器 規(guī)格書 Datasheet 佰祥電子
  10. 910.67 KB  |  次下載  |  免費
  11. 6矽力杰 Silergy SY7066 同步升壓轉(zhuǎn)換器 規(guī)格書 Datasheet 佰祥電子
  12. 989.14 KB  |  次下載  |  免費
  13. 7WD6208A產(chǎn)品規(guī)格書
  14. 631.24 KB  |  次下載  |  免費
  15. 8NB685 26 V,12 A,低靜態(tài)電流,大電流 同步降壓變換器數(shù)據(jù)手冊
  16. 1.64 MB   |  次下載  |  2 積分

本月

  1. 1EMC PCB設(shè)計總結(jié)
  2. 0.33 MB   |  12次下載  |  免費
  3. 2PD取電芯片 ECP5702規(guī)格書
  4. 0.88 MB   |  5次下載  |  免費
  5. 3矽力杰 Silergy SY7215A 同步升壓調(diào)節(jié)器 規(guī)格書 Datasheet 佰祥電子
  6. 1.12 MB  |  5次下載  |  免費
  7. 4氮化鎵GaN FET/GaN HEMT 功率驅(qū)動電路選型表
  8. 0.10 MB   |  3次下載  |  免費
  9. 5PD取電芯片,可取5/9/12/15/20V電壓ECP5702數(shù)據(jù)手冊
  10. 0.88 MB   |  3次下載  |  免費
  11. 6SY50655 用于高輸入電壓應用的偽固定頻率SSR反激式穩(wěn)壓器英文資料
  12. 1.01 MB   |  3次下載  |  免費
  13. 7怎么為半導體測試儀選擇精密放大器
  14. 0.65 MB   |  2次下載  |  免費
  15. 8SY52341 次級側(cè)同步整流英文手冊
  16. 0.94 MB   |  2次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233095次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191469次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183360次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81606次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73832次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分
呼图壁县| 黄浦区| 齐齐哈尔市| 始兴县| 汶上县| 吉安市| 博爱县| 来宾市| 河间市| 广南县| 嘉义县| 和政县| 岐山县| 门头沟区| 双城市| 台东市| 建宁县| 陆丰市| 涞水县| 尼玛县| 旺苍县| 乌什县| 教育| 稷山县| 青田县| 澄迈县| 三河市| 克拉玛依市| 泌阳县| 南平市| 安溪县| 乌海市| 仲巴县| 安宁市| 临邑县| 新和县| 朝阳县| 阿拉尔市| 通化县| 当阳市| 兴海县|