IP4A.4书中进阶题目解析-随机呼吸灯

链接: https://pan.baidu.com/s/1o8RxYLs

密码: sgub

《一块面包板带你玩转Arduino编程》

IP4A.4-LED随机灯(变量、随机数、数学的使用)

特别提示:书中进阶题目主要目的是用作学生学习结果评估的,所以一般不提供直接的答案,不过本题目咨询的老师和学生比较多,所以在这里简单视频讲解一下思路!

编程练习平台简介

本节指导侧重编程逻辑与能力的培养与指导,采用了具备12个板载LED(共地)的扩展板来完成,无需额外插接LED元器件,非常适合逻辑类编程任务赛的程序编写测试与验证。

本 节 微 课

题目要求

看清题目:

任意选3个支持PWM输出的端口,在随机点亮红、绿、蓝3种颜色的LED时,实现一个渐亮而另外一个渐灭的效果,单次循环周期依然要求为2秒,其中渐变过程要求为1秒,保持过程为1秒,循环执行,点亮顺序不可重复且3种颜色都要有机会被点亮。

题目分析

找关键词:

硬件端口看清楚:

任意3个支持PWM输出端口

我们选取9-10-11三个连续端口来降低编程难度

软件流程列详细:

先选取两个随机数

再将两个随机数对应的灯按要求进行呼吸操作

状态变化时间:渐变时间1秒;保持时间1秒

其它关键词别错过:

同时运行

题目电路连接(略)

关键词:颜色不同

题目程序编写与验证

先分析状态关系:新的灯渐亮,前一个灯渐灭同时发生

再分析每组状态的逻辑实现方式:新旧两个灯的PWM之和不变

最后根据逻辑实现方式编写程序:利用数学关系实现同时控制

关键注意事项:

正确程序的答案并不是唯一的

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180510G110KV00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券