- Arduino互动设计
- 王克伟 马丽丽等
- 720字
- 2020-08-27 19:53:31
挑战自我:用面包板做一个流光沙漏
流光沙漏效果类似沙漏()的形式,两个LED灯,一个逐渐变暗,另一个逐渐变亮。想一想怎样才能实现实验效果呢?
积木新知
数学运算
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0031_0001.jpg?sign=1739203729-MmnkV0HHxNi674CuBllIiFCFNmbcBepu-0-43326f03a0b29dd1c36d8e746b0b24ae)
“数学运算”积木能够实现两个数的加、减、乘、除、取余和乘方操作,单击该积木中“+”号右侧的小三角,可打开下拉菜单,显示“+”“-”“×”“÷”“%”“^”6种数学运算符。
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0031_0002.jpg?sign=1739203729-V8FQ7I0N12rNllpP8GGdtcAX9W6IFQfd-0-bd13ae2d251c306dd96645fda11369b7)
“数学运算”积木位于“数学”模块中,其具体位置如下。
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0031_0003.jpg?sign=1739203729-YNmag3wFFk6sNEsCRVUMXqnUfjDG4h2Z-0-3104a9a6ed7a35d2352b755c8f5e7c9d)
范例一
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0031_0004.jpg?sign=1739203729-QB850QrGPLXNeLY5Z2peyA2IdJXi4JNd-0-848af37e7384879c7188066af4c5e979)
设置LED灯亮度值为255(0+255),延时200毫秒;设置LED灯亮度值为0(255-255),延时200毫秒;最终实现LED灯每隔200毫秒闪烁的效果。
范例二
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0032_0001.jpg?sign=1739203729-x9PFfUWckqoKXcX8azFPCGauQw0xK1sb-0-2a01b3738ed14bf4b95d9534257d43ca)
设置LED灯亮度值为255(1×255),延时500毫秒;设置LED灯亮度值为0(0÷255),延时500毫秒;最终实现LED灯每隔500毫秒闪烁的效果。
范例三
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0032_0002.jpg?sign=1739203729-5d6Lni18YoVfwjLhGW6hW4ij4Nh3VuuU-0-3b75c955c9c868409a46357600f42d99)
“%”为取余运算,设置LED灯亮度值为0(255%255),延时1000毫秒;“^”为乘方运算,设置LED灯亮度值为128(2^7),延时500毫秒;最终实现LED灯每隔1000毫秒闪烁的效果。
硬件连接
将实验箱上的开关拨至“OFF”位置,将1个红色LED灯、1个绿色LED灯和2个1kΩ电阻按下图连接;使用若干公对公杜邦线,将其中两根线的一端插接在面包板上,另一端分别连接至主板的9号和10号管脚。
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0032_0004.jpg?sign=1739203729-QhUM4JNPbBodq5kHO87gtUUNR4osNc1G-0-5d5d1db7fcb004dc4b2bd8453eb09eec)
编程思路
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0033_0001.jpg?sign=1739203729-YbhYRlrvo8aiHW1vgBSJPVG1UJeYkAMq-0-2d58ea01c1e5b7d70c35be257fc5b455)
流光沙漏程序流程图
范例程序
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0033_0002.jpg?sign=1739203729-ZwKS8Cp7KEQh4ZfXeqz68tXKetZCx5ad-0-26ec5d167df84831a1e889862fea2e05)
流光沙漏程序
在第一个计次循环中,变量“亮度1”的数值每执行一次循环增加1,则连接9号管脚LED灯的亮度随之加1,连接10号管脚LED灯的亮度随之减1。变量值从0依次增加到255,重复执行,直到9号灯达到最亮,10号灯完全熄灭。再开始执行第二个计次循环。在第二个计次循环中,变量“亮度2”的数值每执行一次循环减1,则连接9号管脚LED灯的亮度随之减1,连接10号管脚LED灯的亮度随之加1。这时的变量值从255依次减小到0,直到10号灯达到最亮,9号灯完全熄灭。再开始执行第一个计次循环……