正在加载图示…
每节课都在开发板上运行你自己的代码。通过这节课的检查,就能把它打勾完成。
按正确的顺序组装开发板,然后上电检查,就像在实验台上一样。
已完成 0/26 步拔掉 USB 线和适配器。永远不要在带电的板子上组装或维修。
每一种故障都会在模拟中真实发生。触发一个,观察图示,再读一读原因。
Uno R3(A000066)上的 ATmega328P 以 16 MHz 运行,逻辑电平为 5 V。它插在 DIP-28 插座里,芯片烧了一分钟就能换上新的。第二颗芯片 ATmega16U2 是 USB 转串口桥:它在电脑上显示为一个串口,并在上传开始时复位 328P。板上有 14 个数字引脚(其中 6 个支持 PWM,标有 ~)、6 个模拟输入、32 KB 闪存(Optiboot 引导程序之外,留给你的程序 32 256 字节)、2 KB RAM 和 1 KB EEPROM。可以用 USB 供电,也可以从 DC 圆孔插座接 7-12 V,或从 VIN 供电;当 VIN 高于约 6.6 V 时,板子会自动切换到插座供电。
| 排针 | 引脚 | 名称 | 功能 | 电平 | 最大电流 | 备注 |
|---|---|---|---|---|---|---|
| IOL | 1 | D0 | RX, PCINT16 | 5 V耐 5 V | 40 mA | RX。它还通过一个 1 kΩ 电阻连到 16U2:D0 上接的任何东西都可能挡住上传。 |
| IOL | 2 | D1 | TX, PCINT17 | 5 V耐 5 V | 40 mA | TX。Serial.print() 从这里把字节发出去,16U2 再把它们转到 USB。 |
| IOL | 3 | D2 | INT0, PCINT18 | 5 V耐 5 V | 40 mA | 外部中断 0:attachInterrupt() 只能用在 D2 和 D3 上。 |
| IOL | 4 | ~D3 | PWM 490 Hz (OC2B), INT1, PCINT19 | 5 V耐 5 V | 40 mA | 490 Hz 的 PWM,也是外部中断 1。tone() 借用同一个定时器,所以播放音调时这里的 PWM 会停止。 |
| IOL | 5 | D4 | T0, XCK, PCINT20 | 5 V耐 5 V | 40 mA | |
| IOL | 6 | ~D5 | PWM 977 Hz (OC0B), T1, PCINT21 | 5 V耐 5 V | 40 mA | |
| IOL | 7 | ~D6 | PWM 977 Hz (OC0A), AIN0, PCINT22 | 5 V耐 5 V | 40 mA | |
| IOL | 8 | D7 | AIN1, PCINT23 | 5 V耐 5 V | 40 mA | 左侧排针的最后一个引脚;后面的那道缺口让 Uno 扩展板只能以一个方向插上。 |
| IOH | 1 | D8 | ICP1, CLKO, PCINT0 | 5 V耐 5 V | 40 mA | |
| IOH | 2 | ~D9 | PWM 490 Hz (OC1A), PCINT1 | 5 V耐 5 V | 40 mA | 490 Hz 的 PWM。Servo 库会接管这个定时器,所以一旦接上舵机,D9 和 D10 上的 analogWrite() 就不再起作用。 |
| IOH | 3 | ~D10 | PWM 490 Hz (OC1B), SPI SS, PCINT2 | 5 V耐 5 V | 40 mA | PWM,也是 SPI 的 SS。只要 Uno 是 SPI 主机,它就必须保持为输出。 |
| IOH | 4 | ~D11 | PWM 490 Hz (OC2A), SPI MOSI, PCINT3 | 5 V耐 5 V | 40 mA | |
| IOH | 5 | D12 | SPI MISO, PCINT4 | 5 V耐 5 V | 40 mA | |
| IOH | 6 | D13 | SPI SCK, LED_BUILTIN, PCINT5 | 5 V耐 5 V | 40 mA | 板载 LED 引脚(LED_BUILTIN)。L 灯通过一个缓冲器挂在它上面,所以不会给引脚增加负载。 |
| IOH | 7 | GND | – | – | – | |
| IOH | 8 | AREF | ADC reference | 5 V | – | analogRead() 的参考电压。除非先调用 analogReference(EXTERNAL),否则别动它。 |
| IOH | 9 | SDA | I2C SDA, A4 | 5 V耐 5 V | 40 mA | I²C 数据线。和 A4 是同一根线:二者只能用其一。 |
| IOH | 10 | SCL | I2C SCL, A5 | 5 V耐 5 V | 40 mA | I²C 时钟线。和 A5 是同一根线。 |
| POWER | 1 | NC | – | – | – | 未连接:留给将来的扩展板。 |
| POWER | 2 | IOREF | I/O voltage for shields | 5 V | – | 告诉扩展板这块板的 I/O 电压:Uno 上是 5 V。 |
| POWER | 3 | RESET | Active-low reset | 5 V | – | 把它拉到 GND 就会复位 328P,效果和 RESET 按钮一样。 |
| POWER | 4 | 3V3 | 3.3 V out | 3.3 V | 150 mA | 3.3 V 输出,最多 150 mA。 |
| POWER | 5 | 5V | 5 V out | 5 V | – | 板子输出的 5 V。你也可以从这里输入干净的 5 V,但如果接错了,没有任何东西保护板子。 |
| POWER | 6 | GND | – | – | – | |
| POWER | 7 | GND | – | – | – | |
| POWER | 8 | VIN | Supply in (after the jack diode) | 8.3 V | – | 插座电压经过 D1 之后的输出,或一个绕过 D1 保护的 7-12 V 输入。 |
| AD | 1 | A0 | ADC0, D14, PCINT8 | 5 V耐 5 V | 40 mA | 模拟输入 0。和 A1-A5 一样,它也能当数字引脚用(D14)。 |
| AD | 2 | A1 | ADC1, D15, PCINT9 | 5 V耐 5 V | 40 mA | |
| AD | 3 | A2 | ADC2, D16, PCINT10 | 5 V耐 5 V | 40 mA | |
| AD | 4 | A3 | ADC3, D17, PCINT11 | 5 V耐 5 V | 40 mA | |
| AD | 5 | A4 | ADC4, D18, I2C SDA, PCINT12 | 5 V耐 5 V | 40 mA | 模拟输入 4,也是 I²C 的 SDA:与顶部排针上的 SDA 是同一个引脚。 |
| AD | 6 | A5 | ADC5, D19, I2C SCL, PCINT13 | 5 V耐 5 V | 40 mA | 模拟输入 5,也是 I²C 的 SCL:与顶部排针上的 SCL 是同一个引脚。 |
| ICSP | 1 | MISO | SPI MISO = D12 | 5 V | – | |
| ICSP | 2 | 5V | – | 5 V | – | |
| ICSP | 3 | SCK | SPI SCK = D13 | 5 V | – | |
| ICSP | 4 | MOSI | SPI MOSI = D11 | 5 V | – | |
| ICSP | 5 | RESET | – | 5 V | – | 328P 的复位线,供在线编程器使用。 |
| ICSP | 6 | GND | – | – | – | |
| ICSP1 | 1 | MISO2 | 16U2 PB3 | 5 V | – | |
| ICSP1 | 2 | 5V | – | 5 V | – | |
| ICSP1 | 3 | SCK2 | 16U2 PB1 | 5 V | – | |
| ICSP1 | 4 | MOSI2 | 16U2 PB2 | 5 V | – | |
| ICSP1 | 5 | RESET2 | 16U2 reset | 5 V | – | 16U2 的复位脚。把它短暂接到 GND(第 6 脚),16U2 就会进入 DFU 引导程序。 |
| ICSP1 | 6 | GND | – | – | – |
这块开发板能驱动的传感器和执行器,以及真实的接法。
阳极(长脚)朝向引脚,阴极接 GND,串联一个 220 Ω 到 1 kΩ 的电阻。
| 零件引脚 | 开发板引脚 |
|---|---|
| A | D13导线颜色:橙色 |
| K | GND导线颜色:黑色 |
千万别省掉电阻:否则引脚会试图让超过 100 mA 的电流流过 LED。
接在 D2 和 GND 之间,并用 pinMode(2, INPUT_PULLUP):按下时读到 LOW。如果改用外部下拉电阻接 GND、按钮接 5 V,则按下时读到 HIGH。
| 零件引脚 | 开发板引脚 |
|---|---|
| 1 | D2导线颜色:蓝色 |
| 3 | GND导线颜色:黑色 |
两端接 GND 和 5V,中间脚(滑动端)接 A0。转动时 analogRead(A0) 就会从 0 变到 1023。
| 零件引脚 | 开发板引脚 |
|---|---|
| 1 | GND导线颜色:黑色 |
| 2 | A0导线颜色:绿色 |
| 3 | 5V导线颜色:红色 |
从 5V 接到 A0,再用一个 10 kΩ 电阻从 A0 接到 GND。光越强,电阻越小,读数越高。
| 零件引脚 | 开发板引脚 |
|---|---|
| 1 | 5V导线颜色:红色 |
| 2 | A0导线颜色:绿色 |
+ 接引脚,− 接 GND。tone(pin, frequency) 播放一个音;压电蜂鸣器只消耗几 mA,所以不需要电阻。
| 零件引脚 | 开发板引脚 |
|---|---|
| POS | D8导线颜色:橙色 |
| NEG | GND导线颜色:黑色 |
平面朝向你:左脚接 5V,中间脚接 A0,右脚接 GND。摄氏度 = (伏特 − 0.5) × 100。
| 零件引脚 | 开发板引脚 |
|---|---|
| VS | 5V导线颜色:红色 |
| VOUT | A0导线颜色:绿色 |
| GND | GND导线颜色:黑色 |
棕线接 GND,红线接 5V,橙线接一个引脚(D9)。先 Servo.attach(9),再 write(0..180)。
| 零件引脚 | 开发板引脚 |
|---|---|
| GND | GND导线颜色:棕色 |
| VCC | 5V导线颜色:红色 |
| SIG | D9导线颜色:橙色 |
转动中的舵机可能吃 250 mA,堵转时 700 mA。不止一个舵机就要给它们单独的 5 V 电源,并把地连在一起。
基极经 1 kΩ 电阻接 PWM 引脚,发射极接 GND,负载从 5 V(或它自己的电源)接到集电极。
| 零件引脚 | 开发板引脚 |
|---|---|
| B | D6导线颜色:橙色 |
| E | GND导线颜色:黑色 |
电机或风扇两端需要并一个 1N4007 二极管,色带朝向 + 电源,否则关断时会有电压尖峰打进晶体管。
VCC 接 5V,GND 接 GND,TRIG 接 D9,ECHO 接 D10。TRIG 上的 10 µs 脉冲发出一次超声波;ECHO 的脉冲长度就是往返时间。
| 零件引脚 | 开发板引脚 |
|---|---|
| VCC | 5V导线颜色:红色 |
| TRIG | D9导线颜色:黄色 |
| ECHO | D10导线颜色:绿色 |
| GND | GND导线颜色:黑色 |
GND,VCC 接 3V3,SCL 接 SCL,SDA 接 SDA。显示屏的 I²C 地址是 0x3C。
| 零件引脚 | 开发板引脚 |
|---|---|
| GND | GND导线颜色:黑色 |
| VCC | 3V3导线颜色:橙色 |
| SCL | SCL导线颜色:蓝色 |
| SDA | SDA导线颜色:紫色 |
看清你的模块:很多 SSD1306 模块只能用 3.3 V。带板载稳压器的也能接 5 V。
IN1-IN4 接 D8-D11,− 接 GND,+ 接 5V;步进电机的 5 线插头插进白色插座。
| 零件引脚 | 开发板引脚 |
|---|---|
| IN1 | D8导线颜色:橙色 |
| IN2 | D9导线颜色:黄色 |
| IN3 | D10导线颜色:绿色 |
| IN4 | D11导线颜色:紫色 |
| GND | GND导线颜色:黑色 |
| VCC | 5V导线颜色:红色 |
两相线圈同时通电时,步进电机最多吃 160 mA。一个小步进电机用 USB 供电没问题;更大的就给它单独的电源。
AOUT 接 A0,VCC 接 5V,GND 接 GND。土壤越湿,读数越低。
| 零件引脚 | 开发板引脚 |
|---|---|
| AOUT | A0导线颜色:黄色 |
| VCC | 5V导线颜色:红色 |
| GND | GND导线颜色:黑色 |
GND 接 GND,R 接 D4,Y 接 D3,G 接 D2。模块自带电阻,所以引脚可以直接驱动它。
| 零件引脚 | 开发板引脚 |
|---|---|
| GND | GND导线颜色:黑色 |
| R | D4导线颜色:橙色 |
| Y | D3导线颜色:黄色 |
| G | D2导线颜色:绿色 |
一只脚接 5V,另一只接 A0,再用一个 10 kΩ 下拉电阻从 A0 接到 GND。压得越重,读数越高。
| 零件引脚 | 开发板引脚 |
|---|---|
| 1 | 5V导线颜色:红色 |
| 2 | A0导线颜色:绿色 |
VCC、GND,SCL 接 SCL,SDA 接 SDA。它的地址是 0x68(AD0 拉高时为 0x69)。
| 零件引脚 | 开发板引脚 |
|---|---|
| VCC | 5V导线颜色:红色 |
| GND | GND导线颜色:黑色 |
| SCL | SCL导线颜色:蓝色 |
| SDA | SDA导线颜色:紫色 |
用带稳压器的模块(常见的 GY-521 就有);裸芯片只能用 3.3 V。
VCC 接 5V 给它的逻辑部分供电,再接 GND、SCL 和 SDA。它在地址 0x40 上最多驱动 16 个舵机。
| 零件引脚 | 开发板引脚 |
|---|---|
| VCC | 5V导线颜色:红色 |
| GND | GND导线颜色:黑色 |
| SCL | SCL导线颜色:蓝色 |
| SDA | SDA导线颜色:紫色 |
舵机要通过模块的 V+ 端子由它们自己的 5-6 V 电源供电,千万不要用 Uno 的 5V 引脚。