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 ...
随机推荐
- Django坑_02
在创建订单的时候会创建一个对应的日期 查询数据库表的时候,查询年的话可以正常实现 但是如果单独查询某一个月的话,可能会出错 在 Django 中月份可能会使用 Django 中定义的时区 将 项目 s ...
- C/C++编程笔记:C++入门知识丨运算符重载
本篇要学习的内容和知识结构概览 运算符重载使用场景 常规赋值操作 我们现在有一个类 想要实现这种赋值操作 具体实现如下: 所以说呢,我们在使用运算符进行运算的时候, 实际上也是通过函数来实现运算的. ...
- react-router分析 - 一、history
react-router基于history库,它是一个管理js应用session会话历史的js库.它将不同环境(浏览器,node等)的变量统一成了一个简易的API来管理历史堆栈.导航.确认跳转.以及s ...
- python数据可视化编程实战PDF高清电子书
点击获取提取码:3l5m 内容简介 <Python数据可视化编程实战>是一本使用Python实现数据可视化编程的实战指南,介绍了如何使用Python最流行的库,通过60余种方法创建美观的数 ...
- MyBatis版本升级导致OffsetDateTime入参解析异常问题复盘
背景 最近有一个数据统计服务需要升级SpringBoot的版本,由1.5.x.RELEASE直接升级到2.3.0.RELEASE,考虑到没有用到SpringBoot的内建SPI,升级过程算是顺利.但是 ...
- 【USACO02FEB】Rebuilding Roads 重建道路 题解(树形DP)
题目链接 题目大意:问使含有$p$个节点的子树分离至少需要去掉几条边. ------------------ 设$f[i][j]$表示以$i$为根的子树保留$j$个节点所去掉的最少边数. 初始化$f[ ...
- 为什么阿里规定需要在事务注解@Transactional中指定rollbackFor?
作者:Mint6 来源:http://39sd.cn/53D5D Java阿里巴巴规范提示:方法[edit]需要在Transactional注解指定rollbackFor或者在方法中显示的rollba ...
- python7.1处理异常
a=[21,32,43,0,32,"a"]for i in a:#取出元素 try:#写可能会报错的代码 print(3/i) except Exception as e:#捕获t ...
- PHP 之 Composer 新手入门指南
自2012年3月1日发布以来,Composer因提供了PHP迫切需要的东西:依赖项管理而广受欢迎.实际上,Composer是将所有第三方软件(例如CSS框架,jQuery插件等)引入你的项目的一种方法 ...
- FreeAnchor 国科大