습도와 온도는 환경 조건을 측정하는 일반적인 매개 변수입니다. 이 Arduino 기반 프로젝트에서는 주변 온도와 습도를 측정하여 16x2 LCD 화면에 표시 할 것입니다. 결합 된 온도 및 습도 센서 DHT11은 Arduino uno와 함께이 섭씨 스케일 온도계 및 백분율 스케일 습도 측정 프로젝트를 개발하는 데 사용됩니다. 이전 프로젝트 중 하나에서 온도 센서 LM35를 사용하여 디지털 온도계를 개발했습니다.
이 프로젝트는 3 개의 섹션으로 구성되어 있습니다. 하나는 습도 및 온도 센서 DHT11 을 사용하여 습도와 온도를 감지합니다. 두 번째 섹션에서는 DHTsensor 모듈의 출력을 읽고 온도 및 습도 값을 적절한 백분율 및 섭씨 눈금으로 추출합니다. 그리고 시스템의 세 번째 부분은 LCD에 습도와 온도를 표시합니다.
이 프로젝트의 작업은 단선 직렬 통신을 기반으로합니다. 먼저 arduino는 DHT 모듈에 시작 신호를 보낸 다음 DHT는 온도 및 습도 데이터가 포함 된 응답 신호를 제공합니다. Arduino는 하나는 습도이고 두 번째는 온도이며 두 부분으로 수집하고 추출하여 16x2 LCD로 보냅니다.
이 프로젝트에서는 DHT11 이라는 센서 모듈을 사용했습니다. 이 모듈은 보정 된 디지털 신호 출력이있는 습도 및 온도 복합체를 특징으로합니다. DHT11 센서 모듈은 보정 된 디지털 출력 신호를 제공하는 습도 및 온도 감지 용 결합 모듈입니다. DHT11은 습도와 온도의 매우 정확한 값을 제공하고 높은 신뢰성과 장기적인 안정성을 보장합니다. 이 센서에는 저항성 유형 습도 측정 구성 요소와 NTC 유형 온도 측정 구성 요소와 8 비트 마이크로 컨트롤러가 내장되어있어 응답 속도가 빠르고 비용 효율적이며 4 핀 단일 행 패키지로 제공됩니다.
DHT11 모듈은 직렬 통신, 즉 단선 통신에서 작동합니다. 이 모듈은 특정 시간주기의 펄스열 형태로 데이터를 전송합니다. arduino로 데이터를 보내기 전에 시간 지연이있는 초기화 명령이 필요합니다. 그리고 전체 처리 시간은 약 4ms입니다. 완전한 데이터 전송은 40 비트이며이 프로세스의 데이터 형식은 다음과 같습니다.
8 비트 적분 RH 데이터 + 8 비트 십진 RH 데이터 + 8 비트 적분 T 데이터 + 8 비트 십진 T 데이터 + 8 비트 체크섬.
프로세스 완료
우선 arduino는 DHT의 감지를 보장하기 위해 18µs 지연으로 DHT11에 high-low 시작 신호를 보냅니다. 그런 다음 arduino가 데이터 라인을 풀업하고 DHT의 응답을 위해 20-40µs를 기다립니다. DHT가 시작 신호를 감지하면 약 80µs의 시간 지연의 arduino에 저전압 레벨 응답 신호를 보냅니다. 그리고 나서 DHT 컨트롤러는 데이터 라인을 끌어 올려 DHT의 데이터 전송 배열을 위해 80µs 동안 유지합니다.
데이터 버스가 저전압 레벨이면 DHT11이 응답 신호를 보내고 있음을 의미합니다. 완료되면 DHT는 데이터 전송 준비를 위해 다시 80µs 동안 데이터 라인 풀업을 수행합니다.
모든 비트에 대해 DHT에 의해 arduino로 전송되는 데이터 형식은 50µs 저전압 레벨로 시작하고 고전압 레벨 신호의 길이는 데이터 비트가 "0"인지 "1"인지를 결정합니다.
한 가지 중요한 것은 DHT 센서를 20m 미만의 거리에 배치하는 경우 5k 풀업 저항을 권장하기 때문에 저항 값을 풀업하는 것입니다. DHT를 20 미터보다 길게 배치하는 경우 적절한 값 풀업 저항을 사용하십시오.
회로도 및 설명
액정 디스플레이는 4 비트 모드에서 arduino에 직접 연결된 온도 및 습도를 표시하는 데 사용됩니다. LCD의 핀 즉 RS, EN, D4, D5, D6 및 D7은 arduino 디지털 핀 번호 2, 3, 4, 5, 6 및 7에 연결됩니다. 그리고 DHT11 센서 모듈도 arduino의 디지털 핀 12에 연결됩니다. 5k 풀업 저항.
프로그래밍 설명
프로그래밍에서 우리는 DHT11 센서 및 LCD 디스플레이 모듈을 위해 사전 구축 된 라이브러리를 사용할 것입니다.
그런 다음 LCD 및 DHT 센서 용 핀을 정의하고 모든 설정을 초기화했습니다. 그런 다음 dht 기능을 사용하여 루프에서 DHT 센서를 읽고 일부 dht 기능을 사용하여 습도와 온도를 추출하여 LCD에 표시합니다.
여기서도 기호는 사용자 정의 문자 방법을 사용하여 생성됩니다.