int anNiu=3; //定义变量anNiu接入数字引脚3
int ledPin=6; //定义变量pinLed接入数字引脚6
void setup()
{
pinMode(anNiu, INPUT_PULLUP); //初始化anNiu(数字引脚3)为 INPUT_PULLUP 模式
pinMode(ledPin, OUTPUT); //初始化pinLed(数字引脚6)为 OUTPUT 模式
}
void loop()
{
int val=digitalRead(anNiu); //读取输入引脚(数字引脚3)并赋值给变量val
if(val==LOW) //当按钮被按下时
{
digitalWrite(ledPin, HIGH); //LED灯亮
}
else
{
digitalWrite(ledPin, LOW); //LED灯灭
}
}
/*
原理:
1、按钮开关的原理在《按钮开关(上拉输入模式)》那个实验里已经解释的很清楚,
就不赘述了,不清楚的通过拓展中的链接自行观看,
这里直接使用上个实验的结论了
2、按下按钮前,数字引脚3与电路板内部的电源相连,输出高电平(1),所以val的值为1
3、按下按钮时,数字引脚3与GND(接地引脚)相连,输出低电平(0),所以val的值为0
4、松开按钮时,同2,输出高电平(1),所以val的值为1
5、我们想实现的是当按钮被按下时,LED灯亮,当按钮被松开时,LED灯灭,
所以要使用if语句:if(val==0){digitalWrite(ledPin, HIGH);}
即只有当val的值为0时,LED灯才会亮
*/
/*
观察结果:
1、按下按钮前,LDD灯灭
2、按下按钮时,LED灯亮
3、松开按钮时,LED灯灭
*/
/*
拓展:
1、如果你不清楚按钮开关的原理,请查看下面的实验
实验链接:https://wokwi.com/projects/375998610826503169
2、如果你已经掌握了按钮开关控制LED灯,可以尝试制作一款抢答器,实验如下
实验链接:https://wokwi.com/projects/376014974641537025
*/
/*
______ _ _ _______ _______
| \ | | |______ |
|_____/ |_____| ______| |
*/