Work - 6 (2)

JMIN·2025년 4월 19일

사물인터넷

목록 보기
16/23

🚀 도전과제

  • 온습도를 측정하여 불쾌지수를 LCD에 출력하기

⚡ 회로도

LCD 모듈을 연결할 때 주의할 점이 많다. 특히 객체 생성 시, LCD 모듈에 필요한 4개의 출력 핀과 RS, E 핀핀 번호를 정확히 알아야 한다.

  • RS : LCD에 어떤 종류의 데이터를 보낼 것인지 결정
  • E : 활성화 핀 (읽기/쓰기 신호를 LCD에 전달)

📜 코드


DHT 센서와 마찬가지로, LCD 모듈도 객체를 생성해줘야 한다.

LCD 객체 생성 시, 사용되는 함수는 아래와 같다.

 
	LiquidCrystal LCD(pinRS, pinEnable, pinD0, pinD1, pinD2, pinD3);

여기서 각 핀 번호는 LCD 모듈의 RS, Enable, D0~D3 핀에 연결된 아두이노의 핀 번호를 지정한다.

객체 생성 후, 초기화LCD.begin(16, 2) 함수를 사용한다.

  • 16은 LCD의 가로 크기, 즉 한 줄에 표시할 수 있는 문자 수를 의미하고,
  • 2는 LCD의 세로 크기, 즉 화면에 표시할 수 있는 줄 수를 의미한다.

이 값은 내가 사용하는 LCD의 크기에 맞게 설정해야 한다.


불쾌지수는 이전 시간에 사용했던 변수를 그대로 재사용하여 값을 계산하고 출력했다.
LCD에 값을 출력하기 전에는 LCD.clear() 함수를 사용해 화면을 항상 지워주어야 한다.
이렇게 해야 이전에 출력된 값들이 남지 않고, 새로운 정보가 깔끔하게 표시된다.

그 다음으로 LCD.setCursor(0, 0) 함수를 통해 커서 위치를 (0, 0)으로 설정해준다.
이 설정은 LCD 화면의 좌측 상단 (첫 번째 줄, 첫 번째 열)부터 출력이 시작되도록 해준다.

그 후, 조건문 안에서 LCD.print() 함수를 사용하면 원하는 문자를 LCD화면에 쉽게 출력할 수 있다.

🌟 결과물

📌 마무리

오늘은 저번 시간에 활용한 불쾌지수 계산을 활용하여, 불쾌지수에 따라 다른 문장을 LCD에 출력하는 실습을 했다.

사실 처음 LCD 판을 접했을 때는

"조금 조잡스럽고 투박하지 않을까?"

하는 생각이 들었지만, 막상 실습해보니 글자 출력이 깔끔하고 실시간 반응도 좋아서 신기했다.

특히 시리얼 모니터의 값이 변할 때 LCD의 문장도 실시간으로 바뀌는 것을 보면서, 이 작은 디스플레이로도 다양한 정보를 시각화할 수 있겠다는 생각이 들었다.

이런 LCD 판을 활용하면 디지털 시계도 만들어볼 수 있을 것 같다. (다음에 해보는 걸로,,)

profile
🐂처럼 살기;

0개의 댓글