본문 바로가기
모두의 아두이노 센서/아두이노 센서 (물)

HC-SR04 아두이노 센서 (LCD16X2 키패드실드)

by 로니킴 2021. 5. 16.


본 절은 [HC-SR04] 아두이노 센서를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. 아두이노 센서의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 아두이노와 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다. 

 

 

 

 

 

 


HC-SR04 수위감지 아두이노 센서 (LCD16X2 키패드실드)

 

HC-SR04 센서를 이용해 물의 수위를 측정할 수 있다. 센서는 일반적으로 거리 측정에 사용되지만, 물의 수위를 측정하는데 응용해서 사용할 수 있다. 

 

 

 




HC-SR04 센서란?

HC-SR04 센서 2cm ~ 400cm 비접촉 측정 기능을 제공하는 초음파 범위 측정 센서 모듈이다. 범위 정확도는 3mm에 도달 할 수 있으며 유효 각도는 <15 °이다. 5V 전원 공급 장치에서 전원을 공급받을 수 있다. 

 

HCSR04-datasheet-version-1.pdf
0.08MB
HC-SR04-datasheet-version-2.pdf
0.51MB


 

HC-SR04 아두이노 센서 특징

HC-SR04 센서의 특징은 다음과 같다. 

 

  • Working Voltage: DC 5V
  • Working Current: 15mA
  • Working Frequency: 40Hz
  • Max Range: 4m
  • Min Range: 2cm
  • Measuring Angle: 15 degree
  • Trigger Input Signal: 10µS TTL pulse
  • Echo Output Signal Input TTL lever signal and the range in proportion
  • Dimension 45 * 20 * 15mm

 

 




센서 동작 원리

센서는 짧은 초음파 펄스가 시간 0에 전송되어 물체에 반사된다.  센서는이 신호를 수신하여 전기 신호로 변환한다. 에코가 사라질 때 다음 펄스가 전송 될 수 있다. 이 기간을 주기 기간이라고 한다.
권장주기는 50ms 이상이어야 한다. 10μs 폭의 트리거 펄스가 신호 핀으로 전송되면 초음파 모듈은 8 개의 40kHz 초음파 신호를 출력하고 반향을 감지한다. 측정 된 거리는 에코 펄스 폭에 비례하며 위의 공식으로 계산할 수 있다.
장애물이 감지되지 않으면 출력 핀이 38ms의 높은 레벨 신호를 제공한다.

 

 

 

 

 


HC-SR04 센서 구입하기

[HC-SR04 센서]는 알리익스프레스, 네이버 쇼핑몰, 아마존 등에서 센서를 구입할 수 있다

 

 

 

 

 


 



HC-SR04 하드웨어 연결

다음과 같이 HC-SR04 아두이노 센서를 연결할 수 있다. 

 

 

 

 

 


 

HC-SR04 소프트웨어 코딩

하드웨어 연결이 완료되면, 아두이노 IDE를 이용해 HC-SR04 아두이노 센서 소스코드를 코딩할 수 있다. 

 

센서 코드는 다음과 같다. 

/*
   Ultrasonic(HC-SR04) Water Level Sensor
   @ 모두의 아두이노 환경 센서 (Arduino Sensors for Everyone)
      https://book.naver.com/bookdb/book_detail.nhn?bid=18030644
   @ author STEAMEDU123 <steamedu123@gmail.com>
*/

#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);


#define echoPin 2
#define trigPin 3

long distance;

void setup()
{
  initLCD();

  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}


void loop()
{
  sensor_read();
  delay(500);
}

void sensor_read() {
  long duration;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration / 2) / 29.1;

  displayLCD();

}

void initLCD() {
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  lcd.print("HC-SR04");
  lcd.setCursor(0, 1);
  lcd.print("Water Level Sensor");
  delay(1000);
  lcd.clear();
}

void displayLCD() {
  lcd.clear();

  lcd.setCursor(0, 0);
  lcd.print("Water: ");
  lcd.print(distance);
  lcd.print(" cm");

  lcd.setCursor(0, 1);
  if (distance >= 200 || distance <= 0) {
    lcd.print("Error!!");
  } else if (distance > 7) {
    lcd.print("GIVE ME WATER!!");
  } else if (distance <= 3) {
    lcd.print("Tank 200ml  100%");
  } else if (distance <= 4) {
    lcd.print("Tank 150ml   75%");
  } else if (distance <= 6) {
    lcd.print("Tank 100ml   50%");
  } else if (distance <= 7) {
    lcd.print("Tank 50ml    25%");
  } else {
    lcd.print("WATER ENOUGH!!");
  }
}

 

 

 


 



센서 동작확인

HC-SR04 하드웨어 연결, 소프트웨어 코딩이 완료되면 다음과 같이 동작 화면을 확인할 수 있다. 

 

------------------------------------------------------ 
개발환경 : WINDOWS 10 
아두이노 IDE : 1.8.13 
------------------------------------------------------ 
01 연결
 - 아두이노와 PC 연결 
 - 아두이노 IDE 실행 
 - 메뉴 → 툴 → 보드:아두이노 UNO 확인 
  - 메뉴 → 스케치 → 확인/컴파일 

02 컴파일 확인 

스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.


03 아두이노 우노 업로드 

컴파일이 이상없이 완료되면 스케치>업로드(CTRL+U) 를 선택해서 컴파일 파일을 업로드 한다. 


04 동작 확인

다음과 같이 동작을 확인할 수 있다. 

 

 

 

 

 

 


 

마무리

아두이노와 HC-SR04 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다. 

 

 

 

 


 



모두의 아두이노 환경 센서 책

[모두의 아두이노 환경 센서] 책은 예스24, 인터넷 교보문고, 알라딘, 인터파크도서, 영풍문고, 반디앤루니스 , 도서11번가 등에서 구입할 수 있다. 이 책에서는 PMS7003, GP2Y1010AU0F, PPD42NS, SDS011 미세먼지 센서, DHT22 온습도 센서, MH-Z19B 이산화탄소 센서, ZE08-CH2O 포름알데히드 센서, CCS811 총휘발성유기화합물 TVOC, GDK101 방사선(감마선) 센서, MQ-131 오존(O3) 센서, MQ-7 일산화탄소, MICS-4514 이산화질소 센서, MICS-6814 암모니아 센서, DGS-SO2 아황산가스(SO2) 센서, BME280 기압 센서, GUVA-S12SD 자외선(UV) 센서, MD0550 기류 센서, QS-FS01 풍속 센서(Wind speed) 를 사용한다.  

 

모두의 아두이노 환경 센서

아두이노와 센서로 내 건강을 지킬 수 있다!다양한 환경 센서를 실생활 프로젝트에 응용해보자!시중에 판매되고 있는 간이측정기도 센서로 값을 측정합니다. 똑같은 센서를 아두이노에 연결하

book.naver.com