ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Arduino小车代码前后左右控制

2022-01-14 21:34:09  阅读:465  来源: 互联网

标签:前后左右 rightMotor1 rightMotor2 Arduino 小车 leftMotor1 HIGH LOW digitalWrite


#include<Servo.h>
//有以下几种运动状态
#define STOP 0 //暂停stop
#define FORWARD 1 //前进
#define BACKWARD 2 //后退
#define TURNLEFT 3 //左转
#define TURNRIGHT 4 //右转
//需要用到的引脚
//定义电机的输入引脚分别为4,5,6,7,这些引脚是arduino开发板上的数字输入输出引脚,用于数字信号的读写,控制小车的执行//该小车是四个轮子,一共有四个电机
int leftMotor1=4;//左侧电机
int leftMotor2=5;//左侧电机
int rightMotor1=6;//右侧电机
int rightMotor2=7;//右侧电机
void setup()
{
//put yoursetup code here ,to run once: //设置控制电机的引脚为输出状态 pinMode(leftMotor1,OUTPUT); pinMode(leftMotor2,OUTPUT); pinMode(rightMotor1,OUTPUT); pinMode(rightMotor2,OUTPUT);
}
void loop()
{
//put your maincode here,to run repeatedly:int i;for(i=0;i<5;i++)
//依次执行前进,后退,左转,右转,暂停这5种运动状态
{
motorRun(i);
delay(3000);
//每个指令执行3s
}
}
//运动状态的控制函数如下
void motorRun(int i)
{
switch(i)
{
case FORWARD:
digitalWrite(leftMotor1,LOW);
//定义电机的输入引脚高低电平,可以更改此处来测试小车的运转 digitalWrite(leftMotor2,HIGH); digitalWrite(rightMotor1,LOW); digitalWrite(rightMotor2,HIGH); break;
case BACKWARD: digitalWrite(leftMotor1,HIGH); digitalWrite(leftMotor2,LOW); digitalWrite(rightMotor1,HIGH); digitalWrite(rightMotor2,LOW); break; case TURNLEFT: digitalWrite(leftMotor1,HIGH); digitalWrite(leftMotor2,LOW); digitalWrite(rightMotor1,LOW); digitalWrite(rightMotor2,HIGH); break; case TURNRIGHT: digitalWrite(leftMotor1,LOW); digitalWrite(leftMotor2,HIGH); digitalWrite(rightMotor1,HIGH); digitalWrite(rightMotor2,LOW); break; default: digitalWrite(leftMotor1,LOW); digitalWrite(leftMotor2,LOW); digitalWrite(rightMotor1,LOW); digitalWrite(rightMotor2,LOW); break;
}
}
代码亲测有效,不知道能不能实现上面的功能,感谢大家指点,你的鼓励也支持,是我不断更新创作的动力

标签:前后左右,rightMotor1,rightMotor2,Arduino,小车,leftMotor1,HIGH,LOW,digitalWrite
来源: https://blog.csdn.net/qq_63524713/article/details/122502197

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有