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)
上一篇 2022年10月17日 下午10:36
下一篇 2022年10月17日 下午10:46


相关推荐

  • Escape/Unescape,HTML实体编码,敲击码(Tap code),摩尔斯电码(Morse Code)

    1.Escape/Unescape加密解码/编码解码,又叫%u编码,采用UTF-16BE模式,Escape编码/加密,就是字符对应UTF-1616进制表示方式前面加%u。Unescape解码/解密,就是去掉”%u”后,将16进制字符还原后,由utf-16转码到自己目标字符。如:字符“中”,UTF-16BE是:“6d93”,因此Escape是“%u6d93”。2.敲击码(Tapcode)敲击码(Tapcode)是一种以非常简单的方式对文本信息进行编码的方法。因该编码对信息通过使用一系列的点击声音

    2022年4月4日
    133
  • 微信开放平台实现扫码登录(java)

    微信开放平台实现扫码登录(java)微信第三方登录准备阶段微信官方文档准备工作在进行第三方授权登录之前,需要在微信开放平台注册开发者账号,拿到相应的AppId和AppSecret以及redirect_uri,即可进行授权接入流程授权流程说明整体流程分:1.第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;2.通过code参数加上AppID和AppSecret等,通过API换取access_token;3.通过access_token进行接口调

    2022年4月29日
    232
  • 基于ERNIE Bot SDK的智能文本纠错:技术实现与应用指南

    基于ERNIE Bot SDK的智能文本纠错:技术实现与应用指南

    2026年3月12日
    3
  • linux文件的创建与扫描,Linux系统quotacheck命令:扫描文件系统并建立Quota记录文件…

    linux文件的创建与扫描,Linux系统quotacheck命令:扫描文件系统并建立Quota记录文件…其实,磁盘配额(Quota)就是通过分析整个文件系统中每个用户和群组拥有的文件总数和总容量,再将这些数据记录在文件系统中的最顶层目录中,然后在此记录文件中使用各个用户和群组的配额限制值去规范磁盘使用量的。因此,建立Quota的记录文件是非常有必要的。扫描文件系统(必须含有挂载参数usrquota和grpquota)并建立Quota记录文件,可以使用quotacheck命令。此命令…

    2025年7月24日
    5
  • duststorm和sandstorm_Stormwind

    duststorm和sandstorm_Stormwindvirustracker·2016/03/0310:17www.cylance.com/hubfs/2015_…CylanceSPEAR发现了一起针对日本、韩国、美国、欧洲以及其他几个东南亚国家的威胁行动,在上述国家中,有大量的行业部门都遭到了攻击。0x00多样的权利形式我们研究发现DustStorm最早从2010年开始活动,使用了大量不同的作战技术,包括钓鱼、水坑攻击和0-day漏洞。…

    2022年10月14日
    5
  • 常见sql注入语句和xss注入语句

    常见sql注入语句和xss注入语句1and1 1 或者 1 and 1 1 判断注入的类型 1orderby1 2 3 4 数字类型为例 判断当前表存在多少个属性字段 1 unionselect1 table namefrominfo schema tableswheret schema database 通过占位获取的数据库名去 MySQL 的元数据表 information schema 中查表名 1 unionselect1 c

    2026年3月16日
    1

发表回复

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

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