3、Arduino基础入门:IDE安装与配置、数字信号与模拟信号、第一个程序(点亮板载LED)
好,咱们正式开始动手了。前面两章聊了人体传感器的原理和选型,但光有传感器不行,你得有个“大脑”来读它的信号、做判断、然后控制灯。这个大脑,就是 Arduino。
这一章,我带你走完三个关键步骤:装好开发环境、搞懂数字和模拟信号的区别、跑通第一个程序。别小看这步,我见过太多人卡在IDE装不上或者端口选不对,折腾半天连灯都没亮。咱们一步步来,稳一点。
3.1 安装Arduino IDE——别选错版本
Arduino IDE 是官方提供的免费编程工具。你直接去官网下载就行,注意有两个版本:
| 版本 | 特点 | 我推荐 |
|---|---|---|
| Arduino IDE 1.8.x | 经典版,稳定,插件兼容性好 | 新手首选,资料最多 |
| Arduino IDE 2.x | 新界面,有自动补全、调试功能 | 如果你熟悉了,可以升级 |
我个人习惯用 1.8.19,稳如老狗。2.x 虽然好看,但早期版本有端口识别的小毛病。你选哪个都行,别纠结。
安装步骤很简单:
- 下载对应你操作系统的安装包(Windows选.exe,Mac选.dmg)
- 一路点“下一步”,默认路径就行
- 安装完成后,插上Arduino板,系统会自动装驱动
3.2 配置IDE——选对板子和端口
装好只是第一步。很多新手打开IDE,写了个程序,点上传,结果报错。为什么?因为没告诉IDE你用的是哪块板子、插在哪个口上。
配置就两步:
- 选板子: 菜单栏 → 工具 → 开发板 → Arduino Uno(如果你用的是Uno)。别选错,选成Mega或者Leonardo会出问题。
- 选端口: 工具 → 端口 → 选那个带“COM”(Windows)或“/dev/cu.usbmodem”(Mac)的。如果不确定,拔掉板子看看哪个消失,插上哪个出现,就是它。
3.3 数字信号 vs 模拟信号——搞懂这两个,后面才不懵
你想想看,Arduino怎么跟外界打交道?无非两种信号:数字和模拟。
说白了,数字信号就是0和1,要么高电平(5V/3.3V),要么低电平(0V)。没有中间状态。就像开关,只有开和关。
模拟信号呢?它是连续变化的电压值。比如一个电位器从0V拧到5V,中间有无数个值。Arduino的模拟输入引脚(A0~A5)可以读这些值,范围是0~1023。
| 特性 | 数字信号 | 模拟信号 |
|---|---|---|
| 取值 | 只有0和1(HIGH/LOW) | 连续范围(0~1023) |
| 引脚 | 数字引脚(0~13) | 模拟引脚(A0~A5) |
| 典型应用 | 按键、LED开关、继电器 | 光敏电阻、电位器、温度传感器 |
| 抗干扰 | 强 | 弱(易受噪声影响) |
我在项目中遇到过一个问题:用模拟引脚读一个数字信号,结果读数飘忽不定。后来才发现,模拟引脚没接上拉电阻,信号浮空了。记住,数字信号用数字引脚,模拟信号用模拟引脚,别混着来。
3.4 第一个程序——点亮板载LED
好,终于到动手环节了。Arduino Uno板上自带一个LED,焊在数字引脚13上。咱们的第一个程序,就是让它闪烁。
打开IDE,输入以下代码:
void setup() {
// 初始化数字引脚13为输出模式
pinMode(13, OUTPUT);
}
void loop() {
// 点亮LED
digitalWrite(13, HIGH);
// 等待1秒
delay(1000);
// 熄灭LED
digitalWrite(13, LOW);
// 等待1秒
delay(1000);
}
代码很简单,我解释一下:
setup():上电后只跑一次,用来初始化。这里我们把13脚设为输出。loop():循环执行,Arduino会一直跑这里面的代码。digitalWrite(13, HIGH):给13脚一个高电平,LED亮。delay(1000):等1000毫秒,也就是1秒。
写完后,点IDE左上角的上传按钮(那个右箭头)。等几秒,你会看到板子上的LED开始一闪一闪的。
3.5 知识体系总览
为了让你更清楚这一章学了什么,我画了一张图,把核心逻辑串起来:
这张图把咱们这一章的流程全串起来了。从装IDE开始,到配置板子,再到理解信号类型,最后汇聚到第一个程序。你以后写任何Arduino程序,都逃不开这个框架。
3.6 避坑指南——我踩过的几个坑
最后,分享几个我当年踩过的坑,你遇到了别慌:
- 上传失败,提示“avrdude: stk500_getsync()”:八成是端口选错了,或者板子没插稳。重新插拔,检查端口。
- LED不亮:先确认代码里写的引脚号对不对。板载LED是13,别写成12。另外,有些兼容板的LED可能焊在别的引脚上,查一下原理图。
- 模拟引脚当数字用:可以,但反过来不行。数字引脚没有ADC功能,读不了模拟值。
嗯,这一章就到这儿。你装好了IDE,跑通了第一个程序,也分清了数字和模拟信号。这些基础打牢了,后面接人体传感器、写逻辑判断,就是水到渠成的事。