Перевод времени эха в сантиметры
Часть раздела Дисплеи и датчики путешествия по Arduino на Coddy. Урок 19 из 24.
Звук проходит около 0.034 сантиметра за каждую микросекунду. Умножь время эха на это значение, и получишь расстояние, которое прошёл звук.
Но звук дошёл до объекта и вернулся, поэтому объект находится вдвое ближе:
float cm = duration * 0.034 / 2;На расстоянии 1 метр эхо возвращается примерно за 5800 микросекунд: 5800 умножить на 0.034 — это 197 см туда и обратно, значит, расстояние до объекта составляет 98.6 см. Запиши 0.034 с десятичной точкой: тогда в сумме сохранятся десятичные знаки.
Ожидай погрешность в один-два сантиметра: температура воздуха влияет на скорость звука, а этот датчик немного занижает показания.
Задание
ЛегкоСкетч выводит время эха. Вместо этого выведи расстояние:
- переведи время в сантиметры: умножь на 0.034, раздели на 2
- выведи сантиметры вместо времени
Нажми Run, перемести объект, затем нажми Check.
Попробуйте сами
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);
// переведи время эха в сантиметры и выведи результат
Serial.println(duration);
delay(200);
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Дисплеи и датчики
Потренируйтесь самостоятельно: Песочница Arduino