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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CTS测试介绍(面试怎么介绍接口测试)

    CTS测试基本介绍CTS测试全称为系列兼容测试(CompatibilityTestsuite),CTS是为了测试手机是否符合google定义的兼容性规范(CompatibilityDefinition)。从而基于Android的应用程序能在基于同一个api版本的设备上面运行。通过CTS测试的设备可以获得Android的商标,并且享受AndroidMarket的权限。CTS测试是一个基于…

    2022年4月10日
    62
  • 允许跨域访问_vue浏览器清空跳转记录

    允许跨域访问_vue浏览器清空跳转记录from http://www.cnblogs.com/fengyuqing/p/javascript_xmlhttp.html在非IE下,使用XMLHttpRequest不能跨域访问,除非要访问的网页设置为允许跨域访问。将网页设置为允许跨域访问的方法如下: JavaResponse.AddHeader(“Access-Control

    2022年10月1日
    0
  • PLSQL下载、安装、配置、连接详细教程

    PLSQL下载、安装、配置、连接详细教程常用的几个基本sql: select*fromtablewhere范围 插入:insertintotable(field1,field2)values(value1,value2) 删除:deletefromtablewhere范围 更新:updatetablesetfield=valuewhere范围 查找:select*fromtablewh…

    2022年6月16日
    219
  • FPGA和CPLD的区别

    FPGA和CPLD的区别1、FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。2、CPLD(ComplexProgrammableLogicDevice)复杂可编程逻辑器件,

    2022年5月4日
    43
  • 群晖 VMM虚拟机安装windows XP[通俗易懂]

    群晖 VMM虚拟机安装windows XP[通俗易懂]群晖VMM虚拟机安装windowsXP。作为微软历史上最成功的操作系统之一,推出的10余年来,其应用十分广泛,拥有庞大的用户群体。

    2022年8月16日
    2
  • Linux下如何挂载磁盘[通俗易懂]

    Linux下如何挂载磁盘[通俗易懂]使用虚拟机时发现磁盘空间不够了,需要挂载一个磁盘以供继续使用,但是磁盘不是添加就可以使用的,还需要进行挂载。一、添加磁盘添加加新硬盘重启服务器添加完之后就可以重启机器了,如果你机器是开启的,进入系统并不能看见你刚添加的那块磁盘,只有等系统重启,重新加载之后才会显示安装的那块磁盘二、进入系统使用root用户进入系统三、查看硬盘信息[root@localhost~]#fdi

    2022年6月19日
    35

发表回复

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

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