大功率蓝牙遥控车代码这么写行吗?

2016-02-292万
AI 快速预览详细 收起
本文介绍了如何使用Arduino Uno R3、L298N电机驱动模块和HC-05蓝牙模块制作大功率蓝牙遥控车。提供了详细的代码示例,包括增减速功能的具体实现方法。硬件清单包括Arduino Uno R3、L298N电机驱动模块、HC-05蓝牙模块和24V直流小型主轴电机。最终效果是能够通过蓝牙远程控制车辆,并支持增减速功能。难度适中,适合DIY爱好者和初学者。


本人手头有Arduino uno r3、L298N电机驱动模块(直流六光耦全隔离)、HC-05主从机一体蓝牙模块、24V直流小型主轴电机40W想拿来蓝牙遥控车,但是不知道怎么写代码,有哪位大神给指点一二?(以下是蓝牙小车代码有带增减速的)
  1. char getstr;
  2. int in1=3;
  3. int in2=4;
  4. int in3=7;
  5. int in4=8;
  6. int n=0;
  7. int inEN1=9;
  8. int inEN2=10;
  9. //上面定义了板上的4个控制端,1、2一组,3、4一组
  10. void _mRight(int pin1,int pin2)//当in1和in2中有一个接高位时,电机会向某一方向转动
  11. {
  12.   digitalWrite(pin1,HIGH);
  13.   digitalWrite(pin2,LOW);
  14. }
  15. void _mLeft(int pin1,int pin2)//同上
  16. {
  17.   digitalWrite(pin1,LOW);
  18.   digitalWrite(pin2,HIGH);
  19. }
  20. void _mStop(int pin1,int pin2)//紧急制动,实际就是将电机两个端短接了
  21. {
  22.   digitalWrite(pin1,HIGH);
  23.   digitalWrite(pin2,HIGH);
  24. }
  25. void setup()
  26. {
  27.   Serial.begin(9600);
  28.   pinMode(in1,OUTPUT);
  29.   pinMode(in2,OUTPUT);
  30.   pinMode(in3,OUTPUT);
  31.   pinMode(in4,OUTPUT);
  32.   pinMode(inEN1,OUTPUT);
  33.   pinMode(inEN2,OUTPUT);
  34.   //下面程序开始时让控制端都为高电平,电机保持不动。
  35.   digitalWrite(in1,HIGH);
  36.   digitalWrite(in2,HIGH);
  37.   digitalWrite(in3,HIGH);
  38.   digitalWrite(in4,HIGH);
  39. }
  40. void loop()
  41. {
  42.   getstr=Serial.read();
  43.   if(getstr=='8')
  44.   {
  45.     Serial.println("go forward!");
  46.     _mStop(in1,in2);
  47.     _mStop(in3,in4);
  48.     _mRight(in1,in2);
  49.     _mRight(in3,in4);
  50.   }
  51.   else if(getstr=='2'){
  52.     Serial.println("go back!");
  53.     _mStop(in1,in2);
  54.     _mStop(in3,in4);
  55.     _mLeft(in1,in2);
  56.     _mLeft(in3,in4);
  57.   }
  58.   else if(getstr=='4'){
  59.     Serial.println("go left!");
  60.     _mStop(in1,in2);
  61.     _mStop(in3,in4);
  62.     _mRight(in1,in2);
  63.     _mLeft(in3,in4);
  64.   }
  65.   else if(getstr=='6'){
  66.     Serial.println("go right!");
  67.     _mStop(in1,in2);
  68.     _mStop(in3,in4);
  69.     _mRight(in3,in4);
  70.     _mLeft(in1,in2);
  71.   }
  72.   else if(getstr=='1'){
  73.     Serial.println("growth!");
  74.     n=n+85;                         //每次累加值为5
  75.     if (n>=255)
  76.       n=255;
  77.       analogWrite(9,n);
  78.       analogWrite(10,n);
  79.     }
  80.     else if(getstr=='0'){
  81.     Serial.println("Slow down!");
  82.      n=n-85;
  83.     if (n<=0)
  84.       n=0;
  85.       analogWrite(9,n);
  86.       analogWrite(10,n);
  87.     }
  88.   else if(getstr=='5'){
  89.     Serial.println("Stop!");
  90.     _mStop(in1,in2);
  91.     _mStop(in3,in4);   
  92.   }
  93. }
复制代码


151039hhgzy4ltyyvlfeve.png (209.42 KB, 下载次数: 4972)

电机驱动光耦模式

大功率蓝牙遥控车代码解析 > Arduino Uno R3 + L298N + HC-05_image_3.webp

174048ugoadajo7adtka7a.jpg (131.83 KB, 下载次数: 5065)

arduino uno r3

大功率蓝牙遥控车代码解析 > Arduino Uno R3 + L298N + HC-05_image_6.webp

174049wteetxn7syrh7szm.jpg (114.07 KB, 下载次数: 5113)

L298N电机驱动模块(直流六光耦全隔离)

大功率蓝牙遥控车代码解析 > Arduino Uno R3 + L298N + HC-05_image_9.webp

174051p5kuumlr4mmn1loq.jpg (63.07 KB, 下载次数: 5259)

24V直流小型主轴电机40W

大功率蓝牙遥控车代码解析 > Arduino Uno R3 + L298N + HC-05_image_12.webp

174051qzpmzq8pjzftajpb.jpg (24.1 KB, 下载次数: 5025)

HC-05主从机一体蓝牙模块

大功率蓝牙遥控车代码解析 > Arduino Uno R3 + L298N + HC-05_image_15.webp

NewWay298N-M 用户说明手册.pdf

688.04 KB, 下载次数: 6064

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(5)
20060606
20060606
??????????????
帅猫
帅猫
没错啊,可以用的
20060606
20060606
电机驱动是l298n,是这个驱动电流不够
dsweiliang
dsweiliang
这么大的电机,控制板的电流够不够过啊~?
学员
学员
作者
回复dsweiliang
你可看仔细咯是光耦隔离的,各用各的电。
丄帝De咗臂
丄帝De咗臂
好大一个
- 没有更多了 -