ROS小车-1-电机测试

主控板:Arduino nano

Arduino nano

设置端口时GPIO的序号参照紫色标号,每一路电机需要使用一个PWM端口和两个数字端口。左轮的PWM端口为5-D5,方向控制为4-D4,2-D2。右轮的PWM端口为9-D9,方向控制为7-D7,8-D8

代码实现逻辑
1.定义左电机和右电机的两个方向引脚和pwm引脚
2.在setup函数中将两个引脚都设置为 OUTPUT
3.在loop函数中写入具体的实现代码

/*
 * 电机转动控制
 * 1.定义接线中电机对应的引脚
 * 2.setup 中设置引脚为输出模式
 * 3.loop中控制电机转动
 * 
 */



//左电机
int DIRA_1 = 4;
int DIRA_2 = 2;
int PWMA = 5;
//左电机


//右电机
int DIRB_1 = 7;
int DIRB_2 = 8;
int PWMB = 9;
//右电机





void setup() {
  //两个引脚都设置为 OUTPUT
  pinMode(DIRA_1,OUTPUT);
  pinMode(DIRA_2,OUTPUT);
  pinMode(PWMA,OUTPUT);

  pinMode(DIRB_1,OUTPUT);
  pinMode(DIRB_2,OUTPUT);
  pinMode(PWMB,OUTPUT);


}

void loop() {
  //先正向转动3秒
  digitalWrite(DIRA_1,HIGH);
  digitalWrite(DIRA_2,LOW);

  digitalWrite(DIRB_1,LOW);
  digitalWrite(DIRB_2,HIGH);

  analogWrite(PWMA,100);
  analogWrite(PWMB,100);

  delay(3000);



  //停止3秒
  digitalWrite(DIRA_1,HIGH);
  digitalWrite(DIRA_2,HIGH);

  digitalWrite(DIRB_1,HIGH);
  digitalWrite(DIRB_2,HIGH);

  analogWrite(PWMA,0);
  analogWrite(PWMB,0);

  delay(3000);



  //再反向转动3秒
  digitalWrite(DIRA_1,LOW);
  digitalWrite(DIRA_2,HIGH);

  digitalWrite(DIRB_1,HIGH);
  digitalWrite(DIRB_2,LOW);


  analogWrite(PWMA,100);
  analogWrite(PWMB,100);
  delay(3000);




  //停止3秒
  digitalWrite(DIRA_1,HIGH);
  digitalWrite(DIRA_2,HIGH);

  digitalWrite(DIRB_1,HIGH);
  digitalWrite(DIRB_2,HIGH);

  analogWrite(PWMA,0);
  analogWrite(PWMB,0);

  delay(3000);
  /*
   * 注意: 
   * 1.可以通过将DIRA设置为HIGH或LOW来控制电机转向,但是哪个标志位正转或反转需要根据需求判断,转向是相对的。
   * 2.PWM的取值为 [0,255],该值可自己设置。
   * 
   */

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值