Arduino
Arduino
ruoxijunArduino
ArduinoUno
组成信息:
电源与供电:
- USB 供电为 5V ,DC 供电电压要求 7~12V 一般取中间值 9V。
- 左下角电源接口可给外围模块供电,其中 VIN 输出电压等于主板电源电压
指示灯:
- ON:电源指示灯
- L:该 LED 连接到 Arduino 的 13 号引脚(不同主板可能不同)
- TX:串口发送指示灯,RX:串口接收指示灯
针脚说明:
输入输出:
ArduinoUNO 有 14 个数字输入输出端口,6 个模拟输入端口
- 0(RX)、1(TX)分别用于接收和发送串口数据
- 2、3 可以输入外部中断信号
- 带 ~ 号数字引脚(3、5、6、9、10、11)可用于输出模拟值
- 带 A 前缀引脚模拟输入引脚,读入模拟值
- 10(SS)、11(MOSI)、12(MISO)、13(SCK) 可用于 SPI 通信
- A4(SDA)、A5(SCL)和 TWI 接口 可用于 TWI 通信,兼容 I²C 通信
- AREF 模拟输入参考电压输入端口
ArduinoIDE:
注意:电脑连接或切换开发板需要在工具中选择对应的开发板和端口
- ArduinoUno-ch340 驱动下载地址:
https://www.wch.cn/downloads/CH341SER_EXE.html
- 添加 ESP8266 开发版 JSON:
https://arduino.esp8266.com/stable/package_esp8266com_index.json
- ESP8266-cp210 驱动下载地址:
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads
Arduino
C/C++ 基础
1 | // 宏定义(可以没有分号结尾) |
入门案例
- 使 ArduinoUno 开发板上自带与 13 号引脚连接的 LED 灯闪烁:
1 | // 初始化 |
Arduino 基础
数字输入输出:
- Arduino 针对不同的开发板预定义了不同的引脚,LED_BUILTIN 一般表示开发板自带的 LED 灯相连的引脚
- OUTPUT 输出模式、INPUT 输入模式、INPUT_PULLUP 输入上拉模式
- HIGH 高电平、LOW 低电平
1 | // 引脚模式,数字输入输出需要在 setup 中指定引脚模式 |
模拟输入输出:
1 | // 模拟值读入(A0~5,0~5V 值为 0~1023) |
analogRead
它基于 ATmega328P 微控制器的 Arduino 板的 ADC 分辨率为10位。这意味着它可以将输入电压分为2^10 = 1024个不同的级别analogWrite
输出值0到255范围的原因是因为 Arduino 的 PWM 分辨率为8位,这意味着它可以表示2^8 = 256个不同的占空比级别,将模拟输入值映射到0到255范围可以充分利用 Arduino 的 PWM 分辨率
串口通信:
1 | // setup 中串口通信初始化,并指定波特率(数据传输的速率) |
Serial.println
有第二个参数,参数用于控制输出格式:
DEC
:输出十进制数字HEX
:输出十六进制数字OCT
:输出八进制数字BIN
:输出二进制数字BYTE
:输出字符的 ASCII 编码值
模块实例
按钮模块
- 按钮在按下时可能出现震颤现象,这会导致在极小的一段时间里电平不停的高低之间转换(最简单的除颤方法是在电平首次改变时延时一段时间)
下拉电阻:
连接图:
- 示意图:
- 实例图:
- 限流电阻 :一般LED的最大能承受的电流为 25mA ,在LED一端串联了 220Ω 的电阻,这样可以控制流过LED的电流,防止损坏LED
- 下拉电阻 :在 2 号引脚到 GND 之前,连接了一个阻值 10K 的电阻。没有该电阻,当未按下按键时,2号引脚会一直处于悬空(没有连接任何电路)状态,会得到一个不稳定的值(可能是高,也可能是低)。电阻到地就是为了稳定引脚的电平,当引脚悬空时,就会识别为低电平。而这种 将某节点通过电阻接地 的做法,叫做下拉
代码:
1 |
|
上拉电阻:
连接图:
- 示意图:
- 实例图:
- 上拉电阻 :同下拉电阻一样,可以稳定 I/O 口电平,不同的是电阻连接到 VCC,将引脚稳定在高电位
代码:
- 只需将上面代码中
pinMode(readPin, INPUT);
替换为:
1 | pinMode(readPin, INPUT_PULLUP); |
- 启动后 LED 灯将默认亮起,因为
INPUT_PULLUP
模式表示将引脚设置为输入模式,并启用内部上拉电阻 - 如果没有外部电压施加到该引脚,它将默认读取为高电平(HIGH)。当外部设备将引脚接地时(按下),引脚将读取为低电平(LOW)
- 这种模式通常用于连接开关或按钮,因为它可以帮助消除浮动输入的问题
电位器
原理图:
- 电位器一般有 3 个针脚两边针脚任意接电压线和接地线,中间的针脚接模拟输入脚位(带 A 前缀的)
- 转动电位器时的值为 0~1023 ,向接电压针脚方向转时值增加,向接地方向时减小
实例代码:
A0 针脚读取电位器的值,3 号针脚接蜂鸣器正极并输出模拟值
范围值映射:
long map(long x, long in_min, long in_max, long out_min, long out_max)
1 |
|
Comment
匿名评论隐私政策
TwikooWaline
✅ 你无需删除空行,直接评论以获取最佳展示效果