《基于Arduino单片机控制的WiFi智能小车》由会员分享,可在线阅读,更多相关《基于Arduino单片机控制的WiFi智能小车(61页珍藏版)》请在金锄头文库上搜索。
1、呼伦贝尔学院计算机科学与技术学院本科生毕业论文(设计)题 目: 基于Arduino控制的 WIFI智能小车 学生姓名: 苑 伟 学 号: 2011121138 专业班级:2011级计算机科学与技术一班 指导教师: 陶锐 完成时间: 2015年5月22日 目录摘要IAbstractII第1章 绪论11.1 论文选题背景11.2 论文选题的意义11.3 论文论述2第2章 系统方案选择与总体设计32.1 设计任务32.2 设计中考虑到的问题32.3 系统方案的选择与比较32.4 总体设计方案42.4.1整体系统42.4.2 整体工作原理5第3章 硬件介绍及设计63.1 Arduino Uno R3
2、单片机系统63.1.1 概要63.1.2主控芯片ATmege328P-PU73.1.3 Arduino Uno最小系统393.1.4 Arduino Uno R3单片机系统的使用133.2 路由器WR703N143.2.1 路由器硬件介绍143.2.2 路由器改装153.2.3路由器刷OpenWRT173.3 电机驱动电路183.3.1 电机驱动模块使用183.3.2驱动原理及电路图193.4 摄像头介绍203.4.1 摄像头简介213.4.2 摄像头的分类213.4.3摄像头的工作原理213.4.4摄像头的主要结构和组件213.5 测速传感器223.5.1测速传感器说明223.5.2 测速传
3、感器使用233.6 超声波传感器233.6.1传感器说明及原理233.6.2 HC-SR04传感器的使用243.7舵机模块243.7.1舵机的控制253.7.2舵机的作用263.9 硬件系统整体设计27第4章 系统软件安装及设计284.1系统程序简介284.2单片机程序流程图284.2.1主程序流程图284.2.2外部串口中断函数流程图294.2.3定时器中断子函数流程图294.2.4 控制小车程序流程图304.2.5避障子程序流程图324.2.6舵机子程序流程图334.3路由器软件安装及程序流程图344.3.1软件的安装及配置344.3.2 程序设计及流程图35第5章 系统调试及问题解决37
4、5.1 系统仿真375.1.1 常用软件介绍375.1.2 仿真测试385.2硬件设计问题及调试385.2.1 测速模块的调试及问题解决385.2.2 摄像头调试及问题解决395.3 软件设计问题及调试405.3.1单片机软件调试及问题405.3.2路由器软件调试及问题42第6章 总结44参考文献:45致谢46附录1元器件明细表47附录2 单片机部分程序源码48附录3路由器部分程序源码54摘要本次设计wifi智能小车主要采用Arduino作为底层硬件控制核心,接收来自路由器的指令执行相关操作;采用PWM脉冲调节小车速度、舵机控制以及灯光亮度;采用定时器实现小车数据的发送、小车的避障及计算小车的
5、行驶速度;运用简单的PID算法实现轮胎直接的差速控制;采用路由器发射无线wifi,使用Lua脚本实现了接收单片机数据及发送操作指令,设计了web页面控制小车的B/S模式结构。关键字: Arduino;PWM脉冲;PID算法;web控制AbstractThe design of wi-fi smart cars mainly adopts the Arduino as the control core to receive instructions from the router perform related operations; Using PWM pulse to adjust the
6、vehicle speed, steering gear control and lighting brightness; using timer to realise the transmission of car data , the breakdown of the car and calculate the car speeds; Using the simple PID algorithm tyre direct differential control; Using wireless wifi router launch, using the Lua script implemen
7、ts receiving MCU data and send operation instructions,and at last, it designs a web page to control the car B/S mode structure.Keyword: Arduino; PWM Pulse; PID arithmetic; Web manageII第1章 绪论1.1 论文选题背景21世纪是一个遍布智能化设备的时代,我们身边充满了各式各样的智能化设备,智能电视,智能冰箱,智能洗衣机等,然而这些设备都离不开嵌入式系统与单片机系统。并且现如今又出现了物联网这一个概念使得无线控制、无
8、线传输变的更加火热,因此物联网将会是我们说有设备之间连接通信不可缺少的一部分。也许有人会问什么是物联网。物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。9英文名称:“Internet of things(IoT)”。物联网是物与物相连的互联网。它的两种含义:一 、物联网其实仍然是互联网,只是互联网的一种延伸和扩展的网络;二、其用户互联网络伸展到了任何物品与物品之间,并且进行信息交互和通信,这可以称为物物相息了。物联网通过各种通信感知技术(智能感知、识别技术、普适计算)广泛应用于网络的融合中,也被称为继计算机。对于我们的家庭设备来说物联网的核心设备与出口就是路由器,而路由
9、器的系统Openwrt更是这个网络控制的主脑设备。 Openwrt是一个嵌入式的Linux体统,它的特点是高度自动化、模块化,并且拥有强大的网络组件与扩展性。在智能家居、小型机器人、工控设备、VOIP设备及路由器中通常可以见到它的身影。如果对Linux体统有一定的了解,对于想学习嵌入式Linux的人来说openwrt是一个不错的选择。它的好处在于对于开发人员,OpenWrt 拥有完整的框架来构建应用程序,并且无需建立一个固件来支持,同时还支持很多种不同芯片的路由器以及源码开放;对于用户来说,可以完全制定想要的功能,互联网上提供很多应用程序,可以以不一样的方式玩转设备。这意味着其拥有完全定制的能
10、力,可以用前所未有的方式使用该设备。对于现代的智能设备来说远程无线遥控已成为一种趋势,我们可以通过远程遥控家里的电源开关,网络摄像头,空调等。在军用方面我们可以通过远程遥控无人侦察机查看军情,可以遥控智能机器人拆除炸弹等,这可以减少人员的伤亡。1.2 论文选题的意义但当我们出门在外时家里缺少一位智能管家,他可以监控管理我们的房屋及家具设备,而他的前身就是由WiFi智能小车,WiFi智能机器人发展而来。同时其他的远程遥控设备,如无人机,智能机器人及其他远程智能设备都离不开单片机,无线模块等设备。而wifi智能小车的研究可以学习了解到这些技术,同时通过wifi小车的精准控制等研究可以也可以运用到其
11、他的远程设备上。wifi小车可以实现室内的室外的远程监控,使得网络视频监控更加灵活。1.3 论文论述本系统能够实现通过摄像头远程监控周围环境,对小车的运动状态进行实时监控,系统要求控制灵活、可靠、精准度高、可实现与其他设备的连接与通信。本系统采用的单片机是Arduino Uno。它是Arduino USB接口系列的最新版本,作为Arduino平台的参考标准模板。UNO的处理器核心是ATmega328,同时具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSP header和一个复位按钮。ATmega328内置的U
12、ART可以同数字口0(RX)和1(TX)与外部实现串口通信。14路数字输入端口工作电压为5v、最大电流为40mA。外部中断端口为数字口2号和3号,触发条件为上升沿、下降沿或同时触发。由于Arduino Uno R3 的性能满足wifi小车的数据传输及时间精度的要求,而且产品为开源硬件提供相当完善的硬件结构,产品来源丰富应,用也相当成熟,是一款适合大学生学习研究的性价比很高的产品。本设计中要研究的内容是基于Arduino开源硬件及WR703N路由器设计的一部wifi智能小车。小车能够实现前方物体自动避障,超声波车辆距离,无线视频监控,小车差速控制,摄像头灯光控制等。Wifi智能小车系统包括了两路
13、电机、两个光电测试模块、Arduino单片机控制板、电机驱动模块、超声波测速模块、无线路由器、usb灯光摄像头等硬件设备。本项目主要论述的是wifi小车设计方案的选择、硬件设计、软件设计以及测试方法等。在第2章我们主要涉及到的内容就是系统方案的整体设计与选择,以及选择这种方案的原因与优缺点;第3章我们主要讲到的是单片机的详细电气特性,各个引脚接口的使用,路由器ttl串口的查找与增益天线的焊接,电机驱动与测距模块的详细说明,各个设备之间的电源供给情况,以及模块的电路图简单说明与整体的电路图设计。第4章我们主要讲到的是单片机的软件编程,路由器的软件安装与选择,Android控制端的软件设计等,在路
14、由器中通过lua脚本、stty串口软件等配合控制单片机。第5章我们主要讲到的是软件与硬件的测试与调试,以及在在调试过程中的问题解决。第2章 系统方案选择与总体设计2.1 设计任务本设计主要是通过无线网络或者远程连接WiFi小车实现小车的前进、后退、转弯、监控视频采集、其他数据的采集以及前方距离探测等功能。本设计要求通过web浏览器端进行控制。1. 实现pc端、手机与小车wifi的连接。2. 能够通过web网页对小车进行实时控制。2.2 设计中考虑到的问题1. 由于设计中的小车底层硬件控制是通过单片机控制,单片机与无线模块的通信如何实现,启动设备时如何初始化。2. 如果前方有障碍物时小车行驶速度
15、太快,如何避免撞到前方障碍物,以及小车如何转弯时角度的测量与小车当前方向。3. 各元件之间额定电压与电流各不相同如何控制各元件电压与电流的供给以及整个系统电源的稳定性。4. 由于单片机IO口的电流为mA级的,无法直接驱动电机,如何进行电机的驱动。5.对于通过Android客户端控制wifi小车是如何进行通信,选择何种协议进行通信,在软件设计方面如何实现不同手机设备之间的兼容性。2.3 系统方案的选择与比较1. 通过设计任务及要求,设计前考了到的问题等,在网上搜索大量资料提炼出以下几种设计方案。方案一:选择网上最典型的且容易上手的TPLINK WR703N无线路由器作为wifi小车的wifi通信模块,使用51系列单片机作为wifi小车的底层控制芯片。该方案路由器功耗小相关资料齐全。方案二:选择网上比较耗电功率大性能较好的大亚db120-wg无线路由器作