WIFI智能小车机器人 教程(1~4)

【机器人创意工作室教程一】WIFI智能小车机器人基本原理

 

WIFI智能小车机器人是很多人童年时的梦想,就好比当年看着《小鬼当家》里面的那个视频遥控车一样,看着就激动!
然而对于大部分初学者而言,本身并非电子专业,也不是计算机专业,可是却对WIFI/蓝牙控制的智能小车机器人情有独钟,怎么办呢?对于一个专业不对的人来说,确实是隔行如隔山,但是没有关系,从今天起,WIFI机器人网·机器人创意工作室不间断地推出一系列教程,手把手教你如何DIY一个属于自己的智能小车机器人。

鉴于蓝牙智能车和WIFI智能车其实很类似的,只是把WIFI模块换成了蓝牙模块,所以蓝牙车就不再详细阐述了,弄明白了WIFI车,蓝牙车也一样的。
OK,进入正题,机器人创意工作室教程第一讲《WIFI智能小车机器人基本原理》
我们的这款WIFI智能小车机器人采用的路由器+PC或者手机、网页控制方式。其基本原理分为4大块:
1、把普通的无线路由器通过刷入开源的Openwrt系统,使之成为一个运行了Linux系统的小电脑,何为Openwrt? 请看:

什么是OpenWRT?   1. 关于 OpenWrt   当Linksys 释放 WRT54G/GS 的源码后,网上出现了很多不同版本的 Firmware 去增强原有的功能。大多数的 Firmware 都是99%使用 Linksys的源码,只有1%是加上去的,每一种 Firmware 都是针对特定的市场而设计,这样做有2个缺点,第一个是难以集合各版本Firmware的长处,第二个是这版本距离 Linux 正式发行版越来越远。OpenWrt 选择了另一条路,它从零开始,一点一点的把各软件加入去,使其接近 Linksys 版 Firmware的功能,而OpenWrt 的成功之处是它的文件系统是可写的,开发者无需在每一次修改后重新编译,令它更像一个小型的 Linux 电脑系统,也加快了开发速度。

以上解释摘自百度百科。简而言之,就是从思科的路由源码改造过来的,一个适用于某些特定芯片的路由器的小型Linux系统,有了这个系统,我们的路由就不再是上网那么简单了,我们可以在上面安装各种程序、驱动,以路由为平台,用户可以自由地加载USB摄像头、网卡、声卡、等等设备。
我们的WIFI板上运行着一款程序,叫做mjpg-streamer,这个程序可以把USB摄像头的视频进行编码,然后通过WIFI返回给上位机,这样,我们就可以看到来自机器人的视频了。
同时路由一般都预留有TTL串口,TTL串口是用来调试或者刷机用的,我们把这个TTL串口引出来,然后通过安装在路由里面的Ser2net软件,就能把来自WIFI信道的指令转到串口输出,而串口在这里的作用就是与单片机芯片MCU通信,让单片机知道用户要让他做什么动作。关于TTL的介绍,请看后文。
WIFI(路由)模块:
IMAG0284.jpg

2012-5-13 11:29:22 上传
下载附件(244.49 KB)



2、单片机系统与下位机
单片机系统也是一个最简单的小电脑系统,但是它的频率很低,不适合进行大数据的运算,它的主要功能是通过控制其输出引脚(IO口)的电平高低,从而让电机驱动芯片驱动电机正转或者反转,实现机器人的前进、后退。
我们把跑在单片机系统里面的程序称之为下位机,这个程序的作用就是接收来自上位机的指令,并进行解码分析,了解用户发出的是何种动作,然后让单片机芯片的指定引脚进行高低电平赋值,当然这个指令的上一级发送单位是WIFI模块,也就是路由,再往上一级是PC/手机等控制端,也就是上位机。
这里说一下TTL串口,TTL串口是一种通信串口,一般就三根数据线:TX 发送数据 ,RX  接收数据 GND 地线。TTL的电平一般是5V以下,目前常见的路由和单片机的串口都是TTL电平的,只有同样电平类型的才能进行通信,否则不仅没法通信,还可能烧电路。
除了TTL串口,还有一种称为RS232电平的串口,也叫9针串口,就是普通台式机后面的串口,这种串口的电平不是TTL的,所以调试时不能直接用这种串口和我们的各种模块通信,必须购买232转TTL电平小板。

针对于工作室出品的驱动板,我们的源代码是公开的,有一定基础的车友可以到这里下载,并进行改造:http://www.wifi-robots.com/thread-367-1-1.html
单片机(MCU)系统:
a.jpg
2012-5-13 11:33:11 上传
下载附件(227.34 KB)


3、电机驱动电路
上面说过,单片机可以把上位机发过来的指令进行解析,通过判断指令,然后让自身的某个引脚电平拉高或拉低,但是单片机的引脚输出电流很小,你可以让他点亮LED灯,但是驱动我们这种大车体是不可能的,所以需要一个驱动芯片来驱动电机运转,也就是说,单片机用引脚电平的方式告知驱动模块,比如,单片机的引脚P10-P13为1010时,驱动模块就输出两路前进的电压,车子就前进了,如果是0101时,车子就后退了。
驱动电路模块:
b.jpg
2012-5-13 11:42:02 上传
下载附件(228.35 KB)


4、上位机
上位机就是发送指令的部分,我们通过上位机发送指令到WIFI模块/路由器,然后通过路由器的转换,把指令转给单片机,从而机器人执行我们的指令,同时上位机向路由发送一个视频请求,路由端的视频处理程序会把获取的USB摄像头视频传回上位机,上位机进行解码,并显示。
上位机的编写涉及到高级语言编程,对于非此专业的车友,我们工作室已经有现成的上位机供大家免费使用了,PC版的,目前更新的为V1.27版本,下载地址为: http://www.wifi-robots.com/thread-2985-1-1.html
安卓手机/PAD版的控制端: http://www.wifi-robots.com/thread-2854-1-1.html
上位机的编写其实就是通过TCP/UDP等通信方式,用Socket连接把数据发送到路由端,在这里,我们的上位机是Client模式,路由端是服务器模式,这样的好处是不需要什么转发操作,我们直接连接WIFI智能小车机器人就可以操控了。

好的,总结一下:整个智能小车机器人的工作方式即为
无标题.png
2012-5-13 11:58:11 上传
下载附件(47.15 KB)

 

 

【机器人创意工作室教程二】磨刀不误砍柴工-必备工具的准备

 

接着我们上一篇教程,今天,和大家说说制作WIFI/蓝牙智能小车机器人所需要的必备工具,所谓“磨刀不误砍柴工”嘛!
其实关于这个必备工具的列表,我之前有发一个帖子,不过今天重新详细地讲一遍。
第一、常用的加工工具,螺丝刀小扳手小钳子等等五金工具,这个就不多罗嗦了,做车子肯定是要用到的。
第二、软件方面
1、STC-ISP:这个软件是宏晶公司的单片机烧写工具,但是非常强大,它不仅可以烧写我们工作室出品的驱动板和常见的单片机,同时还具有串口助手功能,可以很方便地接收来自WIFI板(路由)的串口打印信息,也可以通过它发送数据给下位机,是通信调试的必不可少软件。
下载地址:
STC-ISP-V4.83.rar(3.22 MB, 下载次数: 2300)

2012-5-14 23:54:48 上传
下载次数: 2300
下载积分: 金钱 -1



2、tcp232-test :这个软件是一个非常好用的串口-网口互发软件,我们的WIFI小车机器人正好是串口-网口互相转发的原理,所以使用这个软件可以很方便地进行双向的数据通信调试
下载地址:
tcp232-test.rar(379.09 KB, 下载次数: 2115)
2012-5-14 23:57:40 上传
下载次数: 2115
下载积分: 金钱 -1



3、putty :这个软件是用来与WIFI板进行命令交互的,我们的WIFI板其实就是一块安装有Linux系统的开发板,通过这个软件的SSH来与WIFI板取得命令交互,这个软件就等于是Windows里面的命令提示行一样,我们可以很方便地在这里输指令,让板子执行我们的命令。
使用这个工具要注意,连接方式必须选择“SSH”。同时,在连上路由后,需要输密码,这个工具输密码的时候是看不见字符的,所以不要以为没输入,只管输,完成之后敲回车即可。
在这个工具下执行命令,就等于直接在Linux下执行Linux命令,所以你完全可以去查查Linux系统的命令有哪些。
下载地址:
putty.rar(225.05 KB, 下载次数: 2434)
2012-5-15 00:00:31 上传
下载次数: 2434
阅读权限: 10
下载积分: 金钱 -1



putty的设置界面:
e.png
2012-5-15 00:23:44 上传
下载附件(71.26 KB)


4、winscp :这个软件相当与Windows下面的文件管理器,利用它我们可以很方便地把文件从windows里面拖到WIFI板上,也可以从板子上拖回PC上,由于文件稍大,就不再给出下载链接了,请自行百度文件名即可下载,图形化的界面,一看就懂得。
这个软件连接路由时,需要选择SCP这个选项,要注意。
winscp的设置界面:
rr.png
2012-5-15 00:23:45 上传
下载附件(60.14 KB)


第三、硬件方面
硬件方面自然也是少不了的,我们做车子极少情况是一蹴而就,往往是需要长时间的调试,那么,除了软件,硬件方面我们需要准备什么呢?
1、USB-TTL串口小板:
如图:
AAA.png
2012-5-15 00:09:46 上传
下载附件(129.9 KB)


这个小板的功能就是在USB口上虚拟出一个串口,这样我们的串口调试助手就能利用这个串口发送和接收来自小车的信息。
购买这个板子要注意两点:
①、USB转串口板子有两种,一种是USB转TTL电平,也就是上图所示的,我们只需要用到TX 、RX、GND这三根线,其他的+5V 、3.3V我们都用不着,另一种是USB转232电平的串口小板,可以看到这种小板转出来有9根插针,这个板子我们是没法使用的,因为我们的单片机和WIFI板均为TTL电平通信。
②、目前市面上常见的为PL2303的串口小板,该小板的兼容性不是很好,有些卖家可能外围电路做工比较好,可以正常使用,有些可能就无法接收到来自下位机的数据了,购买之前请先看好淘宝评价。本人所用的USB-TTL小板为FTDI芯片的,兼容性非常好,不过价格也比较贵,大家酌情考虑。

2、万用表
万用表应该都会用,也是非常重要的工具,如果发现电路不工作,在排除软件的原因之后,万用表就可以派上大用场了。这个工具可以不用买太贵的,二十几元的就足够用了。

3、电烙铁
由于买来的电机肯定是没有接线的,而电机又不像别的器件,可以用杜邦线插接连起来,所以电烙铁是必须要的,有了电烙铁,焊锡丝就不说了,也得附带上。


【机器人创意工作室教程三】制作WIFI智能小车的配件准备


 最近事情多,耽搁了一阵出教程,呵呵,望各位见谅!
好了,接着上一期教程。上期教程我们列出了制作WIFI/蓝牙智能小车机器人中必须用到的工具,那么要组装出一台能跑的智能小车机器人,需要什么配件呢?新手可能一眼看不出,没关系,这期教程给你把清单罗列出来!

一、WIFI模块
工作室出品的模块是已经刷好系统并配好了随机启动等各项设置,到手插上即可使用的,所以省去了许多麻烦的步骤。
模块有两种,一种是工作室出品的Robot-link:
IMG_1898.JPG

2013-9-2 23:42:08 上传
下载附件 (82.59 KB)



另一种是703半成品加工的:
IMAG0283.jpg

2012-5-25 01:19:30 上传
下载附件 (77.63 KB)


二、驱动板
驱动板是核心,它的作用就是接收来自WIFI模块的指令,并通过板子上的单片机(MCU)判断指令,然后控制驱动板上的电机输出端口输出相应的电平。
当然这个驱动板可以采用工作室出品的,也可以采用自行设计的。工作室出品的驱动板具有电机、舵机、红外等等功能,并且开放了源代码和所有硬件接口,方便车友对板子进行二次开发,工作室后续也会不断进行更新驱动板上的程序。
如果采用自行设计的,那么程序需要自己移植或者开发了。
驱动板照片:

IMG_0420.jpg

2012-5-25 01:13:51 上传
下载附件 (149.21 KB)



三、车体
车体就是承重部分,车体的选择其实非常多,你可以造3轮的,那么只需要两个马达,但是常规是4驱的,需要4个马达,也可以做成履带式的,所以这里就给出几个入门级和稍微高级的
车体建议:
第一种是入门级的:
T266yEXdhaXXXXXXXX_!!58343593.jpg

2012-5-25 00:55:19 上传
下载附件 (62.83 KB)


三轮车,呵呵这种底盘便宜,但是由于两个车轮不太可能正好速度一样,所以常常跑偏。
黄色的这种电机为TT电机,比较便宜,学生比较适合。

第二种是四驱底盘
T2us5yXeXXXXXXXXXX_!!391574973.jpg

2012-5-25 00:55:19 上传
下载附件 (58.43 KB)



有四个轮子一起工作,基本就不会跑偏了,这个也是采用的比较多的廉价底盘之一

第三种是大脚车,顾名思义,轮子特别大,这种车子跑起来特别的霸气!但是价格自然贵得多
同时大脚车上用的电机也不是这种6V的TT电机,而是12V以上的减速电机,所以价格自然不菲了,适合于手头比较宽松的车友选择。

第四种是履带式车体
T1o1G8XelbXXcvrS34_053905_jpg_210x210.jpg

2012-5-25 00:55:18 上传
下载附件 (6.64 KB)


也正是本人目前的车体,这种车体也挺霸气,最大的特点是稳,如果要在车子上面搭载各种杂七杂八的设备,选择履带还是很不错的。


三、锂电池
为何不用普通干电池?好吧,我悄悄滴告诉你,如果用普通的干电池,你得用好多好多节才能达到需要的电压,另外,用普通电池,你一天的伙食费也许就搭在了玩几个小时车子上了。
WIFI智能小车机器人是非常的耗电的,所以一般采用18650的锂电池,锂电池具有容量大,体积、重量小的优点,做WIFI智能车最合适不过了。
T1O5XlXa77H0NDN62X_085717_jpg_310x310.jpg

2012-5-25 01:04:34 上传
下载附件 (21.58 KB)



锂电池一般一节是4.2V,而我们的车子一般需要6V以上的输出,由于稳压器件的特性,我们一般采用三个锂电串联,也就是12V左右的输出,这样通过驱动板的降压,正好可以提供5V给路由使用,并提供其他的电压给电机、机械手、红外、舵机等设备。
选购锂电时要注意,尽量选择保护板的电流大点的,常见的锂电保护板为3A,也就是说,如果负载超过3A,那么锂电保护板就切断了输出,整个车子都掉电了,需要过一会或者用充电器激活一下才能正常使用,这样自然很糟糕,所以建议保护板选择3A以上,确保负荷较大时也不会掉电。

四、摄像头
摄像头是接在WIFI板上的,目的是获取视频并传回控制端,由于WIFI板上跑的是微型Linux系统,所以肯定不如Windows那么神通广大,兼容大部分的摄像头。摄像头的选购需要查询Openwrt支持的摄像头列表,这个列表论坛里已经有,当然这个只是openwrt系统支持的摄像头,工作室的WIFI板是不可能安装所有摄像头驱动的,如果驱动不了,还需要自己去找驱动安装上去。
我们目前推荐使用的是S605高清摄像头,这个摄像头正好可以匹配工作室WIFI板上的驱动程序,所以不需要自己费神去安装驱动了,摄像头虽然贵一点,但是用完了可以用在电脑上,一点也不浪费。

T2ZyGCXmFXXXXXXXXX_!!94674554.jpg

2012-5-25 01:13:05 上传
下载附件 (107.31 KB)


301摄像头,早期工作室标配的摄像头,但是极不稳定,现已经淘汰,推荐使用S605高清摄像头。

五、其他配件
好了,主要的配件都列出来了,有了上面的四大件,就可以组装出一台具有基本功能的WIFI智能小车机器人。
其他配件有:杜邦线,这是必须的,连接车子需要用这种很方便插接的导线。
                      T12BmmXb0CXXX152_2_043844_jpg_210x210.jpg

2012-5-25 01:18:51 上传
下载附件 (13.82 KB)



                      舵机,这个是选配的,如果你需要用舵机来驱动视频云台,可以自己选择
                     机械手,这个玩意儿比较贵,经济实力不错的车友可以考虑,这样你的车子就牛了!

舵机云台:
无标题.png

2013-1-6 00:47:38 上传
下载附件 (460.02 KB)


云台其实就是由两个舵机组成的一个运动机构,可以把摄像头安装在上面,然后上位机就可以控制云台到处乱看了。

好了,清单已经列出来了,下期教程,将手把手教你如何组装出一台WIFI、蓝牙智能小车机器人!
WIFI机器人网·机器人创意工作室官方网店欢迎您:http://wifi-robots.taobao.com/

【机器人创意工作室教程四】从零开始组装WIFI智能小车机器人

看了前面的三个教程,大家肯定都跃跃欲试了。呵呵,其实WIFI智能小车机器人也就是那么回事~所有的东西前人都给你搭好了,你要做的,只是把它们组合起来,然后再充分发挥你出色地想象力,拓展出属于你自己特色的功能。
好,本篇教程将详细地讲解如何组装出一台属于你自己的WIFI智能小车机器人!该教程使用本人的路虎小车机器人作为讲解道具,原理是一样的,大家看后即明白。

一、配件准备
1.jpg

2012-6-8 22:07:59 上传
下载附件 (185.52 KB)



2.jpg

2012-6-8 22:08:00 上传
下载附件 (104.23 KB)



3.jpg

2012-6-8 22:08:01 上传
下载附件 (123.35 KB)



配件如图,底盘、驱动板、WIFI模块、WIFI板电源线、锂电池、机械手增强版、USB摄像头、机械手(舵机)
其中机械手大部分人是不会装备的,这边放个机械手是为了演示舵机如何接线。

二、开始接线


先上一张驱动板接口说明图,方便大家参照:
说明图第二版.jpg

2012-11-8 00:45:42 上传
下载附件 (265.98 KB)



首先先看看我的路虎底盘的两个接线端,这个路虎底盘是2WD的,左右各有一个8V驱动电机,我引出了这两个电机的接线端,方便接入到我们的驱动板上
4.jpg

2012-6-8 22:08:02 上传
下载附件 (158.05 KB)



现在,把驱动电机的锂电池放入车体内,然后盖上底板,把电机接线和充电口、锂电输出端都引出来。

5.jpg

2012-6-8 22:08:04 上传
下载附件 (153.7 KB)



是不是很简单呢?底盘就这么安装好了,请先无视右侧的机械手·····
好了,现在我们要给驱动板接线了,工作室强烈建议新手一定要好好看看驱动板的说明帖和驱动板后面的引脚说明,否则极易因为接错线而导致烧板事故,这样就得不偿失了。
第一步:接电源输入:
6.jpg

2012-6-8 22:08:05 上传
下载附件 (178 KB)


请注意了,电源都是红色为正,黑色为负,接在驱动板上如图所示,千万别反了啊,不然击穿了芯片就悲催了。
来一张近点的图:
7.jpg

2012-6-8 22:08:06 上传
下载附件 (171.88 KB)



第二步:接电机输出端口
8.jpg

2012-6-8 22:08:08 上传
下载附件 (180.25 KB)


如上图所示,电机输出端口在板子背面有标注A+ A-,B+B-,总共两对输出,如果是四轮小车,把左左、右右两两并联即可。
至于接线顺序,可以不用关心,接上再说,如果调试时发现电机转反了,可以直接修改上位机的指令来矫正。

第三步:连接舵机
对于舵机驱动的瓦力、视频云台、小型机械手,这些舵机可以直接接在驱动板的舵机接口,现在我就接一路舵机做个示范。驱动板上有5路常用舵机接口,如果你需要使用更多的舵机,请到我们的驱动板源代码下载帖下载8路舵机驱动程序,自行升级即可。

9.jpg

2012-6-8 22:08:10 上传
下载附件 (218.1 KB)



认准了舵机的正负极,别接错了哦。

第四步、云台的安装:
云台其实就是两个舵机组成的方向转动机构,我们把摄像头安装上去之后,就可以通过上位机,控制摄像头的上下左右运动,从而在不移动车体的情况下,观察机器人周边的情况。
如下图,这个是9G舵机的云台,无论9G舵机还是55G舵机的云台,都是可以直接接到工作室驱动板上的,而不需要通过舵机增强版。
T2Tn8FXX8NXXXXXXXX_!!94674554.jpg

2012-10-14 18:59:36 上传
下载附件 (92.13 KB)



云台的接法如同上面的舵机接法,是一样的,但是有一点要注意,工作室的上位机支持在视频画面中直接拖动鼠标而控制云台的运动,如果需要用到这个功能,那么需要升级一下下位机程序,升级成8路舵机程序,然后云台的两个舵机分别接到驱动板的舵机7、舵机8位置,才能直接拖动画面控制云台。
如下图:
云台接线.jpg

2012-10-14 19:13:06 上传
下载附件 (239.17 KB)



如果是超大型的机械手或者使用比较大负荷的舵机,那么是不能直接接到驱动板上的舵机控制端口的,需要配合下面这个超大型舵机增强板(普通舵机云台不需要):
10.jpg

2012-6-8 22:08:13 上传
下载附件 (159.84 KB)



好,我们先把超大型舵机增强板和接好线的驱动板安装到车体上:
11.jpg

2012-6-8 22:08:18 上传
下载附件 (166.24 KB)



驱动板上的5路舵机输出口后面有6个接线柱,其中最右边的为GND,其余为舵机的5个逻辑接口,我们需要先把GND连在一起:
12.jpg

2012-6-8 22:08:19 上传
下载附件 (193.99 KB)



剩下的5个接线柱,依次接到舵机增强板的5个逻辑接口上,如图:
14.jpg

2012-6-8 22:08:24 上传
下载附件 (222.14 KB)



现在,给舵机增强板接上电源,建议使用单独的锂电给舵机增强板供电,以防大舵机工作时,电流过大导致锂电产生保护动作。
13.jpg

2012-6-8 22:08:22 上传
下载附件 (226.01 KB)



接下来,就是怎样把舵机线接到舵机增强板了,如下图所示,注意正负极:
15.jpg

2012-6-8 22:08:26 上传
下载附件 (241.98 KB)



其他几路舵机也是类似的接法。舵机增强板上的舵机供电电压是可以调节的,如果发现舵机驱动困难,可以增强板上蓝色的可变电阻,但是要注意,一般舵机的供电不要超过6.5V。

第五步:连接WIFI模块
好,基本的部件都装好了,现在就是最后一步了,装上WIFI模块。
16.jpg

2012-6-8 22:08:27 上传
下载附件 (205.73 KB)



如上图所示,WIFI模块的TTL串口接到驱动板的TTL串口上,GND接GND,TX接TX ,RX接RX,总共三根线,不难吧?如果你分不清哪个是TX哪个是RX,没关系,先接上GND,TX RX随便接,等会调试时如果发现发指令没反应,那么兑换一下TX RX的接线就行了。(此图中的接线只是表示了驱动板串口的位置,其中WIFI板上黑色的线是GND,应该接到驱动板上黄色线位置,请各位灵活变通。)

然后是WIFI模块的供电部分,使用普通的USB转MINI USB接口,一头接到WIFI模块的MINI USB口上,另一头接到驱动板的USB接口上即可,如下图:
17.jpg

2012-6-8 22:08:29 上传
下载附件 (154.41 KB)



当然,如果你对自己的WIFI模块做过改造,把TTL线引到了MINI USB口那边,那就可以不用杜邦线连接TTL串口了,因为驱动板上支持USB供电、TTL通信合二为一。

最后一步:接摄像头,不多说了,把USB摄像头的USB口接到WIFI模块上的USB口。
18.jpg

2012-6-8 22:08:30 上传
下载附件 (153 KB)




好了!大功告成!后续的布局就看个人发挥咯,是不是很简单?所有复杂的东西工作室都为你搭建好了,你要做的就是像玩玩具一样拼拼凑凑即可~
车体搭好了,现在就可以尝试用PC控制它了!首先,给机器人小车上电,等待20秒左右,待WIFI板的灯进入常亮状态,用笔记本搜一下无线网络,找到wifi-robots.com-liuviking这个热点并连上,然后就可以使用笔记本电脑上安装的WIFI/蓝牙智能小车机器人操控平台进行控制了!详细的平台使用说明请看这个帖子:http://www.wifi-robots.com/thread-781-1-1.html

最后,上一张成品的路虎WIFI机器人和瓦力WIFI机器人的合影照~

IMG_0290.JPG

2012-6-8 23:06:01 上传
下载附件 (200.21 KB)



预祝大家早日拥有自己的WIFI智能小车机器人!



  • 5
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
/* 这个版本是根据管理员iuviking的51单片机版WIFI小车下位机程序(通信协议版) 版本修改而来,我已经加入了八路舵机控制(p0口),ε咫ヤ涯/ */ #include<reg52.h> #include<math.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int uchar Buffer =0; //从串口接收的数据 uint URTAReceivedCount=0,n=1; uchar data Tempdatatable[5],CommandDatatable[5];//数据包 uchar serVal[2]; uint pwm[]={1120,1190,1382,1382,1382,1382,1382,1382}; //初始90度,(实际是1382.4,取整得1382) uchar pwm_flag=0; uint code ms0_5Con=461; //0.5ms计数 (实际是460.8,取整得461) uint code ms2_5Con=2304; //2.5ms计数 bit key_stime_ok; sbit StatusLight=P2^0; //状态灯 sbit MainLight=P2^1; //主大灯 sbit servo0=P0^0; //舵机控制 sbit servo1=P0^1; sbit servo2=P0^2; sbit servo3=P0^3; sbit servo4=P0^4; sbit servo5=P0^5; sbit servo6=P0^6; sbit servo7=P0^7; /******************************************************************** * 名称 : Delay_1ms() * 功能 : 延时子程序,延时时间为 1ms * x * 输入 : x (延时一毫秒的个数) * 输出 : 无 ***********************************************************************/ void Delay_1ms(uint i)//1ms延时 { uchar x,j; for(j=0;j<i;j++) for(x=0;x<=148;x++); } void TurnOnStatusLight() { StatusLight=0; } /******************************************************************** * 名称 : Send_Data() * 功能 : 向上位机传送字符 * 输入 : 无 * 输出 : 无 ***********************************************************************/ void Send_Data(uchar type,uchar cmd,uchar dat) { uchar data Buffer[5];//构建数据包 uchar *p; uint Send_Count=0; p = Buffer; Buffer[0]=0XFF; Buffer[1]=type; Buffer[2]=cmd; Buffer[3]=dat; Buffer[4]=0XFF; while(1) { if(*p==0XFF) { Send_Count++; //0XFF标志统计位 } SBUF = *p; //发送 while(!TI) //如果发送完毕,硬件会置位TI,等待发送完毕 { _nop_(); } p++; TI = 0; if(Send_Count == 2) //当统计到两次出现0XFF,则认为一个数据包发送完毕,跳出循环 { TI = 0; break;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值