一、学习目标:
学会用开关控制LED,了解下拉电阻与上拉电阻,学会使用if语句进行判断
二、材料:
arduino UNO、LED、杜邦线、合适的电阻、USB数据线
三、连接:
因为之前讲过如何计算合适的电阻,所以不在重复。
四、下拉电阻与下拉电阻:
图中所示接地的电阻就是下拉电阻。
在数字逻辑电路中,可以用1来表示高电平,即开关闭合,0表示低电平,开关没有闭合。
当状态为1时,我们想电路中的电压尽可能的接近5V,同样,当状态为0时,电压尽可能接近0V。
如果没有下拉电阻,当状态为1时,这个引脚就没有连接任何东西,不能确保状态接近所需要的电压,这部分电路就认为是浮动的,它的电压就会在0V到5V之间浮动。这种浮动称作电子噪声,在数字逻辑电路中可能会被随机地解释为0或1。
加上了下拉电阻,当按钮开关没有按下时,引脚总是接地的,就不会在两个值之间浮动。所以下拉电阻就是为了确保开关状态为0时,电路电压尽可能的接近0V。
反之,上拉电阻就是要引脚上总是高电平。
当状态为1时,端口和GND之间如果没有电阻,电路会被短路。
五、程序:
int a=0;
void setup() {
pinMode(7,INPUT);//设置数字引脚7为输出模式
pinMode(3,OUTPUT);
}
void loop() {
int i=digitalRead(7); //读取端口7的状态,并赋值给i
if (a==0){ //当a的值为0时,意味着开关被按下了双数次
if (i==HIGH){ //如果开关被按下
delay(500); //为了消除抖动
digitalWrite(3,HIGH);
a++;
}
}
else
if(a==1){ //当a的值为1时,意味着开关被按下了单数次
if(i==HIGH){
delay(500);
digitalWrite(3,LOW);
a--;
}
}
}
六、效果: