《单片机应用技术(C语言)》实训课件—85-WIFI遥控.pptx

上传人(卖家):晟晟文业 文档编号:4301258 上传时间:2022-11-27 格式:PPTX 页数:39 大小:3.27MB
下载 相关 举报
《单片机应用技术(C语言)》实训课件—85-WIFI遥控.pptx_第1页
第1页 / 共39页
《单片机应用技术(C语言)》实训课件—85-WIFI遥控.pptx_第2页
第2页 / 共39页
《单片机应用技术(C语言)》实训课件—85-WIFI遥控.pptx_第3页
第3页 / 共39页
《单片机应用技术(C语言)》实训课件—85-WIFI遥控.pptx_第4页
第4页 / 共39页
《单片机应用技术(C语言)》实训课件—85-WIFI遥控.pptx_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、任务8-5 WIFI遥控小车设计单片机应用技术(C语言版)一、任务导入遥控小车使用安卓智能手机作为遥控器,首先在手机端安装“WIFI小车”APP,通过这个APP并利用手机内的WIFI模块发送控制命令,小车端的WIFI模块接收到控制信号后,通过51单片机的串行通信接口将控制信号传给单片机,单片机判断控制信号并作出相应的动作,如此就实现了小车的WIFI遥控。设计要求UART系统框图ESP8266模块介绍 802.11 b/g/n 频率范围 2.4G-2.5G(2400M-2483.5M)WIFI 2.4 GHz,支持 WPA/WPA2 安全模式 内置低功率 32 位 CPU:可以兼作应用处理器 S

2、DIO 2.0、SPI、UART 待机状态消耗功率小于1.0mW(DTIM3)工作温度范围-40 125 ESP8266模块ESP8266模块专用转接板通过转接板后只引出四个输出线,分别为电源VCC,地GND,信号输出端TXD和信号输入端RXD,并且可以5V供电,可以直接配合51单片机使用,非常方便。由于ESP8266模块支持UART接口,因此把转接板的TXD、RXD分别和51单片机的RXD、TXD相连,通电后就可进行二者之间的串口通信了。可外接5V电源,直接配合51单片机一起使用四脚输出VCC、GND、TXD、RXDESP8266模块专用转接板WIFI遥控小车的硬件电路图在程序设计前,需要根

3、据WIFI模块设置单片机的通信协议。这里我们采用的串口通信波特率为9600b/s;数据帧为串口工作方式1的帧格式。手机端发送的控制信号定义如下:字符0代表前进,字符1代表后退,字符2代表左转,字符3代表右转,字符5和6均代表停车。控制信号对应的小车执行动作0前进1后退2左转3右转5停止6停止通信协议约定二、wifi模块的AT指令测试我们在使用WIFI模块前,通常需要先对其进行AT指令配置,以验证模块是否正常,并设置模块名称、波特率、工作模式、服务器等参数。命令 描述 基础指令 AT 测试AT启动 AT+RST重启模块AT+GMR 查看版本信息 wifi功能指令 AT+CWMODE 选择WIFI

4、应用模式 AT+CWJAP 加入AP AT+CWLAP 列出当前可用AP AT+CWQAP 退出与AP的连接 AT+CWSAP 设置AP模式下的参数 AT+CWLIF 查看已接入设备的IP 命令 描述 TCP/IP指令AT+CIPSTATUS 获得连接状态 AT+CIPSTART 建立TCP连接或注册UDP端口号 AT+CIPSEND 发送数据 AT+CIPCLOSE 关闭TCP或UDP AT+CIFSR 获取本地IP地址 AT+CIPMUX 启动多连接 AT+CIPSERVER 配置为服务器 AT+CIPMODE 设置模块传输模式 AT+CIPSTO 设置服务器超时时间 ESP8266 AT

5、指令集 AT指令集中的格式利用 ESP8266 可以实现十分灵活的组网方式和网络拓扑。ESP8266 支持softAP 模式,station 模式,softAP+station 共存模式三种。softAP:即无线接入点,是一个无线网络的中心节点。通常使用的无线路由器就是一个无线接入点。station:即无线终端,是一个无线网络的终端。ESP8266 工作模式RXDTXDGND+5VRXDTXDGND+5V使用一个USB到TTL的转接口来实现WIFI模块和PC机之间的串口连接。连线时要注意转接口的RXD要接WIFI模块的TXD,而转接口的TXD要接WIFI模块的RXD。ESP8266 与PC机连

6、接进行设置1243串口调试助手设置1、测试AT启动发送:AT返回:OK12432、设置ESP8266应用模式发送:AT+CWMODE=返回:OK:1:Station 模式 2:SoftAP 模式 3:SoftAP+Station 模式在字符串输入框中输入AT+CWMODE=2指令来设置ESP8266工作在softAP模式。由于该指令需重启后才能生效,因此要接着输入AT+RST指令来重启模块。3、重启模块发送:AT+RST返回:OK4、设置ESP8266 softAP参数发送:AT+CWSAP=,返回:OK指令参数:字符串参数,接入点名称 字符串参数,密码最长64字节ASCII 通道号 加密方式

7、 0 OPEN 1 WEP 2 WPA_PSK 3 WPA2_PSK 4 WPA_WPA2_PSK 由于默认的名称太长,使用指令AT+CWSAP=“SZPT”,“”,1,0将名称改为SZPT。设置WIFI模块的连接类型,这里需要设置为多连接模式,输入的指令为AT+CIPMUX=1。设置这一步主要是为下一步建立TCP服务器做准备,因为建立TCP服务器必须在多连接模式下进行。5、设置ESP8266连接类型发送:AT+CIPMUX=返回:OK:0:单连接模式 1:多连接模式建立一个端口号为5000的TCP服务器,输入的指令为AT+CIPSERVER=1,5000。6、建 TCP 服务器发送:AT+C

8、IPSERVER=,返回:OK:0:关闭服务器 1:建服务器:端号,默认为 333。7、设置波特率发送:AT+CIOBAUD=返回:OK指令参数:要设置的波特率数值约定WIFI遥控小车项目中WIFI模块与单片机的串口通信波特率为9600,因此要用指令AT+CIOBAUD=9600将波特率设置为9600。三、wifi遥控小车的程序测试首选需要对单片机串口进行初始化,设置工作方式及波特率等。另外,由于部分AT指令断电不会保存,因此需要在程序中进行重新设置。等待接收手机端发来的控制信号,最后根据控制信号做出相应的动作。注意:ES=0,开启串口中断,因为在配置wifi模块时没有使用中断方式。void

9、Uart_Init()SCON=0 x50;TMOD=0 x20;TH1=0 xFD;/设置波特率 9600TL1=0 xFD;TR1=1;/启动定时器1ES=0;/关闭串口中断EA=1;/开总中断串口初始化子函数 void ESP8266_Set(uchar*puf)/指针*puf指向字符串数组 while(*puf!=0)/字符串结束跳出循环SBUF=*puf;/向WIFI模块发送控制指令while(TI=0);/等待发送完毕 TI=0;/清发送完毕中断请求标志位puf+;DelayMs(2000);/模块需要一定的反应时间,该延时时间需要根据硬件调整 注意:使用while语句完成了字符串

10、的逐个发送;为了确保发送不受干扰,这里采用查询方式发送;每个AT指令字符串发送完成后,wifi模块还需要一定的反应时间,这个延时要根据系统硬件调整,这里的延时大概是2S的样子。ESP8266WIFI模块设置子函数void Uart_Interrupt()interrupt 4 uchar receive;if(RI=1)RI=0;receive=SBUF;if(receive=+)i=0;start=1;if(start)Receive_tablei=receive;i=i+1;if(i=10)start=0;注意:如果单片机接收到一个有效控制信号,则一定是以+IPD开头,并且真正有用的控制字

11、符位于这个字符串的第10位。多路连接时(+CIPMUX=1)接收到的数据格式:+IPD,:参数说明:收到连接的id号 数据长度 收到的数据 举例:+IPD,0,1:3 串口中断服务子函数/定义的全局变量uchar Receive_table20;/用来存放接收到的控制字符串uchar i;/全局变量i用来记录接收到的字符数bit start;/全局位变量start用来表征接收的状态串口中断服务子函数void Uart_Interrupt()interrupt 4 uchar receive;if(RI=1)RI=0;receive=SBUF;if(receive=+)i=0;start=1;i

12、f(start)Receive_tablei=receive;i=i+1;if(i=10)start=0;void gongneng()switch(Receive_table9)case 0:qianjin();break;case 1:houtui();break;case 2:zuozhuan();break;case 3:youzhuan();break;case 5:tingche();break;case 6:tingche();break;default:break;判断控制信号并执行子函数首先调用串口初始化子函数,然后配置ESP8266模块,最后就是不断处理接收到的控制信号。在

13、配置ESP8266模块时,输入的AT指令写成字符串的形式,最后rn是转义字符,r是回车,n是换行,前者使光标到行首,后者使光标下移一格,两个放一起就和执行Enter键的作用一样。这里需要注意的是,在配置好ESP8266模块后一定要记得开串口中断。void main()Uart_Init();ESP8266_Set(AT+CWMODE=2rn);/设置路由器模式 1 station模式 2 AP 3 station+AP混合模式 ESP8266_Set(AT+RSTrn);/重新启动wifi模块 ESP8266_Set(AT+CIPMUX=1rn);/开启多连接模式,允许多个客户端接入 ESP8

14、266_Set(AT+CIPSERVER=1,5000rn);/启动TCP/IP 端口为5000 实现基于网络/控制 ES=1;/允许串口中断 while(1)if(!start)gongneng();主函数四、wifi小车APP的设置及系统运行调试请大家下载“WIFI小车.apk”并安装在手机上,注意该APP只能在安卓系统上运行。手机端安装wifi小车遥控器APP开启手机的无线局域网(WLAN)功能,找到ESP8266模块的名称并连接。然后打开“Unicorn WIFI小车”APP,这里192.168.4.1就是ESP8266模块的默认IP地址,端口号已经设置为5000,直接点击右上角的“连接”按钮。如果没有问题会出现“连接成功”的提示。蓝牙连接系统测试点击右上角的三个点来对按钮进行重新设置。在按钮设置页面,点击要设置的按钮就会出现设置界面。我们可以重新设置按钮的名称、按下及释放时分别发送的控制字符。按钮重新设置请大家将按键参数设置成如图表所示的内容,即按下前进、后退、左转、右转四个按键时分别发送1、2、3、4的控制字符,所有按键释放时均发送字符0。大家思考一下这时单片机的控制程序应如何修改呢?拓展训练控制信号对应的小车执行动作1前进2后退3左转4右转0停止感谢您的观看Thanks for your attention.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(《单片机应用技术(C语言)》实训课件—85-WIFI遥控.pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|