arduino智能循迹小车代码(三个循迹模块)
#include <Servo.h>
int leftMotor1 = 3;
int leftMotor2 = 5;
int rightMotor1 = 6;
int rightMotor2 = 11;
int sum=0;
void setup() {
Serial.begin(9600);
pinMode(leftMotor1, OUTPUT);
pinMode(leftMotor2, OUTPUT);
pinMode(rightMotor1, OUTPUT);
pinMode(rightMotor2, OUTPUT);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
}
void loop() {
tracing();
}
void tracing()
{
int data[4];
data[0]=analogRead(A0);
data[1]=analogRead(A1);
data[2]=analogRead(A2);
if(data[0]<210&&data[1]>500&&data[2]<210)//向前走
{
analogWrite(3,100);
analogWrite(5,0);
analogWrite(6,100);
analogWrite(11,0);
}
if(data[0]>500 &&data[1]<210 && data[2]<210) // 小车偏左
{
analogWrite(3,0);
analogWrite(5,0);
analogWrite(6,120);
analogWrite(11,0);
}
if(data[0]>500&&data[1]>500&&data[2]<210) //小车偏大左
{
analogWrite(3,0);
analogWrite(5,120);
analogWrite(6,120);
analogWrite(11,0);
}
if(data[0]<210&&(data[1]-30)<210&&data[2]>500) //小车偏右
{
analogWrite(3,120);
analogWrite(5,0);
analogWrite(6,0);
analogWrite(11,0);
}
if(data[0]<210&&data[1]>500&&data[2]>500) //小车偏大右
{
analogWrite(3,120);
analogWrite(5,0);
analogWrite(6,0);
analogWrite(11,120);
}
if(data[0]>500&&data[1]>500&&data[2]>500) //左右都检测到黑线是停止
{
analogWrite(3,0);
analogWrite(5,0);
analogWrite(6,0);
analogWrite(11,0);
}
Serial.print(data[0]);
Serial.print("---");
Serial.print(data[1]-30);
Serial.print("---");
Serial.print(data[2]);
Serial.print("---");
Serial.println(data[3]);
}
arduino智能循迹小车代码(三个循迹模块)的更多相关文章
- Arduino智能小车制作报告
Arduino智能小车制作报告 制作成员:20135224陈实 20135208贺邦 20135207王国伊 前提: Arduino,是一个开源的单板机控制器,采用了基于开放源代码的软硬件平台,构 ...
- 20135223/20135234/20135229小组——亚博 Arduino智能小车实践报告
实验名称:Arduino智能小车组装和综合测试 实验小组成员:20135223何伟钦 20135234马启扬 20135229吕松鸿 实验日期:2015.10.27—2015.11.3 实验时长:24 ...
- Arduino智能小车实践学习报告
Arduino智能小车实践学习报告 参与人员: 20135316 王剑桥 20135312 吴汉彦 20135319 朱锂 一. 背景了解: 单片机:将中央处理单元CPU(进行运算.控制).随机存储器 ...
- 亚博 Arduino智能小车实验报告
亚博 Arduino智能小车实践报告 一. 程序安装准备 首先安装了Arduino板载USB转串口CH340驱动安装包, 若上述程序安装成功,则可以在我的电脑中找到相应的端口 本机端口号为CO ...
- MicroPython教程之TPYBoard开发板DIY红外寻迹小车
智能小车现在差不多是电子竞赛或者DIY中的主流了,寻迹,壁障,遥控什么的,相信大家也都见得很多了,这次就大家探讨一下寻迹小车的制作方法,不同于以往的是这次的程序不用C语言写,而是要使用python语言 ...
- 用CS-Script把Notepad++变身支持智能提示和运行代码的C#集成开发环境
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:用CS-Script把Notepad++变身支持智能提示和运行代码的C#集成开发环境.
- 分享非常有用的Java程序 (关键代码) (三)---创建ZIP和JAR文件
原文:分享非常有用的Java程序 (关键代码) (三)---创建ZIP和JAR文件 import java.util.zip.*; import java.io.*; public class Zip ...
- 孟老板 ListAdapter封装, 告别Adapter代码 (三)
BaseAdapter系列 ListAdapter封装, 告别Adapter代码 (一) ListAdapter封装, 告别Adapter代码 (二) ListAdapter封装, 告别Adapter ...
- STC8H开发(六): SPI驱动ADXL345三轴加速度检测模块
目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...
随机推荐
- functools 中的 reduce 函数基本写法
reduce 返回的往往是一整个可迭代对象的 操作结果 reduce(函数,可迭代对象) 注:lambda x,y 两个参数 2020-05-04
- 11-14序列化模块之json、pickle、shelve
序列化的目的 1.以某种存储形式使自定义对象持久化: 2.将对象从一个地方传递到另一个地方. 3.使程序更具维护性. 序列化--转向一个字符串数据类型序列--及时字符串 何处用到: 数据存储 网络上传 ...
- PHP array_unshift() 函数
实例 插入元素 "blue" 到数组中: <?php$a=array("a"=>"red","b"=> ...
- luogu P5892 [IOI2014]holiday 假期 决策单调性优化dp 主席树
LINK:holiday 考虑第一个subtask. 容易想到n^2暴力枚举之后再暴力计算答案. 第二个subtask 暴力枚举终点可以利用主席树快速统计答案. 第三个subtask 暴力枚举两端利用 ...
- 5.15 牛客挑战赛40 E 小V和gcd树 树链剖分 主席树 树状数组 根号分治
LINK:小V和gcd树 时限是8s 所以当时好多nq的暴力都能跑过. 考虑每次询问暴力 跳父亲 这样是nq的 4e8左右 随便过. 不过每次跳到某个点的时候需要得到边权 如果直接暴力gcd的话 nq ...
- luogu P4321 随机漫游 期望dp 二进制 高斯消元
LINK:随机漫游 非常妙的一道题. 容易想到倒推期望. 设状态 f[i][j]表示到达第i个点 此时已经到达的集合为j能走到全集的期望边数. 只要求出来这个就能O(1)回答询问. \(f[i][j] ...
- React Hook~部分实用钩子
useCompareEffect /** * useCompareEffect * useEffect只是普通的浅比较,这里做了深比较 * useEffect的依赖是否相同,相同不触发 */ impo ...
- linux之DNS主域,从域,缓存服务器的架设
DNS主域,从域,缓存服务器的架设 DNS域名系统 组织域 顶级域 域名解析过程迭代递归 DNS(Domain Name System ) 在Internet中使用IP地址来确定计算机的地址. 为了 ...
- 郭超:阿里云Cassandra背后的故事
大家好,我是阿里云数据库产品事业部的玄陵,真名郭超. 本次的分享大概分三个部分:Cassandra云数据库简介.Cassandra云数据库特性以及Q&A. 我们先了解一下Cassand ...
- 3、Template Method 模板方法 行为型设计模式
1.了解模板方法 1.1 模式定义 定义一个操作算法中的框架,而将这些步骤延迟加载到子类中. 它的本质就是固定算法框架. 1.2 解决何种问题 让父类控制子类方法的调用顺序 模板方法模式使得子类可以不 ...