Arduino 入门指南:硬件架构、编程核心与首个 LED 实战
Arduino 编程入门:是什么、为什么选它、怎么上手
什么是 Arduino?
Arduino 是开源硬件平台,内置编程支持(无需额外烧录器/HEX 烧录器)。板载基础外设,基于 AVR 单片机(如 ATmega328)。得益于海量开源库,复杂底层代码封装为寥寥数行,极大提升开发效率。支持模数混合输入,易于与开关、编码器、传感器、电机、继电器等外设对接。PCB 设计文件开源,IDE 免费跨平台(Windows/Mac/Linux)。
延伸:树莓派入门与项目实战 | PIC18 单片机 C 语言编程教程
为什么选择 Arduino?
- 内置烧录器:免去单独购买烧录器、排查硬件连线故障的痛苦。
- 开源生态:全球开发者持续迭代、修复 Bug,支持现成可用。
- 海量库:基础功能(驱动、通信、显示等)无需从零造轮子。
- 扩展板生态:标准化母/公排针接口,减少布线错误,节省空间与功耗。
以上特性单片机裸片难以同时具备,故深受极客与专业工程师喜爱。
延伸:Arduino PWM 编程详解 | Arduino 串口通信详解
主流 Arduino 开发板速览
- Arduino UNO(入门首选)
- Arduino Mega(IO 口更多)
- Arduino Duemilanove(前代经典)
- Arduino Fio(可穿戴/无线)
- LilyPad Arduino(可缝制)
- Arduino Extreme V2
- ……更多衍生板
Arduino UNO 关键参数
| 参数 | 规格 |
|---|---|
| 主控 MCU | ATmega328 |
| 工作电压 | 5V DC |
| 输入电压范围 | 6~20V DC(建议 7~12V) |
| 数字 I/O | 14 路(含 6 路 PWM:D3,5,6,9,10,11) |
| 模拟输入 | 6 路(A0~A5) |
| 单口最大输出电流 | 40 mA |
| 3.3V 引脚电流 | 50 mA |
| Flash | 32 KB(含 0.5 KB Bootloader) |
| 时钟频率 | 16 MHz(陶瓷谐振器) |
| SRAM | 2 KB |
| EEPROM | 1 KB |
延伸:PCB 设计全流程图解
Arduino 编程两大核心块
void setup() {
// 初始化:配置引脚模式、变量、加载库
// 仅上电/复位运行一次
}
void loop() {
// 主逻辑:循环执行
// 所有控制代码放此处
}
第一个程序:LED 闪烁
- 下载安装 Arduino IDE(arduino.cc)
- 工具 → 板卡 → 选择 Arduino UNO
- 编写代码(见下)
- 点击“上传”按钮(右箭头图标)烧录
// 定义引脚别名
int LED = 13;
void setup() {
pinMode(LED, OUTPUT); // 设为输出
}
void loop() {
digitalWrite(LED, HIGH); // 输出高电平(~5V)
delay(1000); // 延时 1000 ms
digitalWrite(LED, LOW); // 输出低电平(0V)
delay(1000);
}
核心 API 速查
pinMode(pin, mode):配置引脚 INPUT/OUTPUT/INPUT_PULLUPdigitalWrite(pin, HIGH/LOW):数字输出digitalRead(pin):数字读取analogRead(pin):模拟读取(0~1023)analogWrite(pin, 0~255):PWM 模拟输出delay(ms):毫秒级阻塞延时millis():非阻塞时间戳
延伸阅读
工业技术