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


相关推荐

  • java8获取以秒单位的时间戳

    java8获取以秒单位的时间戳importjava.sql.Timestamp;//不带小时,分钟publicstaticlonggetTimeStamp(intlen){              //LocalTime.of(0,0)换成LocalTime.now()可获得完整的时间戳(13位毫秒)longtimestamp=Timestamp.valueOf(LocalDateTim…

    2025年9月22日
    7
  • PDF工具_PDF editor

    PDF工具_PDF editor《Linux多线程服务端编程——使用muduoC++网络库》这本书是我自己用LaTeX排版的,在排版过程中也积累了一些小工具,今天把其中几个发布出来。这几个工具都直接基于开源的iText库,可从 http://itextpdf.com/ 下载。下载Groovy版本位于 https://github.com/chenshuo/typeset/tree/master/tools

    2025年8月28日
    6
  • 精进Quartz源码—scheduler.start()启动源码分析(二)「建议收藏」

    scheduler.start()是Quartz的启动方式!下面进行分析,方便自己查看! 我都是分析的jobStore 方式为jdbc的SimpleTrigger!RAM的方式类似分析方式!

    2022年2月25日
    54
  • 惠普电脑指纹锁_利用计算机对指纹进行识别

    惠普电脑指纹锁_利用计算机对指纹进行识别按下电源键,输入密码,咦?密码输错了……再输……咦?又错了!开机密码是啥来着?设置开机密码很普遍(图片引自网络)相信很多朋友都有过上述经历。为了让笔记本更安全,于是设置了一个开机密码。并且为了提高密码的安全性,时常需要过段时间就更新一次,所以经常一着急就给忘了。设置密码虽好,但是它也有两点弊端,一是增加了开机时间,二是存在遗忘和被盗的风险。想想看,你每次开机是不是都要输入一组6位左右的数字或者字母…

    2022年8月10日
    6
  • java中map转json[通俗易懂]

    java中map转json[通俗易懂]在日常的使用中,我们一般会遇到map转json,如果遍历的话会浪费大量的时间,其实我们拥有这样的jar包Themethod ***isundefinedforthetypeJSONObject缺哪个包——json-lib.jar这样还是不行的需要一个依赖的jar包要不然会报错java.lang.ClassNotFoundException:

    2022年6月20日
    56
  • 【爷青回系列】使用VMware虚拟机安装Windows XP系统!最详细!「建议收藏」

    【爷青回系列】使用VMware虚拟机安装Windows XP系统!最详细!「建议收藏」目录前言一、安装VMware虚拟机二、XP系统镜像下载三、创建WindowsXP虚拟机写在最后前言最近,肯德基的“田园脆鸡堡”回归了,摩尔庄园也正式“开园”了,爷青回!!!终于!终于!小时候左手田园脆鸡堡,右手摩尔庄园的幸福时刻终于要重现了。事先说明,这不是广告植入,也不是今天分享的重点。下面就由我向大家隆重介绍【爷青回系列】使用VMware虚拟机安装WindowsXP系统!操作环境:Windows10一、安装VMware虚拟机【官方下载地址】【免注册下载地址】由于官方下

    2022年8月16日
    6

发表回复

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

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