본문 바로가기

아두이노

초음파 센서와 LCD 화면으로 거리 측정 및 표시

반응형

초음파 센서와 LCD 화면을 사용하여 거리를 측정하고 표시하는 아두이노 프로젝트를 만들어보겠습니다. 아래는 해당 프로젝트를 순차적으로 설명하는 가이드입니다.

1. 이론 소개:

  • 이 프로젝트에서는 초음파 센서를 사용하여 물체와의 거리를 측정하고, LCD 화면에 그 거리를 표시합니다.

2. 준비물:

  • 아두이노 보드 (예: Arduino Uno)
  • 초음파 센서 (HC-SR04 또는 비슷한 모델)
  • 16x2 문자 LCD 화면 (예: HD44780 컴파티블)
  • 점퍼 와이어 (메스-메스 및 메스-피스)
  • 브레드보드
  • USB 케이블 (아두이노 보드와 컴퓨터 연결용)

3. 비슷한 센서 모델:

  • HC-SR04 이외에도 다양한 초음파 센서 모델이 있을 수 있으며, 연결 방법은 유사합니다.

4. 추천 보드 및 간단한 설명:

  • Arduino Uno: 초보자 및 중급자에게 적합한 아두이노 보드로 다양한 라이브러리와 예제가 있습니다.

5. 회로 구성:

  • 초음파 센서와 LCD 화면을 브레드보드에 연결합니다.
  • 초음파 센서의 VCC 핀을 아두이노 5V 핀에 연결하고, GND 핀을 아두이노 GND 핀에 연결합니다.
  • 초음파 센서의 Trig 핀을 아두이노 디지털 핀 7에 연결하고, Echo 핀을 아두이노 디지털 핀 6에 연결합니다.
  • LCD 화면을 아두이노와 연결하고, VCC 및 GND 핀을 전원에 연결합니다.

6. 코딩 내용 (주석 포함):

 

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // LCD 핀 설정
const int trigPin = 7; // 초음파 센서 Trig 핀
const int echoPin = 6; // 초음파 센서 Echo 핀

void setup() {
  lcd.begin(16, 2); // LCD 화면 초기화 (16x2)
  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);
  float distance_cm = duration * 0.034 / 2; // 거리 계산 (cm)

  lcd.clear(); // LCD 화면 지우기
  lcd.setCursor(0, 0); // 첫 번째 줄, 첫 번째 열
  lcd.print("거리: ");
  lcd.print(distance_cm);
  lcd.print(" cm");

  Serial.print("거리: ");
  Serial.print(distance_cm);
  Serial.println(" cm");

  delay(500); // 0.5초 대기
}

 

8. 코드 업로드 및 테스트:

  • 아두이노 보드를 컴퓨터에 연결하고 위의 코드를 아두이노 IDE에 복사하여 업로드합니다.
  • 초음파 센서를 다양한 거리에 대해 테스트하고 LCD 화면에 거리가 표시되는지 확인합니다.

9. 응용 업그레이드:

  • 더 큰 LCD 화면을 사용하여 정보를 더 자세하게 표시합니다.
  • 거리에 따라 다른 정보나 경고를 추가하여 확장합니다.

10. 전문용어 설명:

- 초음파 센서 (Ultrasonic Sensor): 초음파를 사용하여 물체와의 거리를 측정하는 센서.

- LCD 화면 (Liquid Crystal Display): 문자나 숫자를 표시하는 디스플레이 장치.

 

11. 기타:

- 초음파 센서의 회로 연결 방식 및 핀 번호는 모델에 따라 다를 수 있습니다.

반응형