![Arduino互动设计](https://wfqqreader-1252317822.image.myqcloud.com/cover/204/27741204/b_27741204.jpg)
挑战自我:用面包板做一个流光沙漏
流光沙漏效果类似沙漏()的形式,两个LED灯,一个逐渐变暗,另一个逐渐变亮。想一想怎样才能实现实验效果呢?
积木新知
数学运算
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0031_0001.jpg?sign=1739281928-WmwISuyoZ8oXc9XKu8Ogq4bqYTtZoyDS-0-09e4764d5e9e0a4f543d9a85390beb62)
“数学运算”积木能够实现两个数的加、减、乘、除、取余和乘方操作,单击该积木中“+”号右侧的小三角,可打开下拉菜单,显示“+”“-”“×”“÷”“%”“^”6种数学运算符。
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0031_0002.jpg?sign=1739281928-btpp3Nft90qqmB1pqt1LdOEECKQgAauy-0-d82ee56caf3bcab8976e9724046c89ab)
“数学运算”积木位于“数学”模块中,其具体位置如下。
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0031_0003.jpg?sign=1739281928-7dJKKkEgAiXDXdFjOSazTom6H3RzZrxI-0-230b5e34c561e505409bbe249616dd04)
范例一
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0031_0004.jpg?sign=1739281928-LKx1OuqfvTtnJfHxe2NDUz4ji54GED1y-0-5902e37f2d003d5b12a2c81001d1b5c3)
设置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=1739281928-LWHC2E0wIELQ5kJUfbYq9rMUlzk3m4ef-0-fe541a5201fae9bb9c221dece790e58b)
设置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=1739281928-lRR6mZ04bU5kOaEVfQBhq8zlyiwx1Rf2-0-2e07da99dd79545446595b7131246c3a)
“%”为取余运算,设置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=1739281928-cDufHaQWtDz2EECDUAO5pyNmY47Gvbaw-0-58e2973d634a76f78d7c5f5662fae6e8)
编程思路
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0033_0001.jpg?sign=1739281928-RhuMtljoYa8aaFIrMP4TBlIpDL52XtD5-0-af658adaadce433f35def7c1423bdfc2)
流光沙漏程序流程图
范例程序
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0033_0002.jpg?sign=1739281928-bHS2PDJwz0gbacKQ9Lhmm6uEhagE0EnC-0-0c9108b44de5ba21c190dd3f377d72e0)
流光沙漏程序
在第一个计次循环中,变量“亮度1”的数值每执行一次循环增加1,则连接9号管脚LED灯的亮度随之加1,连接10号管脚LED灯的亮度随之减1。变量值从0依次增加到255,重复执行,直到9号灯达到最亮,10号灯完全熄灭。再开始执行第二个计次循环。在第二个计次循环中,变量“亮度2”的数值每执行一次循环减1,则连接9号管脚LED灯的亮度随之减1,连接10号管脚LED灯的亮度随之加1。这时的变量值从255依次减小到0,直到10号灯达到最亮,9号灯完全熄灭。再开始执行第一个计次循环……