Menu
CoddyTech

Przeliczanie czasu echa na centymetry

Część sekcji Wyświetlacze i czujniki ścieżki Arduino w Coddy. Lekcja 19 z 24.

Dźwięk przebywa około 0,034 centymetra w każdej mikrosekundzie. Pomnóż czas echa przez tę wartość, a otrzymasz odległość, jaką przebył dźwięk.

Ale dźwięk dotarł do obiektu i wrócił, więc obiekt znajduje się w połowie tej odległości:

float cm = duration * 0.034 / 2;

Na 1 metr echo potrzebuje około 5800 mikrosekund: 5800 razy 0.034 to 197 cm w obie strony, czyli odległość 98.6 cm. Zapisz 0.034 z kropką dziesiętną: wtedy suma zachowa miejsca po przecinku.

Spodziewaj się błędu rzędu jednego lub dwóch centymetrów: temperatura powietrza zmienia prędkość dźwięku, a ten czujnik pokazuje nieco mniejszą odległość.

challenge icon

Wyzwanie

Łatwy

Szkic wyświetla czas powrotu echa. Zamiast tego wyświetl odległość:

  • przelicz czas na centymetry: pomnóż przez 0.034, podziel przez 2
  • wyświetl centymetry zamiast czasu

Naciśnij Uruchom, przesuń obiekt, a następnie Sprawdź.

Spróbuj swoich sił

const int trigPin = 9;
const int echoPin = 10;

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);
  long duration = pulseIn(echoPin, HIGH);
  // przelicz czas echa na centymetry i wyświetl wynik
  Serial.println(duration);
  delay(200);
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Wyświetlacze i czujniki

Poćwicz samodzielnie: Edytor online Arduino