Arduino#
1. Arduino简介#
Arduino是一种开源电子原型平台,受到开发者和爱好者的广泛欢迎。它由硬件和软件组成,硬件包括多种开发板,如Arduino UNO、MEGA等,软件主要是Arduino IDE,用于编写和上传代码到开发板上。Arduino适用于许多项目,包括机器人、传感器控制和物联网应用。由于其简单易用的特性和庞大的社区支持,Arduino是学习编程和电子学的理想选择。
2. 接线图#

3. 测试代码#
int distance = 0; // 定义一个用来接收距离的变量
int EchoPin = 13; // Echo引脚接D13
int TrigPin = 12; // Trig引脚接D12
float checkdistance() { // 获取距离
// 预先给出一个短的低电平,以确保一个干净的高脉冲:
digitalWrite(TrigPin, LOW);
delayMicroseconds(2);
// 传感器由10微秒或更长时间的高脉冲触发
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
// 读取来自传感器的信号:一个高电平脉冲,
// 其持续时间是指从发送ping命令到接收物体回波的时间(以微秒计)
float distance = pulseIn(EchoPin, HIGH) / 58.00; // 换算成距离
delay(10);
return distance;
}
void setup() {
Serial.begin(9600); // 设置波特率为9600
pinMode(TrigPin, OUTPUT); // Trig引脚为输出
pinMode(EchoPin, INPUT); // Echo引脚为输入
}
void loop() {
distance = checkdistance();
if (distance < 2 || distance >= 400) { // 在范围外打印“-1”
Serial.println("-1");
delay(100);
} else { // 打印距离,单位厘米
Serial.print("distance:");
Serial.print(distance);
Serial.println("cm");
delay(100);
}
}
4. 代码说明#
HC-SR04超声波传感器的最大测试距离为3-4米,最小测试距离为2厘米。代码设置检测距离小于2厘米或者大于等于400厘米时,串口监视器显示“-1”。在电脑的串口监视器中显示传感器和障碍物之间的距离。
5. 测试结果#
上传测试代码成功后,利用USB上电,打开串口监视器并设置波特率为9600。如果障碍物在测试范围外,串口监视器显示“-1”;否则,将显示超声波传感器与前方障碍物之间的距离,单位为厘米,如下图所示。
