Menu
CoddyTech

LCD에 거리 표시하기

Coddy Arduino 여정의 디스플레이와 센서 섹션에 포함된 레슨. 24개 중 23번째.

센서와 화면을 사용하면 컴퓨터 없이 작동하는 장치를 만들 수 있습니다. 여기서는 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로 저장합니다. 정수 센티미터는 작은 화면에서 더 읽기 쉽습니다.

challenge icon

챌린지

중급

LCD의 맨 윗줄에는 Distance:가 표시되고 스케치는 에코 시간을 측정합니다. 그 아래에 거리를 표시하세요:

  • 시간을 정수 센티미터로 변환하세요
  • 맨 아랫줄의 시작 부분에 숫자를 출력한 다음 cm를 출력하세요. 예: 25 cm
  • 남은 문자를 공백으로 덮어쓰세요

실행을 누르고 물체를 움직인 다음 확인을 누르세요.

직접 해보기

#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);
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

디스플레이와 센서의 모든 레슨

직접 연습해 보세요: Arduino 플레이그라운드