生成一段代码,使用ARDUINO UNO、OLED以及HC-SR04,实现距离显示
时间: 2024-06-03 14:09:18 浏览: 24
当然可以。以下是使用 ARDUINO UNO、OLED 和 HC-SR04 来实现距离显示的代码示例:
#include <U8g2lib.h>
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // OLED 参数
#define TRIGGER_PIN 12 // HC-SR04 中的 trigger 引脚
#define ECHO_PIN 11 // HC-SR04 中的 echo 引脚
void setup() {
pinMode(TRIGGER_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
u8g2.begin();
}
void loop() {
// 发送 10us 的高电平脉冲到 trigger 引脚,开始测量距离
digitalWrite(TRIGGER_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN, LOW);
// 读取 echo 引脚的高电平时间,计算出距离(单位:厘米)
float duration = pulseIn(ECHO_PIN, HIGH);
float distance = duration / 58.2;
// 在 OLED 上显示距离
u8g2.firstPage();
do {
u8g2.setFont(u8g2_font_6x10_tf);
u8g2.setCursor(0, 10);
u8g2.print("Distance: ");
u8g2.print(distance);
u8g2.print(" cm");
} while (u8g2.nextPage());
delay(500); // 每隔 500ms 进行一次测量和显示
}