一、程序部分
1. 变量
- 声明:
变量类型 变量名称 = “值”;
2. 程序结构
- void setup(){}
执行开启后的准备工作(代码),执行一次 - void loop(){}
重复执行工作(代码),反复执行
3. 常用函数
3.1 delay()
- 作用:延时
- 参数1:
int
时间,单位毫秒
3.2 pinMode()
- 作用:准备过程(setup函数)中,设置指定引脚的状态(
OUTPUT
输出模式,INPUT
输入模式,INPUT_PULLUP
输入上拉模式) - 参数1:
int
引脚索引 - 参数2:
int
引脚模式
3.3 digitalWrite()
- 作用:设置指定索引的输出状态(高,低电平)
- 参数1:
int
引脚索引 - 参数2:
int
输出状态(HIGH
输出高电平【5v】,LOW
输出低电平【0v/GND】)
3.4 digitalRead()
- 作用:读取指定索引的数字输出状态
- 参数:
int
引脚索引 - 返回:引脚的输出状态(
1
高电平、0
低电平)
3.5 Serial.begin()
- 作用:窗口通信初始化(IDE中的调试窗口)
- 参数:
int
数据传输速率
3.6 Serial.println()
- 作用:在通信窗口打印指定数据
- 参数:
mexed
需要打印的参数
int inputBtn = digitalRead(7);
Serial.println(inputBtn);
二、相关概念
1. 数字信号
- 开关,0和1
- 数字输入:(设置引脚为INPUT模式)
HIGH
高电平、LOW
低电平
开关状态 | 引脚 |
---|---|
打开 | HIGH 高电平 |
关闭 | LOW 低电平 |
2. 输入上拉
- 设置指定引脚为输入上拉模式:
pinMode(2,INPUT_PULLUP);
三、硬件部分
1. LED 发光二极管
- 单向通行(单向导电性):
给一个正向电流时(电流从led的正极流向负极),电阻相当于0(相当于导线)
给一个反向电流时(电流从led的负极流向正极),电阻十分巨大(相当于短路) - 压降:
led在工作时,会产生2v左右的电压降(正极和负极的电压差值)【或者理解为,led要工作,正极和负极最少需要2v的电压差,也就是可以通过电压降计算出所加的限流电阻的大小了(led的工作电流是20mA3v/20mA=150Ω
)】 - 区分LED原件的正负极:
引脚:长正短负,灯芯:短正长负
2. 电阻
- LED限流电阻:
为什么需要在控制LED时增加限流电阻 ?
因为,电源的正负极和LED灯珠直接连接时,LED灯珠的电阻无限小,可以近似看作是一段导线,相当于直接对电源造成了短路。
3. GND 接地
- 接地,就是0v的点,或者理解为负极
4. 面包板
- 中间部分,同一列为连同状态(中间线部分为断开的)(面包板横着放)
- 外侧两排(画线的两边部分,为横向连通,一般用连接电源)
5. 按键开关(push button)
- 正负极:
相连不同侧
同侧不相连
6. 上拉电阻
和按键开关配合使用(10kΩ),为了防止5v和GND直接连接
四、软件部分
- arduino IDE:
arduino官方下载 - arduino uno ch340芯片 win10驱动:
ch340 win10驱动 - arduino仿真模拟软件:
fritzing