ardaino 利用wire.h库 rohs显示屏显示超声波传感器的距离和电压
时间: 2024-03-11 17:47:31 浏览: 63
Arduino应用之超声波测距传感器
以下是一个基于Wire库和Rohs显示屏的Arduino代码示例,该代码可以显示超声波传感器的距离和电压:
```
#include <Wire.h>
#include <Rohs.h> // 加载Rohs显示屏库
const int trigPin = 9; // 超声波传感器的触发引脚
const int echoPin = 10; // 超声波传感器的接收引脚
Rohs lcd; // 创建Rohs显示屏对象
void setup() {
Serial.begin(9600); // 初始化串口通信
lcd.init(); // 初始化Rohs显示屏
lcd.clear(); // 清空Rohs显示屏
pinMode(trigPin, OUTPUT); // 将触发引脚设置为输出
pinMode(echoPin, INPUT); // 将接收引脚设置为输入
}
void loop() {
// 触发超声波传感器
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// 读取超声波传感器的回波时间
long duration = pulseIn(echoPin, HIGH);
// 将回波时间转换为距离(单位:厘米)
int distance = duration * 0.034 / 2;
// 输出距离
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// 读取电压
int voltage = analogRead(A0);
float voltageValue = voltage * (5.0 / 1023.0);
// 输出电压
Serial.print("Voltage: ");
Serial.print(voltageValue);
Serial.println(" V");
// 在Rohs显示屏上显示距离和电压
lcd.clear(); // 清空Rohs显示屏
lcd.print("Distance: "); // 输出距离信息
lcd.print(distance);
lcd.print(" cm");
lcd.nextline(); // 移动光标到下一行
lcd.print("Voltage: "); // 输出电压信息
lcd.print(voltageValue);
lcd.print(" V");
// 等待一段时间再重新进行测量
delay(500);
}
```
在此示例中,我们使用了Wire库和Rohs库来控制LCD显示屏。我们还使用了Arduino的`analogRead()`函数来读取电压值。最后,我们将距离和电压值分别输出到串口监视器和Rohs显示屏上。
阅读全文