Arduino HC-SR04读数不准确
当我试图观察HC-SR04的数据时,我不知道如何从中获得不准确的读数 我认为我上传了正确的程序,并将电线完美地连接到我的arduino板上(没有松动的连接/绝缘等),我认为我为我的arduino uno板提供了足够的9v电源Arduino HC-SR04读数不准确,arduino,arduino-uno,Arduino,Arduino Uno,当我试图观察HC-SR04的数据时,我不知道如何从中获得不准确的读数 我认为我上传了正确的程序,并将电线完美地连接到我的arduino板上(没有松动的连接/绝缘等),我认为我为我的arduino uno板提供了足够的9v电源 const int Trigger = 9; const int Echo = 8; long durationg, inches; void setup() { pinMode(Trigger, OUTPUT); pinMode(Echo, INPUT);
const int Trigger = 9;
const int Echo = 8;
long durationg, inches;
void setup()
{
pinMode(Trigger, OUTPUT);
pinMode(Echo, INPUT);
Serial.begin (9600);
}
void loop()
{
digitalWrite(Trigger, LOW);
delay(2);
digitalWrite(Trigger, HIGH);
delay(5);
digitalWrite(Trigger, LOW);
duration = pulseIn(Echo, HIGH);
inches = duration / 72 / 2;
Serial.print(inches);
Serial.print("in ,");
Serial.println();
delay(25);
}
请尝试以下代码:
const int trigPin = 7;
const int echoPin = 4;
long duration, distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
if (distance < 150) {
Serial.print(distance);
Serial.println(" cm");
}
if (distance > 150) {
Serial.println("OUT OF RANGE");
}
delay(20);
}
const int trigPin=7;
常数int echoPin=4;
长时间、远距离;
无效设置(){
引脚模式(trigPin,输出);
pinMode(echoPin,输入);
Serial.begin(9600);
}
void循环(){
数字写入(trigPin,低电平);
延迟微秒(2);
数字写入(trigPin,高);
延迟微秒(10);
数字写入(trigPin,低电平);
持续时间=脉冲强度(echoPin,高);
距离=持续时间*0.034/2;
如果(距离<150){
串行打印(距离);
序列号。打印号(“cm”);
}
如果(距离>150){
Serial.println(“超出范围”);
}
延迟(20);
}