아두이노 초음파 거리측정기

HC-SR04 초음파 센서 모듈과 LCD 디스플레이를 결합하여 측정한 거리가 LCD에 출력되도록 만들었습니다.

소스 코드

#include <LiquidCrystal.h>

int trigPin = 7;
int echoPin = 6;

// LCD 핀번호 초기화
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  Serial.begin(9600);

  pinMode(trigPin, OUTPUT); // 센서 Trig 핀
  pinMode(echoPin, INPUT);  // 센서 Echo 핀

  // 사용된 LCD의 글자수
  lcd.begin(16, 2);
}

// 1초마다 거리를 출력합니다.
void loop() {
  digitalWrite(trigPin, HIGH);  // 센서에 Trig 신호 입력
  delayMicroseconds(10);        // 10us 정도 유지
  digitalWrite(trigPin, LOW);   // Trig 신호 off

  long duration = pulseIn(echoPin, HIGH);    // Echo pin: HIGH->Low 간격을 측정
  long distance = duration / 29 / 2;         // 거리(cm)로 변환

  // 거리 출력
  char buf[20];
  snprintf(buf, sizeof(buf), "Distance %4d cm", distance);
  lcd.setCursor(0, 0);
  lcd.print(buf);
  
  delay(200);
}

목차