查看: 113865|回复: 289

No.6 智能壁障小车(控制端更新至V2.14。小车程序同时更新)

  [复制链接]
  • TA的每日心情
    无聊
    2018-10-5 20:27
  • 签到天数: 30 天

    [LV.5]常住居民I

    发表于 2013-7-3 15:20 | 显示全部楼层 |阅读模式
    本帖最后由 hzpyj 于 2017-4-7 08:46 编辑

    2017-03-31
    开贴至今,依旧人流不至(不是那人流哦),大家的热情我已经感觉到了。
    不过那时候还是位默默无闻的 工程师,现在升级了。自然失去了先决的条件(没那么多的空余时间来玩项目了)。
    后期的项目都慢慢的搁置了。如果是涉及单位需要的,还是可以假公济私下。
    大家需要的项目文件原代码存在 百度云 http://pan.baidu.com/s/1dFsU6L7

    建议新手想完全的照搬项目,还是老老实实看完全部的帖子哦。里面是逐渐的升级过程,各代码适宜各阶段过程,除非你想一步到位。

    Arduino模块DIY智能壁障车

    一、项目起源
    可以说一直以来,就想倒腾台小车玩玩,当然不是小孩玩的玩具车,也不是机动车,只是为实施DIY过程,来做台智能车。
    现在外面普遍使用飞思卡尔的硬件来完成智能车,且可以参加比赛。但这对我来说还是难度大了点,一来我不是编程高手,二来支持飞思卡尔硬件需要配置的外围硬件基础也不便宜。
    某日,突然发现Arduino很合适进行DIY(以前都用51,AVR还没怎么学好),积木式构架、模块化设计,硬件太适合了。
    Arduino 的编程代码、编写方式也较简单,有点C基础就能很快上手,合适我使用。
    在没接触Arduino前,实际对Arduino有多方便,有多大的自主性还是有点怀疑的。
    自从物品购买的第一块Arduino控制器并使用后,已经对Arduino的便捷性有很高的认识,甚至已经把它推广到了我的工作中:用它来制作生产需要的测试工装。
    最终,就定下来在Arduino的基础上进行DIY我的梦想智能车。

    二、项目策划
    梦想前期,DIY的小车是有壁障功能。
    因此,前期准备了如下配件:
    1、  小车底盘
    小车底盘采用4驱电机(带码盘),双层结构
      
    1.png
      
    2、  SR04超声波模块
      
    2.png
      

    3、  Freaduino UNO R3
      
    3.png
      
    电机驱动原本想使用公司设计的电机驱动板。因参与OpenJumper产品的说明书编写工作,得到了L298驱动板及传感器扩展板各1块(还有其他的模块,直接导致DIY工程慢慢扩展开来),实际让我先撇开了自制驱动环节,可以马上进行相关的DIY制作。
      
    4.png
      
      
    三、项目实施
    1、  修改完成底盘驱动(程序)。
    2、  修改完成超声波测量(程序)。
    3、  修改完成超声波测量值筛选(程序)。
    4、  组装超声波至小车底盘,因为没有合适的方式安装超声波模块,暂时用3M双面胶将模块黏贴在底盘正前方位置上。
    在此阶段,经过运行测试,发现需要考虑到前方140°范围内的障碍物,需增加用于调整超声波模块测量位置的舵机。
    5、  修改完成舵机驱动(程序)。
    6、  修改完成安装舵机至小车底盘的设计、舵机与超声波模块间的连接。
    因为不想对小车底盘进行相应的打孔处理,基本设想是采用底盘现有的孔位进行相应的安装。碰到的难题还是超声波模块与舵机间的连接安装。想了很多办法都不合适,最终是找了片合适的铝合金片(中间有沉孔),与舵机紧固后,再将超声波模块用3M双面胶黏贴在铝合金片上。
      
    5.png
      
    7、  修改完成超声波的多角度测量及数据筛选。
    8、  修改完成多角度测量后的逻辑判断处理。
    在此阶段,经过运行测试,发现低于小车底盘的障碍物无法判断,运行过程导致经常卡住底盘,需增加针对低障碍物的识别。
    9、  通过前阶段的运行测试,针对小车的DIY,已经有了新的扩展。
    1)  增加红外测距模块:完成低障碍物的识别。(完成
      
    6.png
      
    2)  增加蓝牙模块:完成手机控制功能。(完成
      
    7.png
      

    3)  增加边侧距离识别:自动调整小车左右两侧与障碍物之间的距离,避免刮擦。

    4)  制作手板遥控器:通过无线、蓝牙等通讯方式,手动遥控。(未完成
      
    8.jpg
      

    5)  制作用于安卓手机的控制端:可重力感应控制、手动方向控制等。(于7.22日完成版本升级
    10、 完成红外壁障模块的安装及程序设计。(完成
    上个视频,这基本就是以上完成项目的阶段总结了。
      
      
    说明:因为阳台采用瓷砖铺就,然红外壁障模块似乎对瓷砖有点敏感,与实际设置的障碍物距离有点远,但基本与程序设计无关了。
      注意下,小车在接近贴壁行驶时,已经逐步自动的调整自身与墙壁的距离了。

    窄通道运行1--倒车掉头

    窄通道运行2--两侧距离不足,直接倒车


    以下为最新版本代码,期间的代码均不再提供。
    19楼:对应儿子提出的需求,做了个APK20楼:根据自己设想的进行设计的APK,持续更新中。最新版本为V2.14
    26楼 :连接示意图  http://www.arduino.cn/thread-3445-3-1.html
    73楼:小车最新原代码  http://www.arduino.cn/thread-3445-8-1.html
       Android控制端APK下载
    SublimeText 2 arduino插件   https://github.com/Robot-Will/Stino     内部有设置说明,看的懂英文的话

    2013.8.29  安卓端增加手动速度调节滑块,方便用户自行调整小车行驶速度安卓端已经完成  http://pan.baidu.com/share/link?shareid=2492235982&uk=1208658679  尝鲜的可以先下载,新增功能暂时未与小车端衔接

    同时需更改小车代码。(已完成,未测试,待发布)
    因小车代码更新,安卓端也需同时再进行更新。2013.8.31  22:44
    小车代码已经调整更新。

    但因为本人手机无法正常运行更新的安卓端软件(应该是本人的手机问题,其他手机正常),无法进行相应的测试。
    只能在其他人员测试后再发布了。

    2013.9.1  16:10   更新小车代码及安卓端。转77楼下载  已通过串口模拟调试。

    210113g88k6kosro9dw5i5.gif




    打赏作者鼓励一下!

    1人打赏

  • TA的每日心情
    无聊
    2018-10-5 20:27
  • 签到天数: 30 天

    [LV.5]常住居民I

     楼主| 发表于 2013-8-10 19:45 | 显示全部楼层
    xuexj 发表于 2013-8-10 16:46
    不是驱动的问题,扩展板拿掉就可以下载程序

    你忘记蓝牙了吧,需把蓝牙拔下来。蓝牙占着TX、RX呢。
    打赏作者鼓励一下!

    1人打赏

    该用户从未签到

    发表于 2014-5-30 10:22 来自手机 | 显示全部楼层
    你使用的电机额定电压在5V以下,所以可以不用接两个电源,对吧?
  • TA的每日心情
    无聊
    2018-10-5 20:27
  • 签到天数: 30 天

    [LV.5]常住居民I

     楼主| 发表于 2013-7-4 11:28 | 显示全部楼层
    小车全貌
    Snap1.jpg
    小车前脸
    DSC_0046.JPG
    小车侧脸(这支架是3D打印机打印出来的哦!!)
    DSC_0047.JPG
    小车主控(线没理,有点乱)
    DSC_0051.JPG
    小车舵机安装位置
    DSC_0049.JPG
    打赏作者鼓励一下!
  • TA的每日心情
    无聊
    2018-10-5 20:27
  • 签到天数: 30 天

    [LV.5]常住居民I

     楼主| 发表于 2013-7-4 10:04 | 显示全部楼层
    本帖最后由 hzpyj 于 2013-7-4 11:30 编辑
    啷哩个铛 发表于 2013-7-3 23:58
    赞一个,楼主能提供源码不,学习下

    源码贴出来了,可以在OpenJumper的硬件基础上直接进行仿照完成DIY过程。
    里面没有全部注释完全。已含串口通讯,安装蓝牙即可指令控制。
    car2.rar (3.88 KB, 下载次数: 1453)

    点评

    很厉害 很强大 加油 楼主 希望你能加我的QQ 有好多东西想向你请教下,谢谢了。我的QQ号是:514710988  发表于 2015-11-3 16:04
    打赏作者鼓励一下!

    该用户从未签到

    发表于 2013-8-29 11:26 | 显示全部楼层
    抢先支持一下

    该用户从未签到

    发表于 2013-7-3 20:21 | 显示全部楼层
    帅气。

    该用户从未签到

    发表于 2013-7-3 20:30 | 显示全部楼层
    LZ真心强大~

    该用户从未签到

    发表于 2013-7-3 23:58 | 显示全部楼层
    赞一个,楼主能提供源码不,学习下

    该用户从未签到

    发表于 2013-7-5 12:19 | 显示全部楼层
    顶贴,不错不错~~~
    打赏作者鼓励一下!

    该用户从未签到

    发表于 2013-7-8 16:06 | 显示全部楼层
    佩服死我了,羡慕嫉妒恨
  • TA的每日心情
    无聊
    2018-10-5 20:27
  • 签到天数: 30 天

    [LV.5]常住居民I

     楼主| 发表于 2013-7-9 09:40 | 显示全部楼层
    本帖最后由 hzpyj 于 2013-8-1 09:25 编辑

    这两日,总算通过学习App Inventor,完成了想象中的小车安卓手机控制端。
    因为暂时只为达到设计上的控制需要,界面、按钮可能还不是很搭配及完善,高手勿喷。

    App Inventor也是为了本小车刚刚开始学,很多地方都不懂。初学者用来它设计简单的软件还是能很快上手的。
    Snap2.jpg

    Snap3.jpg

    当然,在设计过程中也走了些弯路:原本设计为重力/手动为分屏模式 。
    实际效果是应用很差。

    于前日才开始将重力/手动全放在一屏上。
    经过测试。效果不错哦!。


    小车蓝牙控制端V2.0

    初始界面(蓝牙列表已选)
    豌豆荚截图20130709112135.png
    初始进入重力模式。

    豌豆荚截图20130709112231.png
    连接小车蓝牙后,即可通过摆动手机进行控制。中下部的双环圆为“停止”钮。重力/手动模式下均可用。
    长按“进入手动控制”,方向钮均显示并激活,重力控制自动失效。
    豌豆荚截图20130709112257.png
    点击“返回重力控制”,激活重力控制,手动控制自动失效。
    豌豆荚截图20130709112322.png
    点按“已连接”,可断开蓝牙连接。继续以上步骤可继续连接控制。
    豌豆荚截图20130709112348.png
    控制端APK下载
    2013.7.9 更新V2.05( 取消分享)
      已更新至V2.11












    打赏作者鼓励一下!
  • TA的每日心情
    无聊
    2018-10-5 20:27
  • 签到天数: 30 天

    [LV.5]常住居民I

     楼主| 发表于 2013-7-10 13:48 | 显示全部楼层
    本帖最后由 hzpyj 于 2013-7-23 14:04 编辑

    儿子对小车提出了新的要求:
    1、做跟屁虫:他在前面走,小车能跟着他行驶
    2、手机端采用单手指拖动小球控方向,拖哪方向往哪方向(完成

    难度有点的,尽力吧。

    手板遥控器因为硬件不齐,暂时停滞。
    STM32F103CBT6、TP4057

    点评

    我也需要跟踪功能,顶  发表于 2013-7-11 15:59
    打赏作者鼓励一下!
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    动手用blinker做台灯
    动手用blinker做台灯
    分享一个使用blinker做的台灯,使用的是esp8266,可以使用天猫精灵进行控制(亮度、开
    户外穿戴定位手表制作
    户外穿戴定位手表制作
    户外穿戴定位手表制作 五一刚过;最近还是
    Arduino烧入失败显示avrdude: stk500_getsync() attempt 1 of 10: not in sy...
    Arduino烧入失败显示avrdu
    我的arduino烧录的时候烧录失败显示下面这些东西
    Arduino MEGA 与UNO 通过nRF24L模块通讯
    Arduino MEGA 与UNO 通过n
    之前在深水宝很“实惠”的店铺买了一些原件,随手砍了esp8266以及nRF24L*3 因为缺
    开贴讲讲NRF24L01P,让你彻底搞懂它的工作原理,持续更...
    开贴讲讲NRF24L01P,让你
    *****************************************
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表