目录
1,digitalRead - 数字状态的输入
1-1,复习一下初中物理:串联电阻,电压与电阻分布成正比
1-2,开关的特性:开-零电阻---关-无穷大电阻
1-3,电路设计
1-4,Arduino 编码
1-5,测试
继续来看一下常用函数
1,digitalRead - 数字状态的输入
1-1,复习一下初中物理:串联电阻,电压与电阻分布成正比
- 5V 电压,分别串联 10K欧,10K欧的电阻
中间点位的电压为2.5V
中间点位的电压是指该点位与接地(电源负极)之间的电压
而它是跟电阻成比例的,5V * 10K欧/(10K欧+10K欧)= 5V * 0.5 = 2.5V
- 5V 电压,分别串联 10K欧,4.7K欧的电阻
中间点位的电压为1.6V
5V * 4.7K欧/(10K欧+4.7K欧)= 5V * 0.32 = 1.6V
- 5V 电压,分别串联 10K欧,68K欧的电阻
中间点位的电压为4.36V
5V * 68K欧/(10K欧+68K欧)= 5V * 0.872 = 4.36V
1-2,开关的特性:开-零电阻---关-无穷大电阻
关-无穷大电阻,所以,探针特测到的是5V
开-零电阻,所以,探针特测到的是0V
当然,如果上述电路,开关和电阻换个位置,那就是完全不同的电路了
不过这种连接方法并不常用,咱们可以先忽略它
开 - 零电阻,10K欧相当于分得了所有5V电压
关-无穷大电阻,那下面虽然有10K欧之多,但跟无穷大相比约等于0,探针点位分到电压约等于0
根据上述开关特性,设计电路
1-3,电路设计
4号针脚为数字输入,通过开关,来输入高电平(关--开关断开)或低电平(开--开关闭合)
9号针脚为数字输出:当4号输入5V(高电平),LED发光;当4号输入0V(低电平),LED不发光
下面通过编码来实现上述设计
1-4,Arduino 编码
void setup() { pinMode(4,INPUT); pinMode(9,OUTPUT); } void loop() { unsigned char ret = digitalRead(4); if(ret==LOW){ digitalWrite(9,HIGH); }else{ digitalWrite(9,LOW); } }编译成二进制
1-5,测试
别忘记加载固件,然后再测试哈
开关闭合,4号针脚输入高电平,9号输出高电平,所以LED发光
开关断开,4号针脚输入低电平,9号输出低电平,所以LED不发光R
以上就是本篇的全部内容。
如果大家觉得还行,希望大家多点赞,收藏,转发,感谢!
更多业务知识请点击下面目录链接或东京老树根的博客主页
https://blog.csdn.net/shi_ly/category_12216766.html
东京老树根-CSDN博客