解析|电子学会机器人考级四级实操真题(2023年9月)

四季读书网 2 0
解析|电子学会机器人考级四级实操真题(2023年9月)
解析|电子学会机器人考级四级实操真题(2023年9月)-第1张图片-四季读书网关注我了解更多少儿编程内容
解析|电子学会机器人考级四级实操真题(2023年9月)-第2张图片-四季读书网

主题:迎宾机器人

器件:Atmega328P主控板1块,舵机1个,超声波传感器1个,LED灯2个(分别为LED_A和LED_B)及相应辅件。以上模块也可使用分立器件结合面包板搭建。

任务要求:

使用超声波传感器和舵机实现迎宾机器人的眼睛和手的功能。大门位于超声波传感器前方15厘米的位置,在大门内侧设定了欢送区,范围为5-15厘米;在大门外侧设定了欢迎区,范围为15-25厘米。LED_A位于欢送区,LED_B位于欢迎区,舵机则位于大门处。迎宾机器人的主要任务要求如下:

(1) 当没有客人进出时,舵机位于90度位置,LED_A和LED_B均熄灭;

(2) 当客人经过欢送区时,舵机在30-90之间循环转动,挥手示意,同时LED_A闪烁,LED_B熄灭;

(3) 当客人经过欢迎区时,舵机在90-150度之间循环转动,挥手示意,同时LED_B闪烁,LED_A熄灭;

(4) 控制程序采用Arduino C/C++代码编写;

(5) 未作规定处可自行处理,无明显与事实违背即可。

-------------------------------------------
难点分析:
难点1:超声波和舵机的使用程序。这个就需要了解清楚超声波和舵机的声明,直接背下来即可。
超声波和舵机的对应程序主要是在1~18行
难点2:进行对应的判断,题目中给到了两个判断的条件,一个是如果距离在5~15,第二个是如果距离在15~25,就会呈现不一样的情况,所以这里是一个多分支结构,就要熟练掌握多分支结构的使用方式,则使用if...else if...else语句。当满足条件时则执行对应的内容。
难点3:舵机的来回移动,这里就要使用到循环语句,从一个值到另一个值,逐次的增加再逐次的减少,同时对应的LED灯开始闪烁。
难点2和难点3的对应程序主要是在29~66行。
完整程序如下:
#include<Servo.h>Servo myServo;int servoPin=A0;const int t=2;const int e=3;int dist;int LEDA=5;int LEDB=9;voidgetDist(){  digitalWrite(t,LOW);  delayMicroseconds(2);  digitalWrite(t,HIGH);  delayMicroseconds(10);  digitalWrite(t,LOW);  dist = pulseIn(e,HIGH)/58;}voidsetup() {  Serial.begin(9600);  myServo.attach(servoPin);  pinMode(LEDA,OUTPUT);  pinMode(LEDB,OUTPUT);  pinMode(t,OUTPUT);  pinMode(e,INPUT);}voidloop() {  Serial.println(dist);  getDist();  if(dist>=5 && dist<=15){    for(int i=30;i<=90;i+=5){      myServo.write(i);      delay(20);    }    for(int i=90;i>=30;i-=5){      myServo.write(i);      delay(20);    }    digitalWrite(LEDA,HIGH);    delay(200);    digitalWrite(LEDA,LOW);    delay(200);    digitalWrite(LEDB,LOW);  }else if(dist>15 && dist<=25){    for(int i=90;i<=150;i+=5){      myServo.write(i);      delay(20);    }    for(int i=150;i>=90;i-=5){      myServo.write(i);      delay(20);    }    digitalWrite(LEDA,LOW);    digitalWrite(LEDB,HIGH);    delay(200);    digitalWrite(LEDB,LOW);    delay(200);  }else{    myServo.write(90);    delay(20);    digitalWrite(LEDA,LOW);    digitalWrite(LEDB,LOW);  }}
最终效果展示:
已关注
关注
重播 分享
如果你正准备参加三四级的考试,有遇到什么问题的话,可以找我哟。
陈老师这里提供三四级课程,资料和器材相关内容的支持。
-----end-----

如果你觉得陈老师写的对你有帮助,可以点赞关注额。感谢大家的支持。

解析|电子学会机器人考级四级实操真题(2023年9月)-第3张图片-四季读书网

也可以添加陈老师的微信(rtc_100)。陈老师会为你解答疑惑。

抱歉,评论功能暂时关闭!