正在加载图示…
按正确的顺序组装开发板,然后上电检查,就像在实验台上一样。
已完成 0/9 步永远不要在带电的板子上操作。碰任何元件之前,先拔掉 USB 线以及接在 VIN 或 5V 上的一切。
每一种故障都会在模拟中真实发生。触发一个,观察图示,再读一读原因。
Nano(A000005,3.3 版)和 Uno 一样,用的是 16 MHz、5 V 逻辑的 ATmega328P,只是装在一块 43.18 × 17.78 mm 的板上,两排各 15 个引脚,间距 0.6 英寸,所以能正好跨在面包板中间。USB 从 Mini-B 插座进来,经过一颗 FTDI FT232RNL USB 转串口芯片,它也负责在上传时复位 328P。板上有 14 个数字引脚(其中 6 个支持 PWM)、8 个模拟输入(A6 和 A7 只能做模拟输入)、32 KB 闪存(其中 30 720 字节留给你的程序)、2 KB RAM 和 1 KB EEPROM。它没有 DC 圆孔插座:可以用 USB 供电,也可以从 VIN 接 7-12 V,或者从 5V 引脚接稳压后的 5 V。
| 排针 | 引脚 | 名称 | 功能 | 电平 | 最大电流 | 备注 |
|---|---|---|---|---|---|---|
| J1 | 1 | TX1 | D1, TXD, PCINT17 | 5 V | 20 mA | 串口 TX。它还通过一个 1 kΩ 电阻连到 FT232,所以串口监视器能看到从这里发出的一切。 |
| J1 | 2 | RX0 | D0, RXD, PCINT16 | 5 V | 20 mA | 串口 RX,由 FT232 经过 1 kΩ 驱动。接在这里的任何东西(蓝牙或 GPS 模块)都可能挡住上传。 |
| J1 | 3 | RST | RESET (active low), PCINT14 | 5 V | – | RESET,低电平有效,有一个 1 kΩ 上拉电阻接 5 V。和另一个 RST 引脚以及 RESET 按钮是同一个网络。 |
| J1 | 4 | GND | GND | – | – | |
| J1 | 5 | D2 | INT0, PCINT18 | 5 V | 20 mA | |
| J1 | 6 | D3 | PWM OC2B (490 Hz), INT1, PCINT19 | 5 V | 20 mA | 来自 Timer2 的 PWM。tone() 也用 Timer2,所以它会让 D3 和 D11 上的 PWM 停止。 |
| J1 | 7 | D4 | T0, XCK, PCINT20 | 5 V | 20 mA | |
| J1 | 8 | D5 | PWM OC0B (977 Hz), T1, PCINT21 | 5 V | 20 mA | 来自 Timer0 的 977 Hz PWM。Timer0 还负责 millis() 计数,所以别动它的设置。 |
| J1 | 9 | D6 | PWM OC0A (977 Hz), AIN0, PCINT22 | 5 V | 20 mA | 来自 Timer0 的 977 Hz PWM。 |
| J1 | 10 | D7 | AIN1, PCINT23 | 5 V | 20 mA | |
| J1 | 11 | D8 | ICP1, CLKO, PCINT0 | 5 V | 20 mA | |
| J1 | 12 | D9 | PWM OC1A (490 Hz), PCINT1 | 5 V | 20 mA | 来自 Timer1 的 490 Hz PWM。Servo 库会占用 Timer1,让 D9 和 D10 上的 PWM 停止。 |
| J1 | 13 | D10 | PWM OC1B (490 Hz), SPI SS, PCINT2 | 5 V | 20 mA | 来自 Timer1 的 PWM。作为 SPI 的 SS,只要 Nano 是 SPI 控制器,它就必须保持为输出。 |
| J1 | 14 | D11 | PWM OC2A (490 Hz), SPI MOSI (COPI), PCINT3 | 5 V | 20 mA | 来自 Timer2 的 PWM,也是 SPI 的 MOSI(COPI)。ICSP 焊盘 4 上也有。 |
| J1 | 15 | D12 | SPI MISO (CIPO), PCINT4 | 5 V | 20 mA | |
| J2 | 1 | VIN | LDO input, 7-12 V | – | – | 5 V 稳压器的输入:7-12 V,绝对最大 15 V。没有防反接保护。 |
| J2 | 2 | GND | GND | – | – | |
| J2 | 3 | RST | RESET (active low) | 5 V | – | 和 J1 第 3 脚是同一个 RESET 网络。 |
| J2 | 4 | 5V | +5V rail, in or out | 5 V | – | 5 V 电源轨:USB 供电(约 4.65 V)或 VIN 供电(5.0 V)时是输出,也可以作为稳压 5 V 的输入。 |
| J2 | 5 | A7 | ADC7, 仅输入 | 5 V | – | 只能做模拟输入(ADC7):没有数字 I/O,也没有上拉,所以 digitalRead(A7) 不起作用。 |
| J2 | 6 | A6 | ADC6, 仅输入 | 5 V | – | 只能做模拟输入(ADC6):没有数字 I/O,也没有上拉,所以 digitalRead(A6) 不起作用。 |
| J2 | 7 | A5 | ADC5, I2C SCL, D19, PCINT13 | 5 V | 20 mA | Wire 库用的 I2C SCL。板上没有 I2C 上拉电阻;大多数模块自带。 |
| J2 | 8 | A4 | ADC4, I2C SDA, D18, PCINT12 | 5 V | 20 mA | Wire 库用的 I2C SDA。 |
| J2 | 9 | A3 | ADC3, D17, PCINT11 | 5 V | 20 mA | |
| J2 | 10 | A2 | ADC2, D16, PCINT10 | 5 V | 20 mA | |
| J2 | 11 | A1 | ADC1, D15, PCINT9 | 5 V | 20 mA | |
| J2 | 12 | A0 | ADC0, D14, PCINT8 | 5 V | 20 mA | |
| J2 | 13 | REF | AREF, ADC reference | 5 V | – | ADC 参考电压,板上用 100 nF 去耦。analogReference(DEFAULT) 生效时,千万不要往这里输入电压。 |
| J2 | 14 | 3.3V | 3.3 V out from the FT232 (50 mA) | 3.3 V | 50 mA | 来自 FT232 的 3.3 V 输出,最多 50 mA。千万不要往这里灌 5 V。 |
| J2 | 15 | D13 | SPI SCK, LED L, PCINT5 | 5 V | 20 mA | 经过 1 kΩ(约 3 mA)驱动 L 灯,没有缓冲器。因为有这个负载,D13 上的 INPUT_PULLUP 不能可靠地读到 HIGH。它也是 SPI 的 SCK,所以 SPI 传输时 L 灯会闪烁。 |
| J4 | 1 | MISO | D12, SPI MISO | 5 V | – | ICSP 焊盘。Nano 上的六个焊盘是裸露的:把编程器的弹簧针或排针压在上面,就能烧录引导程序。 |
| J4 | 2 | 5V | +5V | 5 V | – | ICSP 焊盘。Nano 上的六个焊盘是裸露的:把编程器的弹簧针或排针压在上面,就能烧录引导程序。 |
| J4 | 3 | SCK | D13, SPI SCK | 5 V | – | ICSP 焊盘。Nano 上的六个焊盘是裸露的:把编程器的弹簧针或排针压在上面,就能烧录引导程序。 |
| J4 | 4 | MOSI | D11, SPI MOSI | 5 V | – | ICSP 焊盘。Nano 上的六个焊盘是裸露的:把编程器的弹簧针或排针压在上面,就能烧录引导程序。 |
| J4 | 5 | RESET | RESET (active low) | 5 V | – | ICSP 焊盘。Nano 上的六个焊盘是裸露的:把编程器的弹簧针或排针压在上面,就能烧录引导程序。 |
| J4 | 6 | GND | GND | – | – | ICSP 焊盘。Nano 上的六个焊盘是裸露的:把编程器的弹簧针或排针压在上面,就能烧录引导程序。 |
这块开发板能驱动的传感器和执行器,以及真实的接法。
一颗 5 mm LED 经过 220 Ω 电阻接到 PWM 引脚:USB 供电时约 12 mA,又亮又安全。
| 零件引脚 | 开发板引脚 |
|---|---|
| A | D9导线颜色:橙色 |
| K | GND导线颜色:黑色 |
千万别省掉电阻:LED 直接接在引脚上会吃掉远超 40 mA 最大值的电流,烧坏引脚或 LED。
接在 D2 和 GND 之间,并用 pinMode(2, INPUT_PULLUP):按下读到 LOW,不需要电阻。D2 也是中断 INT0。
| 零件引脚 | 开发板引脚 |
|---|---|
| 1 | D2导线颜色:蓝色 |
| 3 | GND导线颜色:黑色 |
把 10 kΩ 旋钮当作分压器:两端接 GND 和 5V,滑动端接 A0。analogRead 给出 0-1023。
| 零件引脚 | 开发板引脚 |
|---|---|
| 1 | GND导线颜色:黑色 |
| 2 | A0导线颜色:黄色 |
| 3 | 5V导线颜色:红色 |
光敏电阻从 5V 接到 A0,再加一个 10 kΩ 电阻从 A0 接到 GND:光越强,读数越高。
| 零件引脚 | 开发板引脚 |
|---|---|
| 1 | 5V导线颜色:红色 |
| 2 | A0导线颜色:黄色 |
模拟温度传感器:0 °C 时 0.5 V,每 °C 加 10 mV。在 A1 上读取,引线尽量短。
| 零件引脚 | 开发板引脚 |
|---|---|
| +Vs | 5V导线颜色:红色 |
| Vout | A1导线颜色:黄色 |
| GND | GND导线颜色:黑色 |
D8 上的无源蜂鸣器用 tone(8, 440) 发声。
| 零件引脚 | 开发板引脚 |
|---|---|
| + | D8导线颜色:橙色 |
| − | GND导线颜色:黑色 |
tone() 会占用 Timer2,所以播放音调时 D3 和 D11 上的 PWM 会停止。
用 Servo 库,信号接 D9(它会占用 Timer1,所以 D10 上的 PWM 也会停止)。
| 零件引脚 | 开发板引脚 |
|---|---|
| SIG | D9导线颜色:橙色 |
| GND | GND导线颜色:棕色 |
红线要接一个单独的 5 V 电源,并把它的 GND 和 Nano 的 GND 连在一起。堵转的舵机约吃 1 A,在 USB 供电下会让 Nano 掉电,并让自恢复保险丝跳开。
5 V 超声波测距传感器:Trig 接 D9,Echo 接 D10,距离 = 回声 µs / 58 cm。5 V 的板子不需要为它的回声做电平转换。
| 零件引脚 | 开发板引脚 |
|---|---|
| VCC | 5V导线颜色:红色 |
| Trig | D9导线颜色:黄色 |
| Echo | D10导线颜色:绿色 |
| GND | GND导线颜色:黑色 |
带 MPU-6050 的 GY-521 模块,I2C 地址 0x68(AD0 拉高时为 0x69)。它自带稳压器,所以能用 5V 供电;SDA 接 A4,SCL 接 A5。
| 零件引脚 | 开发板引脚 |
|---|---|
| VCC | 5V导线颜色:红色 |
| GND | GND导线颜色:黑色 |
| SCL | A5导线颜色:黄色 |
| SDA | A4导线颜色:蓝色 |
芯片本身是 3.3 V 的。模块把 SDA 和 SCL 上拉到它的 3.3 V,而 Wire.begin() 还会打开 328P 接 5 V 的弱上拉,所以总线空闲时略高于 3.3 V。实际使用没问题;规范的做法是加一个电平转换器。
0.96 英寸 128 × 64 OLED,I2C 地址 0x3C,接在 A4(SDA)和 A5(SCL)上。
| 零件引脚 | 开发板引脚 |
|---|---|
| GND | GND导线颜色:黑色 |
| VCC | 5V导线颜色:红色 |
| SCL | A5导线颜色:黄色 |
| SDA | A4导线颜色:蓝色 |
看清丝印上的引脚顺序:有的模块是 GND VCC,有的是 VCC GND,接反会烧坏屏幕。它 1 KB 的帧缓冲区要占掉 Nano 一半的 RAM,所以要用 F("...") 把文字放在闪存里。