全国青少年机器人技术等级考试四级实操2018-09.docx

全国青少年机器人技术等级考试四级实操2018-09.docx

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自动跟随小车(共1题,每题100分,共100分) 1、主题:跟随小车 器件:三四级等级考试套件 要求: 1、 现场搭建小车。 2、 小车从发车线出发,向前移动,距离前方障碍物10厘米处暂停。 3、 移动障碍物,随着障碍物的移动,小车与障碍物间的距离始终保持10厘米。 4、 通过超声波传感器进行距离检测。 5、 程序编写采用C语言,不得使用图形化软件编写。 6、 考试结束,考生将代码转贝上交。 说明: 1、 考场编程环境为:Arduino IDE 2、 实操开始,考生需更先向主控板写入blink程序,经监考老师确认后方可进行小 车组装。 3、 小车距障碍物的距离为超声波传感器前端距离障碍物的距离。 4、 出发前,小车距离障物的距离为20-30cm。 5、 障碍物为竖向放置的A4尺寸大小。 6、 编写程序文件命名规则为 DJ KS准考证号.ino。 参考资料:HC-SR04/05超声波的工作原理如下图1所示 声,牛 Trig | UltraSonic —1 n ! m lj ;lj Echo 图1 1、 先向Tring引脚发送时长不小于10us的高电平,触发超声波提块。 2、 触发后,模块会自动发射8个40KHz的方波,并自动检测是否有信号回。 3、 如果有信号返回,通过Echo引脚输出一个高电平,高电平持续的时间便是超声 波从发射到接收的时间。 /* 本程序为18年9月份四级实操考试示例程序仅供参考 程序电机接D1和D2端口,超声波接D4端口 程序中用串口打印来显示超声波测量距离 */ int D1=6;〃 端口 D1 主 IO 引脚 int D1f=5;〃 端口 D1辅助IO引脚 int D2=10;〃 端口 D2 主 IO 引脚 int D2f=9;〃 端口 D2辅助IO引脚 int D3=11;〃 端口 D3主 IO 引脚 int D3f=3;〃 端口 D3辅助IO引脚 int D4=13;〃 端口 D4 主 IO 引脚 int D4f=12;〃 端口 D4辅助 IO 引脚 /* int D5=2;〃 端口 D5 主 IO 引脚 int D5f=8;〃 端口 D5辅助IO引脚 int D6=1;〃 端口 D6 主 IO 引脚 int D6f=0;〃 端口 D6辅助IO引脚 int D7=4;〃 端口 D7 主 IO 引脚 int D7f=7;〃 端口 D7辅助IO引脚 int D8=A5;// 端口 D8 主 IO 引脚 int D8f=A4;〃 端口 D8 辅助 IO 引脚 int ZMDA仁A0;〃 int ZMDA2=A1;// int ZMDA3=A2;// int ZMDA4=A3;//端口 A1IO引脚 端口 A2IO引脚 端口 A3IO引脚 端口 A4IO引脚 设置D1 设置D1端口为左马达管脚模式为输出 设置D1端口为左马达辅助管脚模式为输出 设置D2端口为右马达管脚模式为输出 设置D1端口为右马达辅助管脚模式为输出 设置Trig引脚接D4主管脚并设为输出模式 设置Echo引脚接D4辅助管脚并设为输入模式 设置串口波特率 */ //以上声明的变量为芝麻豆主控端口和管脚对应关系 void setup() { pinM ode(D1, OUTPUT);// pinM ode(D1f, OUTPUT);// pi nM ode(D2, OUTPUT);// pinMode(D2f, OUTPUT);// digitalWrite(D1, 0); digitalWrite(D1f, 0); digitalWrite(D2, 0); digitalWrite(D2f, 0); pi nM ode(D4, OUTPUT);// pinM ode(D4f, INPUT);// Serial.begi n(9600);〃 } void loop() { 端口左电机前进 端口左电机前进 端口右电机前进 端口左电机停止 端口右电机停止 端口左电机后退 端口右电机后退 digitalWrite(D4, LOW); delayMicrosec on ds(2); digitalWrite(D4, HIGH); delayMicrosec on ds(10); digitalWrite(D4, LOW); int dista nee二pulsel n(D4f,HIGH)/58; Serial.pri ntln( dista nee); if(dista nce10) { digitalWrite(D1, 0); an alogWrite(D1f, 255);//D1 digitalWrite(D2f, 0); an alogWrite(D2, 255);//D2 } else{ if(dista nce==10) { digit

文档评论(0)

136****3783 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档