久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5881|回復: 2
打印 上一主題 下一主題
收起左側

零知開源分享-STM32+L298N模塊使用程序 電機驅動 TT馬達

[復制鏈接]
跳轉到指定樓層
樓主
  電機驅動模塊在電子制作中會經常使用到,下面以L298N型號的模塊為例介紹其使用方法。
  模塊引腳說明如下:

值得注意的是,它已經內置5V供電,所以不必從外面再接5V輸入。
1、實驗材料
  • 直流減速電機TT馬達2個,帶車輪(便于實驗觀察)


  • 電機驅動板1塊
  • 零知-標準板
  • 杜邦線若干

2、接線
我們把零知標準板和電機驅動板相連接,驅動2路電機工作。接線圖如下:

引腳連接:
最后我們把電機驅動板的12v接到一個9v的電源上(如干電池組),然后GND連接到零知標準板的地。
3、程序
根據上述連接線后,我們使用程序來控制電機的運行:
  1. /**
  2. *    文件: 電機驅動.ino      by 零知實驗室([url=http://www.lingzhilab.com]www.lingzhilab.com[/url])
  3. *    -^^- 零知開源,讓電子制作變得更簡單! -^^-
  4. *    時間: 2018/10/13 15:01
  5. *    說明:
  6. **/
  7.   
  8. //控制命令
  9. #define        STOP                 0
  10. #define        FORWARD                1
  11. #define        BACKWARD        2
  12. #define        TURNLEFT        3
  13. #define        TURNRIGHT        4

  14. //電機控制引腳
  15. #define LEFT_MOTOR1 2
  16. #define LEFT_MOTOR2        3
  17. #define RIGHT_MOTOR1 4
  18. #define RIGHT_MOTOR2 5
  19. #define LEFT_ENA 11
  20. #define RIGHT_ENB 12

  21. int LED_STATE = 0;
  22.    
  23. void setup() {
  24.     // put your setup code here, to run once:
  25.          
  26.         Serial.begin(9600);
  27.          
  28.         pinMode(LED_BUILTIN, OUTPUT);
  29.          
  30.         pinMode(LEFT_MOTOR1, OUTPUT);
  31.         pinMode(LEFT_MOTOR2, OUTPUT);
  32.         pinMode(RIGHT_MOTOR1, OUTPUT);
  33.         pinMode(RIGHT_MOTOR2, OUTPUT);
  34.         pinMode(LEFT_ENA,OUTPUT);
  35.         pinMode(RIGHT_ENB,OUTPUT);
  36.          
  37.         motor_run(STOP);
  38.          
  39. }
  40.   
  41. void loop() {
  42.     // put your main code here, to run repeatedly:

  43.         int cmd = 1;

  44.         motor_run(cmd);

  45.         delay(1000);
  46.          
  47.         motor_run(0);
  48. }
復制代碼

把電機驅動的操作作為一個函數motor_run(int cmd);如下:
  1. /**
  2. *        根據命令點擊進行相應動作
  3. *         cmd 命令
  4. */

  5. int highSpeed = 200;
  6. int lowSpeed = 100;

  7. void motor_run(int cmd)
  8. {
  9.         switch(cmd)
  10.         {
  11.                 case FORWARD:
  12.                         Serial.println("FORWARD"); //輸出狀態
  13.                         analogWrite(LEFT_ENA,highSpeed);
  14.                         digitalWrite(LEFT_MOTOR1, LOW);
  15.                         digitalWrite(LEFT_MOTOR2, HIGH);
  16.                         analogWrite(RIGHT_ENB,highSpeed);
  17.                         digitalWrite(RIGHT_MOTOR1, LOW);
  18.                         digitalWrite(RIGHT_MOTOR2, HIGH);
  19.                 break;
  20.                 case BACKWARD:
  21.                         Serial.println("BACKWARD"); //輸出狀態
  22.                         digitalWrite(LEFT_MOTOR1,  HIGH);
  23.                         digitalWrite(LEFT_MOTOR2, LOW);
  24.                         digitalWrite(RIGHT_MOTOR1, HIGH);
  25.                         digitalWrite(RIGHT_MOTOR2, LOW);
  26.                 break;
  27.                 case TURNLEFT:
  28.                         Serial.println("TURN  LEFT"); //輸出狀態
  29.                         analogWrite(LEFT_ENA,lowSpeed);
  30.                         analogWrite(RIGHT_ENB,highSpeed);
  31.                         digitalWrite(LEFT_MOTOR1, LOW);
  32.                         digitalWrite(LEFT_MOTOR2, HIGH);//C
  33.                         digitalWrite(RIGHT_MOTOR1, LOW);
  34.                         digitalWrite(RIGHT_MOTOR2, HIGH);
  35.                 break;
  36.                 case TURNRIGHT:
  37.                         Serial.println("TURN  RIGHT"); //輸出狀態
  38.                         analogWrite(LEFT_ENA,highSpeed);
  39.                         analogWrite(RIGHT_ENB,lowSpeed);
  40.                         digitalWrite(LEFT_MOTOR1, LOW);
  41.                         digitalWrite(LEFT_MOTOR2, HIGH);
  42.                         digitalWrite(RIGHT_MOTOR1, LOW);//C
  43.                         digitalWrite(RIGHT_MOTOR2, HIGH);
  44.                 break;
  45.                 case STOP:
  46.                 default:
  47.                         Serial.println("STOP"); //輸出狀態
  48.                         digitalWrite(LEFT_ENA,1);
  49.                         digitalWrite(RIGHT_ENB,1);
  50.                         digitalWrite(LEFT_MOTOR1, LOW);
  51.                         digitalWrite(LEFT_MOTOR2, LOW);
  52.                         digitalWrite(RIGHT_MOTOR1, LOW);
  53.                         digitalWrite(RIGHT_MOTOR2, LOW);
  54.                 break;
  55.         }
  56. }
復制代碼
把程序上傳到零知-標準板上,調整程序中cmd的值,看看效果吧!

更多詳細資料可到零知官網免費獲取。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:505045 發表于 2019-5-18 17:49 | 只看該作者
樓主可以發我郵箱整個資料嗎17382569964@163.com。謝謝您

回復

使用道具 舉報

板凳
ID:694206 發表于 2020-4-2 14:25 | 只看該作者
大哥,這是arduino的程序啊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一区二区免费在线 | 欧美13videosex性极品 | 国产成人精品一区二 | 国产91久久久久蜜臀青青天草二 | 国产精品夜夜夜一区二区三区尤 | 成人在线视频看看 | 婷婷免费视频 | 毛色毛片免费看 | 久久久精 | 丁香五月缴情综合网 | 久久国产精品精品国产色婷婷 | 日韩精品极品视频在线观看免费 | 午夜精品影院 | 国产高清在线精品 | 亚洲精品视频一区二区三区 | 日韩视频福利 | 日本一区二区在线视频 | 在线观看涩涩视频 | av资源网站 | 婷婷综合在线 | 免费看a | 亚洲一区二区三区在线视频 | 99re66在线观看精品热 | 亚洲一区二区中文字幕 | 亚洲成人一区二区三区 | 日韩一区二区三区在线观看 | 国产99久久精品一区二区永久免费 | 免费观看羞羞视频网站 | 九色porny自拍视频 | 国产精品日韩一区 | 日韩精品一区二区三区 | 日韩电影中文字幕 | 国产一区三区在线 | 亚洲欧美一区二区三区国产精品 | 成人影院在线视频 | 国产一区二区精品在线 | 国产一卡二卡三卡 | 国产精品亚洲综合 | 免费一级欧美在线观看视频 | 97人人超碰 | 精品国产一级 |