- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
远程无线控制小车
可以实现远程无线遥控,只要有网络的地方,都可以做控制端或者被控制端,例如,你在北京,我在广州,你就可以控制这个小车的动作,在SMC盒子上接上摄像头,完全实现无线遥控控制。
用途吗,你把它放家里可以当安防,你把它放到工厂,可以当保安,你把它放到战场它可以做机器战士(一点都不夸张),呵呵,继续想象吧
总的来说嘛,SMC就是一个可以跨越距离的你PC后面的串口。
我的作品,先上图 再来
嘿嘿,说起来挺简单的,简单一点的说:PC控制SMC盒子,盒子里面用Debian系统,系统控制SMC串行端口,端口控制51单片机,单片机控制车体,OK!!!
SMC远程无线控制小车制作(2)
2012年03月02日 10:08 来源:本站整理 作者:秩名 我要评论(0)
详细一点,往下来看:
1,先往SMC盒子安装Debian系统 2,焊接盒子的串行接口线——只需要焊接1 3 6号脚就可以,我焊接的一般就不上图了(如果经常用串行接口的话,可以去掉一个USB中间两根线,改接这两根RX ,TX ,嘿嘿,反正两个USB呢,也用不着那么多,个人观点哦,根据自己实际情况定。)
3,焊接受控制电路板。以下以51单片机为例(有串口了,其他还不好说吗!),我的如下:
特别注意的,如果有51单片机编程器的话就不用焊RS232了,这个盒子串口是TTL电平,51也是,绝配!记得RX--TX TX--RX哦。
当然没有编程器,那就多费点劲,想偷懒,就找个老式的COM口数据线,嘿嘿,那个一般都是RS232,具体接法百度吧!
4,51单片机再接个L298N,接法如下,详情百度,多如牛毛。
硬件一切就绪,接下来,软件
1,先说一下SMC盒子串口的控制,用minicom控制,具体如下
debian安装OK后
apt-get install minicom
一路Y,安装完成。
minicom -s
配置串口,出现配置菜单:选serial port setup
进入串口配置
输入A配置串口驱动为/dev/ttyS0
输入E配置速率为9600 8N1
输入F将 Hardware Flow Control 设 为 NO
回车 退出
由于我们使用minicom作为超级终端控制路由器等设备, 而不是控制modem, 所以需要修改Modem and dialing, 将Init
string, Reset string, Hang-up string设置为空。 设置完成后选择Save setup as
dfl将当前设置保存为默认设置。
在配置菜单 选Save setup as df1保存(一定要记得这一步)
选Exit退出
下次在输入minicon 即可直接进入,按CTRL+A 再按shift+E 调出回显,OK完成。
2,要远程控制,动态域名即可。
SMC远程无线控制小车制作(3)
2012年03月02日 10:08 来源:本站整理 作者:秩名 我要评论(0)
3,单片机程序
//Code by myasus 仅希望抛砖引玉
//QQ #include《 P》
#include 《 P》
sfr DC=0x90; //P1是电机接口,P1.0--A P1.1--BP 1.2--ENAB P1.3--ENCD P1.4--C P1.5--D A--GO B--BACK C--LEFT D--RIGHT
//-------------------------取数据----------------------//
char getData(void)
{
char c;
while (!RI);
c=SBUF;
RI=0;
return (c);
}
//------------------------串口定义-----------------------//
void Init_Timer1_COM(void)
{
SCON=0x52;
TMOD=0x20;//定时器1定时方式2
TL1=0xfd;//baudRate:9600
TH1=0xfd;
TR1=1;//timer1 reset
}
//-----------------------主程序--------------------------//
main()
{
char c;
Init_Timer1_COM();
while(1)
{
c=getData();
switch (c)
{
case ‘
文档评论(0)