arduino黑线循迹小车程序_基于arduino的循迹小车(含有PID算法)

2023-11-14

循迹小车一般分为两方面:一方面是简单的闭环赛道只有直道和弯道,另一方面是毕设类型的包括一些元素:90度弯道、十字道路、S形弯道等。

本篇博客试根据下图来进行书写的,如果大家有什么新的元素,也可以在下方评论,我进行更新。

4d141245ca4814a5416bd46a9f71809b.png

作者:sumjess

注意本篇博客循迹模块使用了5个

一、简单的闭环赛道

随意画了一个

15e5ae6a33029a39cbf360fe76e87bc9.png

(1)逻辑部分:

   ecb65c85bf2e0ef44af201ba8d04d5ff.png

所以程序的写法也很简单,就是检测到哪种情况对应着哪种反应。这一过程可以用switch也可以用if来实现这一过程。下文用if来演示。

(2)各程序片段

总的循环:

void loop(){
         read_sensor_values();  //获取5个循迹模块的数值情况     calc_pid();            //pid计算出转向的pwm值     motor_control();       //电机转动}

第一部分:检测部分程序片段

void read_sensor_values(){
      sensor[0] = digitalRead(leftA_track_PIN);  sensor[1] = digitalRead(leftB_track_PIN);  sensor[2] = digitalRead(middle_track_PIN);  sensor[3] = digitalRead(righA_track_PIN);  sensor[4] = digitalRead(righB_track_PIN);    if ((sensor[0] == 0) && (sensor[1] == 0) && (sensor[2] == 0) && (sensor[3] == 0) && (sensor[4] == 1)) {
          error = 2;//          0 0 0 0 1    } else if ((sensor[0] == 0) && (sensor[1] == 0) && (sensor[2] == 0) && (sensor[3] == 1) && (sensor[4] == 0)) {
          error = 1;//          0 0 0 1 0    } else if ((sensor[0] == 0) && (sensor[1] == 0) && (sensor[2] == 1) && (sensor[3] == 0) && (sensor[4] == 0)) {
          error = 0;//          0 0 1 0 0    } else if ((sensor[0] == 0) && (s
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

arduino黑线循迹小车程序_基于arduino的循迹小车(含有PID算法) 的相关文章

随机推荐

  • 三剑客

    https blog csdn net liushengxi root article details 72810319
  • 数学建模算法汇总(全网最全,含matlab案例代码)

    数学建模常用的算法分类 全国大学生数学建模竞赛中 常见的算法模型有以下30种 最小二乘法 数值分析方法 图论算法 线性规划 整数规划 动态规划 贪心算法 分支定界法 蒙特卡洛方法 随机游走算法 遗传算法 粒子群算法 神经网络算法 人工智能算
  • Twitter账号优化:吸引更多关注与互动

    创建Twitter账号并进行优化 优化你的 Twitter 个人数据有助于提高企业的可视性并促进与用户的互动 通过与其他社交媒体页面的相互协调 你还可以建立一个专业且一致的品牌形象 创建一个标准的 Twitter 个人数据非常简单 但为了优
  • C——循环结构

    循环结构 1 while循环 2 do while语句 3 for循环 4 break与continue 4 1 break语句 4 2 continue语句 5 嵌套循环 1 while循环 形式 while 条件 语句 执行过程 先判断
  • VSCode中Python环境配置、虚拟环境的创建启动关闭及pip常用命令

    文章目录 工具准备 虚拟环境 pip常用命令 ipykernel库安装 Python迁移项目时有第三方库的做法 pip安装升级相关命令 用pip下载指定版本的包 Python相关包的介绍 1 numpy 参考资料 工具准备 安装 Visua
  • 【python】爬虫实操 完整案例 -- 豆瓣前250电影输出为 .xls文件

    安装包 from bs4 import BeautifulSoup 网页解析 import re 正则表达式 import urllib request urllib error 制定url 获取网页数据 import xlwt 进行exc
  • 微前端运行时

    目录 微前端运行时 基于 SPA 的微前端架构 应用生命周期 微前端运行时 谈到微前端绕不开的话题就是为什么不适用 iframe 作为承载微前端子应用的容器 其实从浏览器原生的方案来说 iframe 不从体验角度上来看几乎是最可靠的微前端方
  • ELK入门

    参考 https www elastic co cn products root server1 6 6 ls apm server 6 6 1 x86 64 rpm kibana 6 6 1 x86 64 rpm auditbeat 6
  • 线程同步(三)

    目录 条件变量 条件变量操作函数函数原型 线程阻塞函数 唤醒阻塞线程 生产者和消费者模型 信号量函数 生产者和消费者模型 总结 条件变量 条件变量是一种线程间同步的机制 用于协调线程之间的操作 当一个线程正在等待某个条件变成真 而另一个线程
  • (struts2学习篇)Struts2资源国际化

    第一步 在Web项目下的src创建国际资源文件 第二步 在struts2 xml布局文件集成资源路径
  • Unity跟随并环绕移动物体

    是一个比较简单的实现办法 方向已经写死了 有需要的自己改吧 思路 在开始游戏时获取和玩家的位置差距的向量 然后再Update中更改位置到指定距离 然后使用RotateRound进行旋转 最后再获取差距向量 形成一个循环 这其中的顺序是很重要
  • ubuntu安装中文输入法

    ubuntu环境 ubuntu20 4 此处安装的是google pinyin输入法 一 安装fcitx googlepinyin 1 安装fcitx googlepinyin sudo apt get install fcitx goog
  • 基于SSM的垃圾分类管理系统源码

    活动地址 毕业季 进击的技术er 博主介绍 在职Java研发工程师 专注于程序设计 源码分享 技术交流 专注于Java技术领域和毕业设计 CSDN官方推荐10W JAVA技术人文章发布打卡社区 项目名称 基于SSM的垃圾分类管理系统源码 视
  • SAE:如何使用phpExcel

    1 把phpExcel的工具类上传到Sae的云服务器 2 然后你要在Storage 上创建一个Bucket 名字你可以自己起 3 上代码 use sinacloud sae Storage as Storage s new SaeStora
  • JavaScript,将rgb颜色字符串转化为16进制

    颜色字符串转换 rgb字符串 gt 16进制 描述 输入 rgb 255 255 255 输出 ffffff 思路 1 rgb中 每个逗号后面空格数不固定 正则表达式中需要考虑匹配空格 2 当输入不符合rgb格式 返回原始输入 3 当输入符
  • apache配置指令速查

    AcceptFilter AcceptFilter 指令 说明 根据协议类型对监听Socket进行优化 语法 AcceptFilter protocol accept filter 作用域 server config 状态 核心 C 模块
  • 全局配置_中兴天机配置公布:智汇屏+全局黑暗模式

    宅男科技12月16日消息 中兴今日正式在其官方社交账号上公布了即将发售的中兴天机Axon 10s Pro 5G的配置参数 并表示新机将于2020年年初正式对外发布 据悉 即将面世的中兴天机Axon 10s Pro 5G将会搭载最新的骁龙86
  • 『Newsletter 丨第二期』PieCloudDB Database 新增控制台、LDAP 支持、虚拟数仓日志等多项功能

    PieCloudDB Database 最新动态 云上云版 控制台 功能上线 PieCloudDB 云上云版 控制台 功能全新上线 控制台集成了组织 数仓 用户 费用 权限等多方位管理功能 支持在一个组织下创建和管理多个数仓 并支持独立的一
  • 【华为OD统一考试B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • arduino黑线循迹小车程序_基于arduino的循迹小车(含有PID算法)

    循迹小车一般分为两方面 一方面是简单的闭环赛道只有直道和弯道 另一方面是毕设类型的包括一些元素 90度弯道 十字道路 S形弯道等 本篇博客试根据下图来进行书写的 如果大家有什么新的元素 也可以在下方评论 我进行更新 作者 sumjess 注