Arduino开发版学习计划--小车的行走
2024-08-24 19:22:47
小车的前进后退,左右转弯
代码如下
void motor(char pin,char pwmpin,char state,int val)
{
pinMode(pin, OUTPUT); if(state==)
{
analogWrite(pwmpin,val);
digitalWrite(pin,);
}
else if(state==)
{
analogWrite(pwmpin,val);
digitalWrite(pin,);
}
else if(state==)
{
analogWrite(pwmpin,);
digitalWrite(pin,);
}
} void runfoward(int i) //前进
{
motor(,,,i);
motor(,,,i);
}
void runback(int j) //后退
{
motor(,,,j);
motor(,,,j);
}
void turnL(int m) //左转
{
motor(,,,m);
motor(,,,m);
}
void turnR(int n) //右转
{
motor(,,,n);
motor(,,,n);
}
void stop() //停止
{
motor(,,,);
motor(,,,);
}
void setup()
{
Serial.begin();
}
void loop()
{
char num1,num2,num3,num4,num5,num6,num7;
num1=digitalRead();
num2=digitalRead();
num3=digitalRead();
num4=digitalRead();
num5=digitalRead();
num6=digitalRead();
num7=digitalRead();
// 用num1-7保存从左到右7个传感器的状态
if(num1==) //第一个传感器检测到黑线用200的速度左转
{
turnL();
delayMicroseconds();
}
else if(num2==) //第二个传感器检测到黑线用150的速度左转
{
turnL();
delayMicroseconds();
}
else if(num3==) //第三个传感器检测到黑线用150的速度左转
{
turnL();
delayMicroseconds();
} else if(num5==) //第五个传感器检测到黑线用150的速度右转
{
turnR();
delayMicroseconds();
}
else if(num6==) //第六个传感器检测到黑线用200的速度右转
{
turnR();
delayMicroseconds();
}
else if(num7==) //第七个传感器检测到黑线用250的速度右转
{
turnR();
delayMicroseconds();
}
else //其他状态小车直走
{
runfoward();
delay();
}
}
3398.27-2754.14=644.13
最新文章
- 【Learning Python】【第四章】Python代码结构(一)
- linux获取本机ip
- Rational.Rose.Enterprise.v7.0 (2007)安装分享
- [BZOJ1101][POI2007]Zap
- D&;F学数据结构系列——B树(B-树和B+树)介绍
- CSS Flex
- SVN参考命令
- dojo处理删除操作报错
- ios jenkins从0快速配置
- struts2框架之国际化(参考第二天学习笔记)
- js判断IE浏览器及版本
- 表单中Readonly和Disabled的区别:readonly在get和post可传值到后端,disabled不可
- 解题(StringTongPei--字符串匹配(动态规划))
- SQLServer2008开启远程连接
- 使用BeyondCompare比较文件夹下的文件时,相同的文件内容,但显示为不相同
- Ubuntu14.04安装redis-server
- github上传的项目代码语言类型修改
- Java高并发之线程基本操作
- HTTP协议断点续传
- python_103_属性方法例子