2016-11-19 2 views
-1

Я не знаю, как я получаю неточные данные от HC-SR04, когда я пытался наблюдать за его данными.HC-SR04 неточные данные

Я думаю, что я загрузил программу прямо и прекрасно подключил провода к моей плате arduino (без каких-либо свободных соединений/изоляции/и т. Д.), И я думаю, что я обеспечил достаточный источник питания, 9v для моего arduino uno board.

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); 

} 

ответ

0

Попробуйте этот код:

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); 
} 
Смежные вопросы