Arduino#
1. Arduino简介#
Arduino是一个开源电子原型平台,旨在为设计师、艺术家、学生和爱好者提供一个简单而灵活的方式来创建互动项目。基于微控制器的Arduino开发板允许用户使用C/C++语言编写代码,并通过Arduino IDE进行开发。Arduino的设计初衷是让编程与电子原件的结合变得容易,支持从初学者到专业人士的广泛应用。
Arduino平台包括多种型号的控制板、传感器和模块,可实现丰富的功能,如灯光控制、传感器数据采集、机器人控制等。通过强大的开发工具和活跃的社区支持,用户可以分享其项目和创意,进一步推动Arduino的发展与应用。
2. 接线图#

3. 测试代码#
int val = 0;
int ADkey = A2; // 定义五路AD按键接模拟口A2
void setup() {
Serial.begin(9600); // 设置波特率为9600
}
void loop() {
val = analogRead(ADkey); // 读取AD按键的模拟值并赋给变量val
Serial.print(val); // 打印变量val,根据条件判断哪个按键被按下
if (val <= 100) { // 没有按键按下
Serial.println(" no key is pressed");
} else if (val <= 300) { // 按键5按下
Serial.println(" SW5 is pressed");
} else if (val <= 500) { // 按键4按下
Serial.println(" SW4 is pressed");
} else if (val <= 700) { // 按键3按下
Serial.println(" SW3 is pressed");
} else if (val <= 900) { // 按键2按下
Serial.println(" SW2 is pressed");
} else { // 按键1按下
Serial.println(" SW1 is pressed");
}
}
4. 代码说明#
在代码中,我们定义了一个整型变量val用于存储读取到的模拟值,通过analogRead(ADkey)函数将传感器的模拟值赋值给val。串口监视器显示当前的模拟值,并根据值的范围判断具体哪个按键被按下:
当模拟值低于100时,表示没有按键被按下。
当值在100到300之间时,表示按键SW5被按下。
当值在300到500之间时,表示按键SW4被按下。
当值在500到700之间时,表示按键SW3被按下。
当值在700到900之间时,表示按键SW2被按下。
当值大于900时,表示按键SW1被按下。
这种通过区间判断公式以减小误差的方式,确保在实际使用中能够准确判断各按键的状态。
5. 测试结果#
上传测试代码至Arduino成功,上电后,打开串口监视器并设置波特率为9600。当我们按下不同的按键时,串口监视器会打印出相应的信息,如下图所示。
