Arduino开发版学习计划--小车的行走
小车的前进后退,左右转弯
代码如下
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
Arduino开发版学习计划--小车的行走的更多相关文章
- Arduino开发版学习计划
制定学习开发版的计划,今天先大体过一下整个教程. http://www.bilibili.com/video/av6105302/ 视频中说可以自己制造亦可卫星放上天. Arduino使用C/C++编 ...
- Arduino开发版学习计划--蓝牙控制小车行走
蓝牙模块一共6个引脚,我们一般只需要接4个线就可以了,分别是VCC.GND.TXD.RXD这四个引脚,我们分别接到arduino板子上,VCC接3.3V,GND接板子的GND,蓝牙TXD接板子的RXD ...
- Arduino开发版学习计划--直流电机
代码来源:http://www.cnblogs.com/starsnow/p/4579547.html // --------------------------------------------- ...
- Arduino开发版学习计划--蜂鸣器
文章内容参考:http://www.cnblogs.com/xiaowuyi/p/3343757.html 遇到不懂的方法,可以查看Arduino自带的API 就直接点击arduino的IDE里面菜单 ...
- 基于Arduino开发的智能蓝牙小车
基于Arduino的智能蓝牙小车 材料准备: Arduino开发板一块.四驱小车底板及相关配件一套.L298N驱动模块一个.HC-05/06蓝牙模块一块,九伏电源一块(用于主板供电).12V锂电池一块 ...
- 酒旗少年狂暖风,至0基本的前端开发project教师们学习计划
酒旗风暖少年狂,为0基础前端开发project师做学习计划 夜幕降暂时.走到一张废弃已久的书桌前,打开台灯,看到书桌上已经布满灰尘,而桌上的那盆羸弱的文竹已经枝繁叶茂.我擦干净了桌面,坐了下来,把买回 ...
- Sql Server 2008开发版(Developer Edition)过期升级企业版(Enterprise Edition)失败后安装学习版(Express Edition)
最近一个多月,甚是悠哉,无事可做.上线的网站系统也没接到客户的反馈,反而觉得无聊之极了.上周五早上,一上QQ,就收到客户发来消息,管理平台无法登陆了.心里一惊,立马开始查找故障原因.翻看了系统日志,提 ...
- ESP8266开发之旅 基础篇② 如何安装ESP8266的Arduino开发环境
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- Android开发该学习哪些东西?
开篇: 本人也是众多Android开发道路上行走的一员,听了不少大神的知乎live,自己也看了不少书,也和不少前辈交流过,所以在这里分享一下Android开发应该学习的书籍以及知识,当然,也包括一些方 ...
随机推荐
- jquery常见插件用法表
一:美化select表单:chosen.jquery.js http://harvesthq.github.io/chosen/ 关于ajax更新列表后需要触发下插件的事件,才会表现出来:(http: ...
- XVAG音频文件格式提取
索尼的一种游戏音频格式,通过vgmstream工具可以提取 工具已经下载好:(包含dll包) http://files.cnblogs.com/files/hont/vgmstream-r1040-t ...
- Altera Quartus II下载中途失败
1.Altera 的quartus II 下载程序时中途失败,有可能是程序写的不对(缺少初始状态,else补全等等) 2.下载程序pof最好也用英文命名,再下载.
- Java 之进制转换
//十进制转十六进制 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scan ...
- nginx日志自动切割
1.日志配置 Nginx 日志分 access.log 记录哪些用户,哪些页面以及用户浏览器,IP等访问信息: error.log 记录服务器错误的日志 配置日志存储路径 location / { a ...
- love2d教程30--文件系统
在游戏里少不了文件操作,在love2d里我们可以直接用lua自带的io函数,如果不熟悉可以先读一下我的lua文件读写. 相对lua,love2d提供了更多的函数, 方便我们操作文件.不过可能处于安全考 ...
- java ssm框架入门(三)正式项目的web.xml配置
一个正规的上线的web.xml的配置. <?xml version="1.0" encoding="UTF-8"?> <web-app id= ...
- Android App性能測试
一.内存 1.查看单个应用App最大内存限制 Command:adb shell "getprop|grep heapgrowthlimit" C:\Users\hujiachun ...
- Unix系统编程()发送信号kill
与shell的kill命令类似,一个进程能够使用kill系统调用向另一进程发送信号. 之所以选择kill作为术语,因为早期UNIX实现中大多数信号的默认行为是终止进程. #include <si ...
- gt811 driver
#include <linux/module.h> #include <linux/i2c.h> #include <linux/platform_device.h> ...