当前位置: 首页 > news >正文

【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题&#xff0c;共100分) 1. 主题&#xff1a; 迎宾机器人 器件&#xff1a;Atmega328P主控板1块&#xff0c;舵机1个&#xff0c;超声波传感器1个&…...

MYSQL的存储过程

存储过程 存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合&#xff0c;调用存储过程可以简化应用开发人员的很多工作&#xff0c;减少数据在数据库和应用服务器之间的传输&#xff0c;对于提高数据处理的效率是有好处的。存储过程思想上很简单&#xff0c;就是…...

[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

经过各种尝试&#xff0c;终于找到原因。第一个是电脑加密软件&#xff0c;第二个是需要的部分功能没有开启&#xff0c;第三个BIOS设置。个人觉得第三个不重要。 解决方法 笔记本型号 笔记本型号是Thinkpad T14 gen2。进入BIOS的按键是按住Enter键。 1、关闭山丽防水墙服务…...

解决因为修改SELINUX配置文件出错导致Faild to load SELinux poilcy无法进入CentOS7系统的问题

一、问题 最近学习Kubernetes&#xff0c;需要设置永久关闭SELINUX,结果修改错了一个SELINUX配置参数&#xff0c;关机重新启动后导致无法进入CentOS7系统&#xff0c;卡在启动进度条界面。 二、解决 多次重启后&#xff0c;在启动日志中发现 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"]}})方…...

矿山定位系统-矿井人员定位系统在矿山自动化安全监控过程中的应用

一&#xff0c;矿井人员定位系统现阶段使用的必要性 1&#xff0c;煤矿开采是一项非常特殊的工作&#xff0c;现场属于非常复杂多变的环境&#xff0c;井下信号极差&#xff0c;数据传输非常不稳定&#xff0c;人员安全难以保证&#xff0c;煤矿企业一直在研究如何使用更合适的…...

JS-ECharts-前端图表 多层级联合饼图、柱状堆叠图、柱/线组合图、趋势图、自定义中线、平均线、气泡备注点

本篇博客背景为JavaScript。在ECharts在线编码快速上手&#xff0c;绘制相关前端可视化图表。 ECharts官网&#xff1a;https://echarts.apache.org/zh/index.html 其他的一些推荐&#xff1a; AntV&#xff1a;https://antv.vision/zh chartcube&#xff1a;https://chartcub…...

【eslint】屏蔽语言提醒

在 JavaScript 中&#xff0c;ESLint 是一种常用的静态代码分析工具&#xff0c;它用于检测和提醒代码中的潜在问题和风格问题。有时候&#xff0c;在某些特定情况下&#xff0c;你可能希望临时屏蔽或禁用某些 ESLint 的提醒信息&#xff0c;以便消除不必要的警告或避免不符合项…...

【python】入门第一课:了解基本语法(数据类型)

目录 一、介绍 1、什么是python&#xff1f; 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 &#xff0c;查看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. 提升 前言&#xff1a; 前端提取数据&#xff0c;后端优化数据&#xff0c;但误差会累计&#xff0c;需要回环检测构建全局一致的地图&…...

SpringBean的生命周期

SpringBean的生命周期 SperingBean的生命周期是从Bean实例化之后&#xff0c;即通过反射创建出对象之后&#xff0c;到Bean成为一个完整对象&#xff0c;最终存储到单例池中&#xff0c;这个过程被称为Spring Bean的生命周期。Spring Bean的生命周期大体上分为三个阶段 Bean的…...

uni-app 之 picker选择器

uni-app 之 picker选择器 同步滚动&#xff1a;开 uni-app 之 picker选择器 一、普通选择器 二、多列选择器 三、时间选择器 四、日期选择器 一、普通选择器 <template><view><picker change"bindPickerChange" :value"index" :range&q…...

整合车辆出险报告Api接口,轻松管理车险理赔!

随着车辆保有量的不断增加&#xff0c;车辆出险的情况也越来越普遍。对于车主来说&#xff0c;如何高效地管理车险理赔&#xff0c;处理保险事故是非常重要的。这时候我们就可以借助整合车辆出险报告API接口&#xff0c;实现快速定位理赔信息&#xff0c;轻松管理车险理赔。 一…...

eNSP基础网络学习-v02

一、eNSP 1.什么是eNSP eNSP(Enterprise Network Simulation Platform)是一款由华为提供的免费的、可扩展的、图形化操作的网络仿真工具平台&#xff0c;主要对企业网络路由器、交换机进行软件仿真&#xff0c;完美呈现真实设备实景&#xff0c;支持大型网络模拟&#xff0c;让…...

mac环境安装多个node版本(可切换)

出现问题 mac m1pro版&#xff08;前段时间刚换的&#xff09;,环境安装的都是最新的。node 18.17.1 前端跑的是react 18 的项目&#xff08;antD&#xff09;, 又跑了一个相对环境配置比较低的项目&#xff0c;然后启动不起来了&#xff1b; 分析控制台报错&#xff0c;推断是…...

Linux 操作技巧

目录 一、shell-命令解释器 二、Linux中的特殊符号 三、命令历史--history 一、shell-命令解释器 shell——壳&#xff0c;命令解释器&#xff0c;负责解析用户输入的命令 ——内置命令&#xff08;shell内置&#xff09; ——外置命令&#xff0c;在文件系统的某个目录下&…...

一个电子信息工程学生的历程和内心感想

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、我对大学三年专业课程的理解二、我为什么本科选择研究嵌入式这个方向&#xff1f;1.可以把理论变为实际应用——兴趣是最好的老师。2.嵌入式方向可以打的比赛非…...

【zookeeper】zk集群安装与启动踩坑点

zk安装我也踩了一些坑。特别是第一点&#xff0c;zk官网好像都没什么说明&#xff0c;导致直接下错了&#xff0c;搞了好几个小时。 踩坑点如下&#xff1a; 1&#xff0c;在zk官网下载包时&#xff0c;注意3.5以后的版本&#xff0c;要下载带-bin的&#xff0c;3.5之后&…...

Path of Building终极指南:5分钟掌握流放之路最强Build规划工具

Path of Building终极指南&#xff1a;5分钟掌握流放之路最强Build规划工具 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding Path of Building&#xff08;简称PoB&#x…...

打破BIM模型Web化壁垒:Revit2GLTF的轻量化转换技术革新

打破BIM模型Web化壁垒&#xff1a;Revit2GLTF的轻量化转换技术革新 【免费下载链接】Revit2GLTF view demo 项目地址: https://gitcode.com/gh_mirrors/re/Revit2GLTF 在数字化建筑设计流程中&#xff0c;BIM模型的高效协作与展示一直是行业痛点。设计团队常常面临这样的…...

轻量级PDF渲染库PdfiumAndroid:Android开发者的高效集成指南

轻量级PDF渲染库PdfiumAndroid&#xff1a;Android开发者的高效集成指南 【免费下载链接】PdfiumAndroid 项目地址: https://gitcode.com/gh_mirrors/pd/PdfiumAndroid 核心价值&#xff1a;为什么选择PdfiumAndroid&#xff1f; &#x1f4cc; 解决PDF渲染痛点&#…...

终极指南:如何在Open Interpreter中快速集成vLLM高速推理引擎

终极指南&#xff1a;如何在Open Interpreter中快速集成vLLM高速推理引擎 【免费下载链接】open-interpreter Open Interpreter 工具能够让大型语言模型在本地执行如Python、JavaScript、Shell等多种编程语言的代码。 项目地址: https://gitcode.com/GitHub_Trending/op/open…...

告别混乱!用CANoe的arxml数据库高效管理车载网络信号(附Signal/PDU/Frame创建全流程)

告别混乱&#xff01;用CANoe的arxml数据库高效管理车载网络信号&#xff08;附Signal/PDU/Frame创建全流程&#xff09; 当车载网络从简单的CAN总线发展到包含FlexRay、以太网等多协议混合架构时&#xff0c;工程师们面临的信号管理复杂度呈指数级增长。一个典型的域控制器项目…...

网页录制技术革命:为什么rrweb比传统录屏更强大?

网页录制技术革命&#xff1a;为什么rrweb比传统录屏更强大&#xff1f; 【免费下载链接】rrweb record and replay the web 项目地址: https://gitcode.com/gh_mirrors/rr/rrweb 在当今数字化时代&#xff0c;网页录制技术已经成为用户体验分析、产品演示、错误调试和在…...

C++vector,智能指针,拷贝构造函数

我将分别介绍 C 中的智能指针、std::vector 动态数组以及拷贝构造函数的概念、用法和适用场景。一、C 智能指针智能指针是用于自动化管理动态分配内存的模板类&#xff0c;位于 <memory> 头文件中。它们通过 RAII&#xff08;Resource Acquisition Is Initialization&…...

突破Windows苹果设备连接限制:Apple-Mobile-Drivers-Installer的自动化驱动解决方案

突破Windows苹果设备连接限制&#xff1a;Apple-Mobile-Drivers-Installer的自动化驱动解决方案 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址…...

VMware虚拟机安装Ubuntu教程:创建独立的Qwen3-14B-AWQ模型测试环境

VMware虚拟机安装Ubuntu教程&#xff1a;创建独立的Qwen3-14B-AWQ模型测试环境 1. 为什么需要虚拟机测试环境 在测试大语言模型时&#xff0c;使用虚拟机可以避免污染宿主机环境。特别是像Qwen3-14B-AWQ这样的模型&#xff0c;依赖项复杂&#xff0c;直接在主机上安装可能会与…...

美胸-年美-造相Z-Turbo入门实战:跟着步骤操作,快速产出作品

美胸-年美-造相Z-Turbo入门实战&#xff1a;跟着步骤操作&#xff0c;快速产出作品 1. 快速了解美胸-年美-造相Z-Turbo 美胸-年美-造相Z-Turbo是一款基于Z-Image-Turbo架构优化的文生图模型&#xff0c;特别擅长生成具有特定艺术风格的人物图像。这个镜像已经预装了所有必要的…...