草庐IT

2018年安徽省机器人大赛单片机与嵌入式系统应用技能竞赛试题(1)

嵌入式小趴菜学习记录 2025-02-18 原文

目录

一、试题描述

1、任务

2、基本功能要求

3、发挥要求

4、说明

二、开发板介绍

 三、所用器件:

1一个超声波测距传感器

2eeprom

3电位器

4 4*4矩阵键盘

5蜂鸣器

6led灯

7步进电机

8RTC 实时时钟

9所用芯片

 四、主要思路


一、试题描述

1、任务

        设计并制作汽车倒车防撞报警器。开机后,屏幕第一行显示“DCFZBJQ”,第二行显示“抽签号后4位”(如0207),并自下而上滚动,3秒后停止滚动。画出系统各组件连接图,并简要说明,画出键盘图并标注各键功能。画出全部程序流程图。

2、基本功能要求

        (1)应用超声波传感器实现距离采集,并在12864点阵屏上显示。利用实验桌面到房顶距离(2.65米)进行校准。 

        (2)能够实现显示有效最远值、最近值存储、查阅和清除。

        (3)能够按键记录当前距离值,能计算两次按键所记录距离间的速度并显示。(见说明)

3、发挥要求

        (1)应用可变电阻通过A/D(10位)输入3位半数值(保留2位小数),模拟超声波传感器输入0-10米。

        (2)设计4x4矩阵键盘输入,能够设置限定值报警功能,并实现声、光报警。

        (3)模拟输入值>1.2米时,输出控制电动机正转,并实现数值越大转速越快, 数值越小转速越慢,并显示速度;<0.9米时,电机反转,<0.5米报警。

        (4)按键实现日期时间显示功能(使用单片机定时器实现)。

4、说明

        1、按照实际使用价值来设计,还应当考虑到竞赛评测的时间短问题。

        2、速度计算公式:v=m/s,m-距离(米),s-时间(秒)。

        3、模拟汽车倒车,第一次按键取值记录为第一距离,再次按键取值记录为第二距离,计算第一距离到第二距离之间的速度。

二、开发板介绍

开发板:单片机与嵌入式系统竞赛实训平台

 

场景功能板按预设应用场景分配硬件接口资源,划分为公共资源区、智能农业区、智能小
车区、智能音箱区、工业互联网区共 5 个功能区。各类输入、输出、存储、通信等设备,
均按功能区场景进行物理分布,并通过直观的印刷文字图形进行区分说明。摒弃了杜邦线
硬件连接的各种弊端,可以通过所见所得的方式快速搭建应用系统。

 三、所用器件:

1一个cs100a超声波测距芯片

实现测距效果。

2eeprom

AT24C256 是场景功能板板载的 EEPROM 芯片,容量为 256K 字节。用于存储一些掉电不能
丢失的重要数据,比如系统设置的一些参数/触摸屏校准数据等。有了这个就可以方便的实
现掉电数据保存。

 

 3电位器

电位器可完成 ADC 相关实验。

4,4*4矩阵键盘

5蜂鸣器

这是场景功能板的板载蜂鸣器(BEEP),可以实现简单的报警/闹铃等功能。

 6led灯

一个LED灯

 7步进电机

一个 4 相 5 线步进电机,及其驱动电路,可完成正反转、加减速等驱动。

8RTC 实时时钟

主芯片为 DS1302 ,DS1302 是 DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时
钟/日历和 31 字节静态 RAM,通过简单的串行接口与单片机进行通信。
CR1220 电池(默认安装了),可以给 DS1302 供电,同时也可以用来给 STM32 的后备区域
提供能量,在外部电源断电的时候,维持后备区域数据的存储,以及 RTC 的运行。

 9所用芯片

stm32zet6

 四、主要思路

 

想得分可以再丰富一下子模块。(这只是简单演示总体逻辑)

有关2018年安徽省机器人大赛单片机与嵌入式系统应用技能竞赛试题(1)的更多相关文章

  1. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  2. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  3. C51单片机——实现用独立按键控制LED亮灭(调用函数篇) - 2

    说在前面这部分我本来是合为一篇来写的,因为目的是一样的,都是通过独立按键来控制LED闪灭本质上是起到开关的作用,即调用函数和中断函数。但是写一篇太累了,我还是决定分为两篇写,这篇是调用函数篇。在本篇中你主要看到这些东西!!!1.调用函数的方法(主要讲语法和格式)2.独立按键如何控制LED亮灭3.程序中的一些细节(软件消抖等)1.调用函数的方法思路还是比较清晰地,就是通过按下按键来控制LED闪灭,即每按下一次,LED取反一次。重要的是,把按键与LED联系在一起。我打算用K1来作为开关,看了一下开发板原理图,K1连接的是单片机的P31口,当按下K1时,P31是与GND相连的,也就是说,当我按下去时

  4. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  5. Hive SQL 五大经典面试题 - 2

    目录第1题连续问题分析:解法:第2题分组问题分析:解法:第3题间隔连续问题分析:解法:第4题打折日期交叉问题分析:解法:第5题同时在线问题分析:解法:第1题连续问题如下数据为蚂蚁森林中用户领取的减少碳排放量iddtlowcarbon10012021-12-1212310022021-12-124510012021-12-134310012021-12-134510012021-12-132310022021-12-144510012021-12-1423010022021-12-154510012021-12-1523.......找出连续3天及以上减少碳排放量在100以上的用户分析:遇到这类

  6. ruby - 在没有基准或时间的情况下用 Ruby 测量用户时间或系统时间 - 2

    因为我现在正在做一些时间测量,我想知道是否可以在不使用Benchmark类或命令行实用程序time的情况下测量用户时间或系统时间。使用Time类只显示挂钟时间,而不显示系统和用户时间,但是我正在寻找具有相同灵active的解决方案,例如time=TimeUtility.now#somecodeuser,system,real=TimeUtility.now-time原因是我有点不喜欢Benchmark,因为它不能只返回数字(编辑:我错了-它可以。请参阅下面的答案。)。当然,我可以解析输出,但感觉不对。*NIX系统的time实用程序也应该可以解决我的问题,但我想知道是否已经在Ruby中实

  7. ruby - 以毫秒为单位获取当前系统时间 - 2

    在Ruby中,以毫秒为单位获取自纪元(1970)以来的当前系统时间的正确方法是什么?我试过了Time.now.to_i,好像不是我想要的结果。我需要结果显示毫秒并且使用long类型,而不是float或double。 最佳答案 (Time.now.to_f*1000).to_iTime.now.to_f显示包含十进制数字的时间。要获得毫秒数,只需将时间乘以1000。 关于ruby-以毫秒为单位获取当前系统时间,我们在StackOverflow上找到一个类似的问题:

  8. ruby-on-rails - 如何构建复杂的 Rails 系统 - 2

    关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我们有以下(以及更多)系统,我们将数据从一个应用推送/拉取到另一个:托管CRM(InsideSales.com)Asterisk电话系统(内部)横幅广告系统(openx,我们托管)潜在客户生成系统(自行开发)电子商务商店(spree,我们托管)工作板(本土)一些工作网站抓取+入站工作提要电子邮件传送系统(如Mailchimp,自主开发)事件管理系统(如eventbrite,自主开发)仪表板系统(大量图表和

  9. ruby-on-rails - Rails 3,在RAILS_ROOT上方显示来自本地文件系统的jpg图片 - 2

    我正在尝试找出一种方法来显示来自不在RAILS_ROOT下(在RedHat或Ubuntu环境中)的已安装文件系统的图像。我不想使用符号链接(symboliclink),因为这个应用程序实际上是通过Tomcat部署的,而当我关闭Tomcat时,Tomcat会尝试跟随符号链接(symboliclink)并删除挂载中的所有图像。由于这些文件的数量和大小,将图像放在public/images下也不是一种选择。我查看了send_file,但它只会显示一张图片。我需要在一个格式良好的页面中显示6个请求的图像。由于膨胀,我宁愿不使用Base64编码,但我不知道如何将图像数据与呈现的页面一起传递下去。

  10. ruby - 如何保持我不常用的编程语言技能 - 2

    关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭11年前。Improvethisquestion我不经常使用ruby​​-通常它加起来相当于每两个月或更长时间编写一次脚本。我的大部分编程都是使用C++进行的,这与ruby​​有很大不同。由于我与ruby​​之间的差距如此之大,我总是忘记语言的基本方面(比如解析文本文件和其他简单的东西)。我想每天练习一些基本的东西,我想知道是否有一些我可以订阅的网站,并且会向我发送当天的Ruby问题或类似的东西。有人知道这样的站点/Internet服务吗?

随机推荐