코딩교육-아두이노

아두이노 디지털 핀 (단선 프로토콜 신호 - DHT11 데이터시트) - Arduino Digtal Pin - One-Wire Protocol, DHT11 Datasheet

carrotweb 2022. 3. 26. 20:11
728x90
반응형

이전 온도/습도 센서인 DHT11에 대해 라이브러리를 이용하여 온도와 습도, 체감 온도를 확인해 보았습니다.

이처럼 대부분의 디지털 센서들은 아날로그 센서로부터 들어온 정보를 디지털 정보로 변환하여 전달합니다.

그럼 센서에서 아두이노 우노 보드로 디지털 정보를 어떻게 전달할까요?

디지털 신호인 LOW와 HIGH를 사용하여 전달하고자 하는 정보를 디지털 정보 단위인 bit(비트)로 만들어야 합니다. 단순하게 디지털 신호만으로도 bit(비트)의 0(LOW)과 1(HIGH)을 만들 수 있습니다. 그렇지만, 어떤 디지털 신호부터 읽을 것인지, 어떤 디지털 신호까지 읽을 것인지, 얼마나 읽을 것인지 등 단순하게 디지털 신호만으로는 처리할 수 없습니다.

그래서 정보를 주고받기 위해서는 디지털 신호에 규칙과 순서를 적용해야 합니다. 이렇게 처리하는 방식을 One-wire protocol(단선 프로토콜, 단일 버스)이라고 합니다.

디지털 신호 규칙과 순서

디지털 신호 규칙은 디지털 신호인 LOW와 HIGH에 디지털 신호 유지 시간을 설정합니다.

디지털 신호 유지 시간은 밀리초(millisecond, ms)나 마이크로초(microsecond, us)를 사용합니다.

다음은 DHT11 센서에서 아두이노 우노 보드로 디지털 신호인 LOW와 HIGH에 디지털 신호 유지 시간을 설정하여 1bit(비트)를 만들어 전달하는 규칙입니다.

처음 디지털 신호 LOW를 50~54us(마이크로초)를 유지하고 다음 디지털 신호 HIGH를 26~28us(마이크로초)를 유지하여 전달되면 1bit(비트)인 0으로 처리하라는 뜻입니다.

 

처음 디지털 신호 LOW를 50~54us(마이크로초)를 유지하고 다음 디지털 신호 HIGH를 70us(마이크로초)를 유지하여 전달되면 1bit(비트)인 1로 처리하라는 뜻입니다.

 

이처럼 디지털 신호 LOW에서 디지털 신호 HIGH로 보내는 방식을 LOW-to-HIGH transition(rising edge, 상승 에지)이라고 하고 반대로는 HIGH-to-LOW transition(falling edge, 하강 에지)라고 합니다.

다음은 아두이노 우노 보드에서 DHT11 센서로 보내는 시작 신호와 DHT11 센서에서 아두이노 우노 보드로 보내는 응답 신호를 만들어 전달하는 규칙입니다.

시작 신호 규칙은 LOW를 18ms(밀리초)를 유지하고 다음 디지털 신호 HIGH를 20~40us(마이크로초)를 유지하여 전달합니다.

응답 신호 규칙은 LOW를 54~80us(마이크로초)를 유지하고 다음 디지털 신호 HIGH를 80us(마이크로초)를 유지하여 전달합니다.

 

아두이노 우노 보드에서 DHT11 센서로 디지털 신호를 보낼 때 유지하는 방법은 delay() 함수와 delayMicroseconds() 함수를 사용하여 대기하면 됩니다.

 

그리고 DHT11 센서에서 아두이노 우노 보드로 보내는 종료 신호 규칙은 LOW를 54us(마이크로초)를 유지하고 다음 디지털 신호 HIGH를 유지하여 전달합니다.

 

다음은 DHT11 센서와 정보 주고받기 위한 전체 디지털 신호 순서입니다.

 

전체 디지털 신호 순서의 간격이 2초 이상이어야 합니다. 즉 DHT11 센서로부터 정보를 받은 후 2초 이상의 시간이 지난 후에 다시 호출해야 합니다.

이런처럼 센서에 대한 디지털 신호 규칙과 순서, 관련 정보들을 알아야 프로그램이나 라이브러리를 만들 수 있습니다. 이런 정보들로 되어 있는 문서를 Datasheet(데이터시트)라고 합니다.

 

Datasheet(데이터시트)

Datasheet(데이터시트)는 센서나 부품의 기능, 설명, 기술 사양, 치수, 핀 정보, 전기 연결 다이어그램, 작동 설명(입/출력 신호), 전기적 특성, 주의사항, 부품 구성 등 센서나 부품의 기능과 특징을 설명한 문서이다. 즉 제조사가 만든 센서나 부품에 대한 매뉴얼입니다. Datasheet(데이터시트)는 일반적으로 제조사에서 만들며 양식도 다릅니다.

센서나 부품을 이용해서 직접 입/출력 신호를 주고받을 수 있게 개발하고 싶으시면 센서나 부품에 대한 Datasheet(데이터시트)를 검색해 보시기 바랍니다. 제조사가 만든 자료가 많이 있습니다.

그럼, DHT11 또는 DHT22 센서에 대한 Datasheet(데이터시트)를 검색해 보면 많은 PDF 자료들이 나옵니다.

구글 검색 결과에서 상위에 나오는 DHT11 센서에 대한 Datasheet(데이터시트) PDF 파일 URL입니다.

https://www.mouser.com/datasheet/2/758/DHT11-Technical-Data-Sheet-Translated-Version-1143054.pdf

https://www.electronicoscaldas.com/datasheet/DHT11_Aosong.pdf

https://image.dfrobot.com/image/data/KIT0003/DHT11%20datasheet.pdf

다른 센서들도 Datasheet(데이터시트)를 참고하셔서 프로그램이나 라이브러리를 만들어 보시기 바랍니다.

728x90
반응형