摘要
该课题主要基于单片机的循迹、避障、WiFi、蓝牙等功能的智能小车,在一些特殊环境下有着特殊的意义。硬件控制以arduino为控制核心。采用超声波避障和红外避障传感器共同完成寻迹、避障功能,并将相关信号传送给单片机,经单片机控制系统分析判断后控制驱动芯片驱动直流电机实现小车前进、后退、左转、右转,停止。软件采用移植性较好的c语言编写,通过手机蓝牙App实现对智能小车的控制。通过TCP/UD协议以及WiFi无线操作系统完成远距离通过终端控制,并将所扫描的信息路线传输给服务器,终端图形界面通过Qt设计实现。通过多次测试使小车能无线遥控、避障、循迹功能。
关键词:智能小车,arduino,循迹,避障,TCP/UDP,WiFi,Qt
引言
在传感器、自动化、智能化的基于计算机科技技术的快速发展趋势下,不仅仅改善了人们的生活方式,也促进了人工智能机器人产业的兴起。
人们一直在探索自然奥秘的过程中,一直向机器能代替人工劳动的社会生活方式努力。智能机器人工劳动不仅大大提高了生产的效率,而且还可以在某些特殊情况下例如:疫情、自然灾害、危险场所等用机器人代替人工。
总体设计
总体上智能小车有自动、遥控两种模式。并可以自动识别处于哪种模式下。使用者可以根据具体的环境以及具体的情况下选择小车的工作模式,
自动模式
智能小车在单片机控制下能自主实现循迹功能。例如:按照白色路面,黑色宽度为2cm的路线行驶,自主判断是否需要拐弯、前方有无陡坡、悬崖等。
遥控模式
小车外部的红外遥控系统通过特定的编解码集成芯片对智能小车失效遥控操作;如果在操作过程中出现路障情况,则小车对遥控信号采取屏蔽措施并发出警报。
模块设计
智能小车由控制模块、避障模块、红外遥控模块、循迹模块、电源模块构成。
控制模块
该设计采用Arduino作为通知芯片。Arduino是一款便捷灵活、方便上手的开源硬件产品,具有丰富的接口,有数字I/O口,模拟I/O口,同时支持SPI、IIC、UART串口通信。能通过各种各样的传感器感知环境,通过控制灯光、马达和其他装置来反馈、影响环境。它没有复杂的单片机底层代码,没有难懂的汇编,只是简单而实用的函数。
上电后,单片机通过是否接收到外部遥控信号,判断小车工作模式。如果是自动运行模式,通过红外传感器检测当前情况,控制驱动模式,完成小车的指定路线运行。
电机驱动模块
智能小车选择简单、便携、体积小、转动力矩大、的直流减速电机。
优点:
重量轻、转动力矩大、易组装、方面等。
可直接利用内部齿轮组的项目配合实现调节直流减速电机的转速和转向功能。
驱动:
采用左后轮和由后轮驱动。根据控制模块的电平变化,当需要向左转时,左后轮倒转,右后轮正传使小车实现左转;当需要向右转时,左后轮正转,右后轮反转是下车实现右转。
传感器模块
智能小车通过传感器模块实现循迹、避障功能。传感器模块采用红外光电传感器检测路况。因黑色、白色对红外线吸收系数不同,根据红外接收管接收到的红外线信号强弱判断路况情况,以及前方是否有障碍物。
循迹模块
控制模块的单片机根据反射回来的红外光来确定黑线位置和小车的行走路线。当小车左侧跑出黑线,小车左侧的红外线接收管导通,置低电平。单片机控制小车右转;当小车右侧跑出黑线,右侧导通,置低电平,小车左转。
避障方案有超声波、红外线避障。但因超声波传播的方向存在一定的偏差,而且电路复杂,成本高。红外线必涨是使用简单,成本低,性能较为稳定,而且传播的距离较远,因此避障选择红外线避障。
红外避障传感器主要安装在小车的下端和前端。当无障碍物时,因红外传感器随着距离的增加而减弱消失,红外接收器接收不到信号;而当有障碍物时,红外信号遇到障碍物会反射回来,红外接收器会收到红外信号,经过一系列的运算,使信号输出由默认的高电平变为低电平。发光二极管产生了电压差,所以信号指示灯亮。与此同时,信号输出给单片机,单片机根据电平的变化控制电机工作实现避障。
电源模块
该arduino控制单片机、电机驱动等芯片的供电采用4节1.5v干电池提供6V电压供电。
流程图
循迹流程图
当小车调用循迹模式后,直接调用循迹函数,完成循迹功能。车体正前方安装两个红外接收管,如果左侧红外接收管检测到了黑线,则小车需向左进行调整,因为此时小车已经向右偏离了;如果右侧红外线接收罐检测到了黑线,同理,小车此时需向右进行调整。
防撞报警流程图
智能小车在行走过程中,当控制层检测到遥控器发出防撞信号后,直接调用防撞报警函数,完成防撞报警功能。
如果前方检测到有障碍,无法通过,小车则后退转向报警;如果左侧有障碍则控制层控制车右转;如果右侧有障碍物则控制层控制车左转。
蓝牙模块示意图(蓝牙 app)
终端Qt界面
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/180731.html原文链接:https://javaforall.cn
.