Arduino:1-初学
Arduino:1-初学
[toc]
认识开发版
![pinout](https://docs.arduino.cc/static/2b141eb1cfe6f465a949c203e4af1b5f/A000066-pinout.png)
- 右侧一列引脚是
数字输入/输出
端口,输入输出状态只有两种,0 or 1,其中0(RX)
1(TX)
端口用于和电脑进行数据传输,尽量不要使用 - 左下角橙色端口是
模拟输入
端口 - 左上角一系列端口是
电源
端口, 两个GND
是接地,接地端口上面两个分别提供5v
和3.3v
的电压
入口函数
Arduino的”Main”函数其实就是
setup()
和loop()
,setup
函数会在开发版通电或按下复位按钮后执行一次,每次执行完成setup
函数后会循环调用loop
函数
1 | // 给开发版通电或按下复位按钮后执行一次 |
点亮LED电路
第一个Arduino HelloWorld程序,操作主板上的
LED_BUILTIN
LED灯进行闪烁。
1 | // 给开发版通电或按下复位按钮后执行一次 |
pinMode()
:设置引脚模式,LED_BUILTIN
代表了引脚13,可以为Arduino主板自带的小LED供电,OUTPUT
模式就是输出电源。digitalWrite
:控制LED_BUILTIN(引脚13)
输出高/抵电平,以控制小灯明灭 。- 高电平为
5伏特
(不同开发版可能不同,此针对Arduino UNO) - 低电平为
0伏特/GND
- 高电平为
delay()
:函数,类比sleep
,单位毫秒
一些基础
![CleanShot 2023-09-18 at 23.46.03@2x](https://alfred-img.oss-cn-chengdu.aliyuncs.com/img/CleanShot%202023-09-18%20at%2023.46.03@2x.png)
点亮一个LED电路,需要一个LED灯
,一个电阻
,一个电源
,一个控制灯泡点亮的开关
LED
![CleanShot 2023-09-18 at 23.59.02@2x](https://alfred-img.oss-cn-chengdu.aliyuncs.com/img/CleanShot%202023-09-18%20at%2023.59.02@2x.png)
LED
:Light Emitting Diode
发光二极管LED
需要区分正负极,只允许电流从正级流向负极,正向时LED电阻约等于0,反向时LED由巨大电阻。- 实体
LED
灯引脚,长引脚是正极,短引脚是负极。 LED灯珠
工作电流通常约为**20毫安
**LED
在工作时通常会产生**2伏特
**左右的电压降,即LED
正负极之间的电压差2伏特
左右
电阻
![CleanShot 2023-09-19 at 00.05.23@2x](https://alfred-img.oss-cn-chengdu.aliyuncs.com/img/CleanShot%202023-09-19%20at%2000.05.23@2x.png)
- 由于
LED
的正向电流阻值很低,如果不放置一个电阻,会短路烧毁LED和电源
面包版
![CleanShot 2023-09-19 at 00.29.42@2x](https://alfred-img.oss-cn-chengdu.aliyuncs.com/img/CleanShot%202023-09-19%20at%2000.29.42@2x.png)
- 中间部分同一个连续行其内部连通
- 两边部分同一列其内部连通,一般
红色列
接电源正极
,蓝色列
接电源负极
。
外接LED
计算所需电阻大小
![CleanShot 2023-09-19 at 00.16.10@2x](https://alfred-img.oss-cn-chengdu.aliyuncs.com/img/CleanShot%202023-09-19%20at%2000.16.10@2x.png)
- 已知
LED
需要有2V
的电压降,接地端电压0V
,故右边应该有2V
的电压 - 已知开发板引脚高电平为
5V
,故电阻两端的电压差应为3V
- 已知
LED
的工作电流为20mA
- 故可计算:
- 电阻的流经电流为
20mA
- 电阻的电压为
3V
- 电阻的阻值
R = U/I
即3V/20mA = 150Ω
- 电阻的流经电流为
点亮啦!!
找了个220Ω的电阻串联,成功点亮小灯
代码和之前点亮内部LED几乎一样,只是引脚换成了我这次插入的5号引脚
1 |
|
读取输入
使用Serial库传输读取调试信息
1 | int pushButt = 2; |
输入模式
![CleanShot 2023-09-25 at 23.30.06@2x](https://alfred-img.oss-cn-chengdu.aliyuncs.com/img/CleanShot%202023-09-25%20at%2023.30.06@2x.png)
引脚切换为输入模式后,相当于给了引脚一个大阻值,此时可以通过外部电路控制引脚数值,如上图,开关打开时,引脚2接收5v电压,表现为高电平
,开关闭合时候,引脚2接地,表现为低电平
。
注意R1(10kΩ)
相当于一个上拉电阻
,保证开关打开时引脚2表现为低电平
,开关闭合时表现为高电平
,如果没有这个上拉电阻,开关闭合后5v直接接地会短路。
输入上拉模式
还有一种模式是输入上拉模式,开启此模式后将启用Arduino自带的上拉电阻。此时只需要一端接`GND`,一端接输入引脚,则开关断开时输入引脚为`高电平`,开关闭合后输入引脚为`低电平`。
![CleanShot 2023-09-25 at 23.37.31@2x](https://alfred-img.oss-cn-chengdu.aliyuncs.com/img/CleanShot%202023-09-25%20at%2023.37.31@2x.png)
示例代码:按下按钮后内置LED点亮
1 | void setup() { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Alfred的小站!