Arduino进阶实验:遥控自走车(51单片机通信)剖析.pptxVIP

Arduino进阶实验:遥控自走车(51单片机通信)剖析.pptx

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Arduino进阶实验:遥控自走车(51单片机通信)剖析

制作一只非常~听话的苦力怕 苦力怕,是本组依照单机游戏“Minecraft”中“爬行者”角色的外形制作的Dino 928 此次实验重点在于通讯与交互过程 初试篇:使用简单数字讯号调教苦力怕 首先如何才能发送一个数字信号 制作的初期,发现蓝牙是一个可能很普遍存在于大众的模组,如不出所料,各位看到这句的时候已经应验了…… 于是我们果断放弃了蓝牙,转而决定用红外线机制,传输一个键码值给MCU,再让MCU控制不同位于Arduino的PIN口进行后续判断 硬体组成 接收红外 转发数字信号(非串口) 数字信号接收端 架构解析 红外遥控器 MCU转发 Arduino接收 导通电机马达 NEC Digital UART 外部供电 外部供电 液晶显示板 NEC协议 NEC数据格式:引导码、用户码、用户码(或者用户码反码)、按键键码和键码反码,最后一个停止位。 51单片机程式码 void main() { EA = 1; ENLED = 0; //LED enable ADDR3 = 1; InitInfrared(); //初始化 (略) if (irflag) //接收到红外数据时刷新显示 { irflag = 0; switch(ircode[2]) { case 0X0C: LedBuff[0] = LedChar[1];left=1;break; case 0X18: {LedBuff[0] = LedChar[2];go=0;back=1;stop=1;}break; case 0X5E: LedBuff[0] = LedChar[3];right=1;break; Arduino程式码 void loop() { int go =digitalRead(2); //取A2的数字信号值。 int stop1 =digitalRead(3); //取得A3的模拟信号值。 int back =digitalRead(4); if ( go == 1) { // 前進 Serial.println(前進); digitalWrite(M1_in1, HIGH); digitalWrite(M1_in2, LOW); digitalWrite(M2_in3, HIGH); digitalWrite(M2_in4, LOW); 实物连接 单片机P2.1 == PIN2 单片机P2.2 == PIN3 进阶篇:使用串口通讯操纵苦力怕 制作动机么… 在第一次实验遥控苦力怕的过程中,我们遥控系统普遍存在一些问题 “假设我们的Arduino程式已经不被允许修改了~” 不考虑操作者具备特异功能,人手的速度和准度是有限的,有什么办法可以使之做到: 前进100ms 后退100ms 反复3次? 架构解析 PC(串口助手) MCU转发 Arduino接收 控制电机马达 UART Digital UART 外部供电 外部供电 实物连接 P3.0口,连接Arduino的Tx脚 P3.1口,连接Arduino的Rx脚 51单片机程式码 void main() { (略) while(1) { while(RI == 0); RI = 0; c = SBUF; // 从缓冲区中把接收的字 符放入c中 SBUF = c; // 要发送的字符放入缓冲 区 while(TI == 0); TI = 0; } Arduino程式码 参考 Lab 16 _1 控制马达程序,一字不变 串口的发送中断和接收中断:用TI/RI来控制中断使能 TI表示发送中断,如果使能,当数据串口发送出去之后,会产生发送中断, 实验流程 1.打开 stc-isp-15xx-v6.85I.exe程式 2.MCU重新上电启动 3.选择“串口助手” 6.发送指令 4.打开COM port 5.设定间隔时长 最终章:使用苦力怕操纵苦力怕 通讯方式:RS485 1、采用差分信号。 2、RS485通信速率快,最大传输速率可以达到10Mb/s以上。 3、RS485内部采用平衡驱动器和差分接收器的组合,抗干扰能力大大增加。 4、传输距离最远可以达到1200米左右。 5、可

文档评论(0)

jiayou10 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档