LED闪烁比较简单,这次我们用按键开关控制LED的亮灭。为了检测按键开关的状态,我们需要了解和学习一个新的Arduino指令:函数digitalRead()。
digitalRead() 函数会检查括号中指定的引脚上是否有电压信号,同时根据检测结果返回 HIGH 和 LOW。
按照以下方式搭建硬件电路(实际搭建的时候,最好使用面包板来完成):
这里LED部分,和之前的文章不同,增加了一个限流电阻。限流电阻的大小,和LED有关。试用以下公式计算阻值大小:
R = (3.3 - V)/ I
其中的V为LED的正常点亮状态下的工作电压,普通发光管一般为1.5V(这个电压是和发光管使用的材料有关的),I为正常点亮状态下的工作电流,对直径为5mm的普通发光管一般为10mA,那么限流电阻的阻值经过计算就是0.18K,为了保险起见,我们可以使用220欧姆的电阻。如果您用的是普通的3mm的发光管,它的正常点亮状态下的工作电流为5mA左右,你可以用3mA来计算,这样的话,限流电阻可以选择为620欧姆的电阻,实际使用中我一般都用1K的电阻来替代,更安全一些,就是亮度差一点。因为LED有多重,使用时务必注意它的工作参数,避免烧毁。
程序如下:
const int LED = 13; // 声明输出用管脚编号 const int BUTTON = 7; // 声明输入用管脚编号 int val = 0; // 声明、初始化变量 // 设置管脚 void setup() { pinMode(LED, OUTPUT); // 配置LED用IO为输出 pinMode(BUTTON, INPUT); // 配置按键用IO为输入 } void loop(){ val = digitalRead(BUTTON); // 取得按键状态 if (val == HIGH) { digitalWrite(LED, HIGH); // 按键按下时,输入为高,点亮LED } else { // 否则灭掉LED digitalWrite(LED, LOW); } }
代码不需要过多说明,看注释即可。在代码中追加注释是一个良好的习惯,请你在编码的时候。一定要养成这样的习惯。
编译下载程序后,就可以看到你的成果了。