【ardunio】青少年机器人四级实操代码(2023年9月)
目录
一、题目
二、示意图
三、流程图
四、硬件连接
1、舵机
2、超声波
3、LED灯
五、程序
一、题目
实操考题(共1题,共100分)
1. 主题:
迎宾机器人
器件: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个“rar或zip”格式文件,并命名为:DJKS4_身份证号,大小5M以下;
(2)将程序文件通过“上传附件”按钮进行上传;
(3) 程序编写过程中不得打开其它示例程序,不得使用图形化软件生成代码,如发现,实操成绩按照0分处理。
参考资料:舵机类库及常用成员函数如下,供参考。
舵机类库:
头文件:Servo.h
类库对象:Servo
成员函数:attach(Pin) //指定引脚的关联引脚
write(angle) //功能是让舵机转动到指定的角度
二、示意图

三、流程图
四、硬件连接
1、舵机
电源线正极接在VCC上,电源负极接在GND上,信号线接在D12脚。
2、超声波
电源线正极接在VCC上,电源负极接在GND上,Trig信号线接在D3脚,Echo信号线接在D2脚。
3、LED灯
LED_A灯模块用红色,负极接在GND上,正极接在D6脚。
LED_B灯模块用绿色,负极接在GND上,正极接在D7脚。
五、程序
#include <Servo.h>Servo myServo; //声明Servo对象
int distance; //声明距离变量,用于存储超声波测得障碍物距离
int angle; //声明舵机角度变量
const int servoPin=12; //设置舵机信号引脚
const int TrigPin=3; //设置Trig信号引脚
const int EchoPin=2; //设置Echo信号引脚
const int LED_A=6; //设置LED_A引脚
const int LED_B=7; //设置LED_B引脚
int delaytime=10; //设置舵机转到延时//初始化函数
void setup() {pinMode(LED_A,OUTPUT); //设置LED_A引脚为输出模式pinMode(LED_B,OUTPUT); //设置LED_B引脚为输出模式pinMode(TrigPin,OUTPUT); //设置TrigPin引脚为输出模式pinMode(EchoPin,INPUT); //设置EchoPin引脚为输入模式myServo.attach(servoPin); //绑定舵机引脚myServo.write(90); //初始化舵机旋转到90度digitalWrite(LED_A,LOW); //初始化LED_A熄灭digitalWrite(LED_B,LOW); //初始化LED_B熄灭}//循环函数
void loop() {//以下6行程序作用:读取超声波传感器前方障碍物距离digitalWrite(TrigPin,LOW);delayMicroseconds(2);digitalWrite(TrigPin,HIGH);delayMicroseconds(10);digitalWrite(TrigPin,LOW);distance=pulseIn(EchoPin,HIGH)/58.0;//如果障碍物距离在欢送区内if(distance>=5 && distance<=15){digitalWrite(LED_B,LOW); //LED_B灯熄灭digitalWrite(LED_A,HIGH); //LED_A灯点亮//以下for循环作用:舵机从30度旋转到90度for(angle=30;angle=90;angle++){myServo.write(angle);delay(time);}digitalWrite(LED_A,LOW); //LED_A灯熄灭//以下for循环作用:舵机从90度旋转到30度for(angle=90;angle>=30;angle--){myServo.write(angle);delay(time);} }//如果障碍物距离在欢迎区内else if(distance>15 && distance<=25){digitalWrite(LED_A,LOW); //LED_A灯熄灭digitalWrite(LED_B,HIGH); //LED_B灯点亮//以下for循环作用:舵机从90度旋转到150度for(angle=90;iangle=150;angle++){myServo.write(angle);delay(time);}digitalWrite(LED_B,LOW); //LED_B灯熄灭//以下for循环作用:舵机从150度旋转到90度for(angle=150;angle>=90;angle--){myServo.write(angle);delay(time);}}//如果障碍物距离不在欢迎区和欢送区内else{myServo.write(90); digitalWrite(LED_A,LOW);digitalWrite(LED_B,LOW);}}相关文章:
【ardunio】青少年机器人四级实操代码(2023年9月)
目录 一、题目 二、示意图 三、流程图 四、硬件连接 1、舵机 2、超声波 3、LED灯 五、程序 一、题目 实操考题(共1题,共100分) 1. 主题: 迎宾机器人 器件:Atmega328P主控板1块,舵机1个,超声波传感器1个&…...
MYSQL的存储过程
存储过程 存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。存储过程思想上很简单,就是…...
[kubernetes/docker] failed to resolve reference ...:latest: not found
问题描述: pod一直pending, kubectl describe pod ... 显示: Warning Failed 9s (x3 over 63s) kubelet Failed to pull image "mathemagics/my-kube-scheduler": rpc error: code NotFound desc failed to pull and unpack image "docker…...
彻底解决win11系统0x80070032
经过各种尝试,终于找到原因。第一个是电脑加密软件,第二个是需要的部分功能没有开启,第三个BIOS设置。个人觉得第三个不重要。 解决方法 笔记本型号 笔记本型号是Thinkpad T14 gen2。进入BIOS的按键是按住Enter键。 1、关闭山丽防水墙服务…...
解决因为修改SELINUX配置文件出错导致Faild to load SELinux poilcy无法进入CentOS7系统的问题
一、问题 最近学习Kubernetes,需要设置永久关闭SELINUX,结果修改错了一个SELINUX配置参数,关机重新启动后导致无法进入CentOS7系统,卡在启动进度条界面。 二、解决 多次重启后,在启动日志中发现 Faild to load SELinux poilcy…...
flask中的跨域处理-方法二不使用第三方库
方法1(第三方库) pip install flask-cors from flask import Flask from flask_cors import CORSapp = Flask(__name__) CORS(app, resources={r"/api/*": {"origins": ["http://localhost:63342", "http://localhost:63345"]}})方…...
矿山定位系统-矿井人员定位系统在矿山自动化安全监控过程中的应用
一,矿井人员定位系统现阶段使用的必要性 1,煤矿开采是一项非常特殊的工作,现场属于非常复杂多变的环境,井下信号极差,数据传输非常不稳定,人员安全难以保证,煤矿企业一直在研究如何使用更合适的…...
JS-ECharts-前端图表 多层级联合饼图、柱状堆叠图、柱/线组合图、趋势图、自定义中线、平均线、气泡备注点
本篇博客背景为JavaScript。在ECharts在线编码快速上手,绘制相关前端可视化图表。 ECharts官网:https://echarts.apache.org/zh/index.html 其他的一些推荐: AntV:https://antv.vision/zh chartcube:https://chartcub…...
【eslint】屏蔽语言提醒
在 JavaScript 中,ESLint 是一种常用的静态代码分析工具,它用于检测和提醒代码中的潜在问题和风格问题。有时候,在某些特定情况下,你可能希望临时屏蔽或禁用某些 ESLint 的提醒信息,以便消除不必要的警告或避免不符合项…...
【python】入门第一课:了解基本语法(数据类型)
目录 一、介绍 1、什么是python? 2、python的几个特点 二、实例 1、注释 2、数据类型 2.1、字符串 str 2.2、整数 int 2.3、浮点数 float 2.4、布尔 bool 2.5、列表 list 2.6、元组 tuple 2.7、集合 set 2.8、字典 dict 一、介绍 1、什么是python&…...
csa从初阶到大牛(练习题2-查询)
新建2个文件d1.txt d2.txt ,使用vim打开d1.txt 输入“Hello World”字符串,将b1.txt 硬链接到b2.txt ,查看2个文件的硬连接数 # 新建文件d1.txt和d2.txt touch d1.txt d2.txt# 使用vim编辑d1.txt并输入文本"Hello World" vim d1.txt# 创建硬链接b2.…...
【视觉SLAM入门】8. 回环检测,词袋模型,字典,感知,召回,机器学习
"见人细过 掩匿盖覆” 1. 意义2. 做法2.1 词袋模型和字典2.1.2 感知偏差和感知变异2.1.2 词袋2.1.3 字典 2.2 匹配(相似度)计算 3. 提升 前言: 前端提取数据,后端优化数据,但误差会累计,需要回环检测构建全局一致的地图&…...
SpringBean的生命周期
SpringBean的生命周期 SperingBean的生命周期是从Bean实例化之后,即通过反射创建出对象之后,到Bean成为一个完整对象,最终存储到单例池中,这个过程被称为Spring Bean的生命周期。Spring Bean的生命周期大体上分为三个阶段 Bean的…...
uni-app 之 picker选择器
uni-app 之 picker选择器 同步滚动:开 uni-app 之 picker选择器 一、普通选择器 二、多列选择器 三、时间选择器 四、日期选择器 一、普通选择器 <template><view><picker change"bindPickerChange" :value"index" :range&q…...
整合车辆出险报告Api接口,轻松管理车险理赔!
随着车辆保有量的不断增加,车辆出险的情况也越来越普遍。对于车主来说,如何高效地管理车险理赔,处理保险事故是非常重要的。这时候我们就可以借助整合车辆出险报告API接口,实现快速定位理赔信息,轻松管理车险理赔。 一…...
eNSP基础网络学习-v02
一、eNSP 1.什么是eNSP eNSP(Enterprise Network Simulation Platform)是一款由华为提供的免费的、可扩展的、图形化操作的网络仿真工具平台,主要对企业网络路由器、交换机进行软件仿真,完美呈现真实设备实景,支持大型网络模拟,让…...
mac环境安装多个node版本(可切换)
出现问题 mac m1pro版(前段时间刚换的),环境安装的都是最新的。node 18.17.1 前端跑的是react 18 的项目(antD), 又跑了一个相对环境配置比较低的项目,然后启动不起来了; 分析控制台报错,推断是…...
Linux 操作技巧
目录 一、shell-命令解释器 二、Linux中的特殊符号 三、命令历史--history 一、shell-命令解释器 shell——壳,命令解释器,负责解析用户输入的命令 ——内置命令(shell内置) ——外置命令,在文件系统的某个目录下&…...
一个电子信息工程学生的历程和内心感想
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、我对大学三年专业课程的理解二、我为什么本科选择研究嵌入式这个方向?1.可以把理论变为实际应用——兴趣是最好的老师。2.嵌入式方向可以打的比赛非…...
【zookeeper】zk集群安装与启动踩坑点
zk安装我也踩了一些坑。特别是第一点,zk官网好像都没什么说明,导致直接下错了,搞了好几个小时。 踩坑点如下: 1,在zk官网下载包时,注意3.5以后的版本,要下载带-bin的,3.5之后&…...
开放式耳机什么牌子好用又实惠?2026开放式耳机性价比推荐前十
如今开放式耳机早已不是“小众单品”,不入耳、不闷汗、能兼顾环境音的优势,让它成为通勤、运动、办公人群的首选。但大家选购时最纠结的问题始终是:开放式耳机什么牌子好用又实惠?市面上产品从百元到千元参差不齐,有的…...
双屏异显POS主板方案:RK3288芯片如何重塑智慧零售收银体验
1. 项目概述:当零售收银遇上双屏异显在零售行业干了十几年,从街边小店到连锁商超的收银系统都折腾过,我最大的感受就是:收银台那点地方,简直就是效率与混乱的角斗场。一边是收银员手忙脚乱地扫码、找商品、处理支付&am…...
90年代末至21世纪初黑客工具怀旧:从RAT到IRC,我们学到了什么?
远程管理工具(RAT)的黄金时代一切大约始于1998年,“死亡牛仔崇拜”组织在黑帽大会上发布“后门孔”工具。这名字是对微软BackOffice的有意双关,幼稚又精准,符合该组织风格。它能远程控制Windows 95/98机器,…...
Cursor Pro破解工具:5步实现永久免费使用的终极指南
Cursor Pro破解工具:5步实现永久免费使用的终极指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your trial…...
工业安全监控识别 智慧工业工地安全防护检测数据集的训练及应用 通过训练出的个人安全防护装备检测数据集的权重 推理检测识别人 头 脸部 眼镜 口罩 面罩 马甲 安全帽安全服的检测与识别 穿戴检测数据集
工业安全监控识别 智慧工业工地安全防护检测数据集的训练及应用 通过训练出的个人安全防护装备检测数据集的权重 推理检测识别人 头 脸部 眼镜 口罩 面罩 马甲 安全帽安全服的检测与识别 穿戴检测数据集 文章目录一、数据集情况二、类别编号与名称对照表三、典型应用场景四、适…...
如何用QVina实现20倍分子对接加速:3步构建高效药物筛选平台
如何用QVina实现20倍分子对接加速:3步构建高效药物筛选平台 【免费下载链接】qvina Accurately speed up AutoDock Vina 项目地址: https://gitcode.com/gh_mirrors/qv/qvina 如果你正在进行大规模药物筛选或分子对接计算,等待时间过长可能成为研…...
一篇看懂 SimGen:它为什么能“同时生成手术图像和分割掩码”?
在医学影像领域,“生成图像”已经不算新鲜事;但在手术场景里,真正有价值的并不只是生成一张“看起来像真的”图,而是同时生成一张能够精确标出器械、组织和解剖区域的分割掩码。因为对手术 AI 来说,最贵的从来不是图片…...
仅限首批GA客户开放!Gemini Advanced for Workspace隐藏API接口曝光(含/alpha/v2beta1/insights endpoints调用凭证获取路径)
更多请点击: https://intelliparadigm.com 第一章:Gemini Advanced for Workspace隐藏API的GA权限边界与合规性初探 Gemini Advanced for Workspace(GAWS)虽未正式开放全部后端接口文档,但通过网络流量分析与OAuth 2.…...
Linux 7.6 环境下 InterSystems Caché 数据库的部署与核心配置实战
1. 环境准备:打造Cach的温床 在RHEL 7.6最小化系统上部署InterSystems Cach前,我们需要像准备手术室一样严格配置基础环境。我曾在生产环境中因为漏掉一个依赖项导致整个安装流程卡住3小时,这些血泪经验都浓缩在下面的步骤里。 1.1 基础依赖安…...
为什么需要做GEO优化?AI新时代的商业规则探索
2026年,一个加速蔓延的商业现象正在发生:消费者不再打开搜索引擎、翻阅列表、逐条点击蓝色链接——他们直接打开DeepSeek、豆包、Kimi等AI助手,用一句完整的话发起提问:“这个价位哪个品牌最值得买?”“敏感肌用什么护…...
