通过拆解和DIY,已经见识到了各位“攻城狮”的优秀。现在,21ic第三届设计大赛隆重开赛,继续为各位提供展示实力的舞台。
今天我们来场王者对决,本次比赛评选由评审团综合打分+网友投票。

活动时间:即日起-2019.6.30

活动规则:

1、任选以下其中一个主题,完成设计。
2、活动时间内在技术类版块以【21ic第三届设计大赛】+标题 的形式发帖分享你做的过程和设计。

去论坛活动帖

竞赛主题A:数字函数发生器

数字函数发生器

基础项目:

1. 通过简单的控制, 如按键, 选择输出几种周期信号, 至少包括正弦波,方波,三角波。

2. 可以控制输出频率与幅度, 如通过另外两个按键分别控制输出的频率与幅度。

加分项目:

1. 通过串口进行精确控制频率与幅度, 如串口输入"sin 1000 0.5"表示输出1KHz,满幅度的0.5倍的正弦波。

2. 增加可输出周期信号的种类, 如增加周期高斯信号,周期半圆信号,周期锯齿波信号等等。

3. 可以输出预先存储的自定义信号, 存储器可利用外部也可使用MCU的内部Flash。

4. 信号叠加功能, 如输入"sin 1000 0.5 + square 100 0.1"表示1KHz, 满幅度的0.5倍的正弦波与100Hz的满幅度的0.1倍的方波的叠加输出。

竞赛主题B:冗余执行系统

冗余执行系统

基础项目:

1. 两个MCU分别作为主控制器与从控制器, 接了同一个ADC输入, 同一个LED输出. 正常情况下主控器完成如下控制模式: ADC读值分为三个档位[adc_val < LIMIT_A, (adc_val >= LIMIT_A) && (adc_val <= LIMIT_B), adc_val > LIMIT_B], 分别对应LED的三种状态[灭, 3Hz闪烁, 常亮] ADC的输入建议使用电位器进行控制, LED输出控制建议使用负逻辑控制(输出低LED亮)。

2. 从控制器同时读取ADC的读数并监视LED输出情况, 监视的状态可以查看, 如接有小屏幕或者通过串口输出当前状态[ADC读数, LED输出状态], 刷新间隔2秒或更短。

加分项目:

1. 破坏主控制器的控制功能, 使之不能完成控制功能, 如通过外部调试器擦除主控制器固件, 或者按键输入,或者直接断开主控制器与LED的电路连接使之不对LED进行输出, 而输出高阻状态. 此时从控制器能检测出主控制器没有完成控制功能。

2. 上述故障发生时, 从控制器能够接管控制功能, 从主控制器发生故障不能完成控制功能到从控制器接管间隔为2秒或更短。

3. 通过外部调试器或者按键输入使得主控制器能完成控制功能, 但与预先设定的不一样, 比如对应三种ADC读数档位全部输出LED亮. 此时从控制器能检测到该状况, 能够断开主控制器(通过控制主控器的复位引脚或者总电源开关)并接管控制功能。

发帖要求:

1、发帖必须是在二姨家的首次原创!!原创!!原创!!!照片必须拍上你手写的21ic论坛ID~~
2、发帖内容可包含但不仅限于以下内容:

  • 1)项目方案的构想;
  • 2)设计、搭建;
  • 3)调试流程;
  • 4)作品展示、制作心得和总结等。
  • 5)视频展示(能录制一段展示视频的有加分哦~)

活动结束后将收集参赛作品,在21ic论坛和微信平台同时展开投票

活动奖励: