Расстояние на LCD
Часть раздела Дисплеи и датчики путешествия по Arduino на Coddy. Урок 23 из 24.
Датчик и экран образуют прибор, который работает без компьютера: здесь HC-SR04 измеряет расстояние, а LCD его показывает.
Каждый шаг взят из предыдущих уроков. Измерьте время эха, переведите его в сантиметры и выведите на нижнюю строку, указав единицу измерения после значения:
int cm = duration * 0.034 / 2;
lcd.setCursor(0, 1);
lcd.print(cm);
lcd.print(" cm ");Пробелы после cm важны. При переходе от 150 cm к 20 cm новый текст короче, и без этих пробелов на экране было бы 20 cmm. Здесь расстояние хранится в int: целые сантиметры удобнее читать на маленьком экране.
Задание
СреднеНа ЖК-дисплее в верхней строке отображается Distance:, а скетч измеряет время эха. Выведи расстояние под ней:
- переведи время в целые сантиметры
- в начале нижней строки выведи число, а затем
cm, например25 cm - закрой оставшиеся символы пробелами
Нажми Run, перемести объект, затем нажми Check.
Попробуйте сами
#include <LiquidCrystal.h>
// RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int trigPin = 9;
const int echoPin = 10;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.begin(16, 2);
lcd.print("Distance:");
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
// вычислить расстояние в сантиметрах и вывести его в нижней строке, например 25 cm
delay(200);
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Дисплеи и датчики
Потренируйтесь самостоятельно: Песочница Arduino