小车的前进后退,左右转弯

代码如下

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开发版学习计划--小车的行走的更多相关文章

  1. Arduino开发版学习计划

    制定学习开发版的计划,今天先大体过一下整个教程. http://www.bilibili.com/video/av6105302/ 视频中说可以自己制造亦可卫星放上天. Arduino使用C/C++编 ...

  2. Arduino开发版学习计划--蓝牙控制小车行走

    蓝牙模块一共6个引脚,我们一般只需要接4个线就可以了,分别是VCC.GND.TXD.RXD这四个引脚,我们分别接到arduino板子上,VCC接3.3V,GND接板子的GND,蓝牙TXD接板子的RXD ...

  3. Arduino开发版学习计划--直流电机

    代码来源:http://www.cnblogs.com/starsnow/p/4579547.html // --------------------------------------------- ...

  4. Arduino开发版学习计划--蜂鸣器

    文章内容参考:http://www.cnblogs.com/xiaowuyi/p/3343757.html 遇到不懂的方法,可以查看Arduino自带的API 就直接点击arduino的IDE里面菜单 ...

  5. 基于Arduino开发的智能蓝牙小车

    基于Arduino的智能蓝牙小车 材料准备: Arduino开发板一块.四驱小车底板及相关配件一套.L298N驱动模块一个.HC-05/06蓝牙模块一块,九伏电源一块(用于主板供电).12V锂电池一块 ...

  6. 酒旗少年狂暖风,至0基本的前端开发project教师们学习计划

    酒旗风暖少年狂,为0基础前端开发project师做学习计划 夜幕降暂时.走到一张废弃已久的书桌前,打开台灯,看到书桌上已经布满灰尘,而桌上的那盆羸弱的文竹已经枝繁叶茂.我擦干净了桌面,坐了下来,把买回 ...

  7. Sql Server 2008开发版(Developer Edition)过期升级企业版(Enterprise Edition)失败后安装学习版(Express Edition)

    最近一个多月,甚是悠哉,无事可做.上线的网站系统也没接到客户的反馈,反而觉得无聊之极了.上周五早上,一上QQ,就收到客户发来消息,管理平台无法登陆了.心里一惊,立马开始查找故障原因.翻看了系统日志,提 ...

  8. ESP8266开发之旅 基础篇② 如何安装ESP8266的Arduino开发环境

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  9. Android开发该学习哪些东西?

    开篇: 本人也是众多Android开发道路上行走的一员,听了不少大神的知乎live,自己也看了不少书,也和不少前辈交流过,所以在这里分享一下Android开发应该学习的书籍以及知识,当然,也包括一些方 ...

随机推荐

  1. PySpark的DataFrame处理方法

    转:https://blog.csdn.net/weimingyu945/article/details/77981884 感谢! ---------------------------------- ...

  2. 随机用户id号,随机密码用户名

    类似新浪微博的用户Id怎么生成呢? 特点:10位随机数,而且是以1开头的 好处:不容易猜出有多少用户 方法一: 目的是生成唯一id.可以用uniqid.uniqid获取一个字符串,循环这个字符串,把每 ...

  3. (Spring Boot框架)快速入门

    Spring Boot 系列文章推荐 Spring Boot 入门 Spring Boot 属性配置和使用 Spring Boot 集成MyBatis Spring Boot 静态资源处理 今天介绍一 ...

  4. Android学习笔记(八)——显示运行进度对话框

    显示运行进度对话框 我们经常有这种经历:运行某一应用程序时.须要等待一会,这时会显示一个进度(Please Wait)对话框,让用户知道操作正在进行. 我们继续在上一篇中的程序中加入代码~ 1.在上一 ...

  5. [svc]nginx优化25条

    参考:

  6. python-wechatAutoReword

    python-微信自动回复功能,基于itchat 2017.9.6 实现群@自动回复 #! /usr/bin/env python3.5.2 # coding="utf-8" im ...

  7. 关于液晶显示器的6bit面板、8bit面板及E-IPS(转)

    原文:http://bbs.3dmgame.com/thread-2232447-1-1.html              1.什么是6bit面板.8bit面板         众所周知,液晶显示器 ...

  8. js 树菜单 ztree

    http://www.ztree.me/v3/api.php 官网 api js /** <div id="menuContent" class="menuCont ...

  9. Git代码仓库的建立流程

    Git作为现在比较流行的版本管理工具,其配置非常简单.方便. 下面举一个简单例子,说明如何在服务器上建立一个公共的git代码仓库. 1.确保服务器上已经打开ssh服务,可以用ps -e | grep ...

  10. FMC—扩展外部 SDRAM

    本章参考资料:< STM32F4xx 参考手册 2>.< STM32F4xx 规格书>.库帮助文档< stm32f4xx_dsp_stdperiph_lib_um.chm ...