Arduino智能小车设计(一)「建议收藏」

Arduino智能小车设计(一)「建议收藏」这一个月来距离实验室纳新后,已经过去一个月左右了。听取了学长的建议,这段时间也一直在搞Arduino这个软件,还算不错的认识了这个开源软件。(自我认为。。)但是现在的依旧是一个小萌新,不说在软件代码的掌握程度,现在连有些最基本的硬件的名字也都叫不上来几个。。。不过还好,自己也不是单打独斗,通过和同组成员的讨论也还算是一点一点进步吧。最幸运的是,每次我遇到不会的东西,他们都可以帮我解答。从今天…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

可接课程设计!!!有需要私聊博主!

这一个月来

距离实验室纳新后,已经过去一个月左右了。听取了学长的建议,这段时间也一直在搞Arduino这个软件,还算不错的认识了这个开源软件。(自我认为。。) 但是现在的依旧是一个小萌新,不说在软件代码的掌握程度,现在连有些最基本的硬件的名字也都叫不上来几个。。。不过还好,自己也不是单打独斗,通过和同组成员的讨论也还算是一点一点进步吧。最幸运的是,每次我遇到不会的东西,他们都可以帮我解答。

从今天开始,就要正式做起Arduino智能小车。因为之前写的博客比较糙,连自己翻的勇气都没有,所以我现在这立个Flag,要认认真真的完成每一篇博客和这次的项目,希望三个周后能对的起自己的这些话。

今天起,正式起步。

自我要求:各功能的介绍,画出小车实现各功能的模块图,所需部件及其介绍和使用方法(我当时就因为一些零件的使用方法而头痛过。。。),各功能的代码。每次博客记录下自己所遇到的问题和解决方案。

智能小车的功能介绍:

1、 走直线
2、 寻线(S线)
3、 避障碍
4、 蓝牙控制

各功能流程图:

学长要求每个功能设计画出流程图,以前学C的时候也没有好好听老师讲,头大。要求提出的时候,咱也不敢说,咱也不敢问,只好硬着头皮做了(当然也会借鉴一下网上的,但我尽量细化,把一些重点单独在流程图标出来,也算以示不同,也可以用作强调,所以流程图我会在小车的设计中,不断加以修改,真正在显示在博客上的,应该就是最终的流程图)。

1.避障碍功能流程图

Created with Raphaël 2.2.0 系统初始化 直线走 前方是否有障碍物 左侧是否有障碍物 右侧是否有障碍物 掉头 右转 左转 yes no yes no yes no

2.寻线功能流程图

Created with Raphaël 2.2.0 系统初始化 直线走 传感器是否检测到黑线 左侧是否压线 左偏 右偏 yes no yes no

3.蓝牙控制功能流程图

Created with Raphaël 2.2.0 系统初始化 蓝牙配对 配对是否成功 给出指令 指令是否有效 控制小车运动 yes no yes no
我的想法(这全是我的个人观点,大家看看就好,不要作为重要的参考,因为我也不确定是不是正确的。列出来,是希望可以和大家一起交流,以及获得大家更好的建议):

1.在设置避障碍流程图时想到,是否可以实现在小车行走过程中,进行避障碍转弯(即检测到前方有障碍物而左右方无障碍物时,不停止,直接进行转弯)。仔细想了想,智能小车避障碍硬件主要使用的是HC-SR04 超声波测距模块,查取资料HC-SR04 超声波测距模块的侦测角度不超过15.6°(不太明白为什么会有最大侦测角度。。),侦测距离在2cm-450cm内,而我每次检测的距离为50cm,这个距离很小,导致侦查的距离就很小(勾股定理吧),不太现实。况且如果真的要这样做,那么应该要过滤这部分超声波,即分成直线,左侧边,右侧边,算法可能会很复杂吧。。
2.询问了学长寻线功能的原理(具体在后续的博客说),有两个方法可以实现,用两个或者三个红外传感器实现。如果用两种红外传感器的话,小车就会扭来扭去(柯基臀),速度可能也会慢吧。如果用三种,用第三个红外传感器专门检测黑线,这样可以有效的减少小车的扭曲程度,比较美观。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180833.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 缺陷报告编写规范[通俗易懂]

    缺陷报告编写规范[通俗易懂]引言 软件缺陷定义  软件缺陷(Defect):又叫做Bug。即为计算机软件、程序、web应用中存在的某种不符合正常运行的功能问题。也是错误、隐藏,让用户不满意的功能缺陷。从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。 缺陷报告定义  缺陷报告把测试的过程和结果写成文档,并对发现的问题和缺陷进行分析,为…

    2022年9月18日
    2
  • 每天学一点 — CCriticalSection临界区

    每天学一点 — CCriticalSection临界区(转)类CCriticalSection的对象表示一个“临界区”,它是一个用于同步的对象,同一时刻只允许一个线程存取资源或代码区。临界区在控制一次只有一个线程修改数据或其它的控制资源时非常有用。例如,在链表中增加一个结点就只允许一次一个线程进行。通过使用CCriticalSection对象来控制链表,就可以达到这个目的。它就像是一把钥匙,哪个线程获得了它就获得了运行线程的权力,而把其他线程统统阻塞

    2022年7月20日
    13
  • 列式数据库概述_列式数据库多张表

    列式数据库概述_列式数据库多张表阐述列式数据库的基本定义,现状,以及一些开源数据库的性能比较。

    2025年5月23日
    5
  • 安排工作任务五步法[通俗易懂]

    安排工作任务五步法[通俗易懂]安排工作五步法第一回,讲清楚具体事项;验收标准,工作内容是什么,方法第二回,让员工原封不动地复述事项;让执行者重复一遍要求做的这项工作内容,一定要让他说清楚,有点含糊都要马上纠正第三回,和员工讨论该事项的目的;重要性、影响面第四回,交流并作出该事项的预案;假如在工作中遇到某某情况,问他会如何处理第五回,让员工围绕该事项阐明自身观点。让执行工作的人试试,如果是主导这项工作,他会如何来安排处理。看看他的逻辑,在结合自己,是否有值得改善的地方。也可以…

    2025年7月7日
    4
  • mac是基于什么内核的操作系统_mac编译android源码

    mac是基于什么内核的操作系统_mac编译android源码MAC内核编程指南-同步原语

    2022年10月8日
    2
  • Pycharm远程开发_pycharm远程linux开发

    Pycharm远程开发_pycharm远程linux开发需要使用远程的linux服务器,但是因为pycharm很方便、希望在自己电脑上开发。这里直接使用pycharm进行远程开发。1.配置连接配置连接可以点击test_connection进行测试2.映射文件夹为了上传本地文件到服务器,以及把服务器下载到本地,需要分别设置这两个文件夹的路径3.设置编译器连接好了服务器,设置好了文件映射关系,接下来就是要使用远端的服务器了。设置成服务器端的解释器跟路径就行。(路径好像是根据之前的设置生成的)4.使用写一个简单的代码,run一下其实

    2022年8月25日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号