주니봉
  • [아두이노] 온도측정 센서 만들기(1) - 온도 측정하기
    2023년 02월 12일 23시 46분 45초에 업로드 된 글입니다.
    작성자: 봉주니

    아두이노로 실내 온도 측정 센서를 만들어보려고 합니다.

     

    아무런 지식도 없이, 그냥 구글링을 하면서 만들어 나가 보겠습니다.

     

    목표 : 실시간 온도,습도를 측정하여 WIFI를 통해 DB에 저장 후 그래프로 그려내기!!!

     

    1. 디바이스 마트에서 구매하기

    아두이노 종류가 너무 다양해서 그냥 적당한 가격대 들어봤을법한 이름으로 구매

     

    <재료>

    1. 아두이노 우노 R3 호환보드

      - 정품보다 가격이 저렴하다. 처음만들다가 쇼트내고 망가질까봐 호환보드로 구매

    2. DHT11 온습도 센서모듈

      - 가격이 저렴하고, 별도의 저항이 필요없는 모듈이다.

    3. 소켓 점퍼 케이블 40P (M/F) 20cm

      - 센서와 아두이노 연결을 위해 샀다.

    4. 아두이노 아크릴 고정판

      - 아두이노 구매할 때 고정할 수 있는 판이 보여서 그냥 사봤다.

    5. 브레드보드 

      - 일명 빵판, 아크릴 판에 붙여서 같이 쓸 수 있다.

    6. ESP8266 와이파이 모듈

      - WIFI 연결을 위해 구매

     

    아래의 사이트에서 회로 시뮬레이션이 가능하다.

    https://www.tinkercad.com/dashboard

     

    Tinkercad | From mind to design in minutes

    Tinkercad is a free, easy-to-use app for 3D design, electronics, and coding.

    www.tinkercad.com

    아래와 같이 보드를 그리고, 실제로 코드 넣고 시뮬레이션도 가능하다.

    내가 구매한 센서들이 다 있지는 않은 것 같다.

    빨강 : 전원 VCC

    노랑 : 접지 GND

    보라 : DATA

    DHT11 의 핀 구성은 아래와 같습니다.

     

    Arduino IDE 를 다운받아 실행합니다.

    아두이노와 연결된 포트를 선택해주고, 아래의 코드를 입력하고 compile을 해봅니다.

     

    #include "DHT.h"  
    #define DHTTYPE DHT11    
    #define DHTPIN 4  
    DHT dht(DHTPIN , DHTTYPE);  
    float temp;  
    float humid;  
      
    void setup() {    
       Serial.begin(115200);  
       dht.begin();  
    }  
      
    void loop() {  
        temp  = dht.readTemperature();  
        humid = dht.readHumidity();  
        Serial.print("temp="); Serial.print(temp);  
        Serial.print(",humid="); Serial.println(humid);     
        delay(1000);  
    }

     

    주의사항

    1) 포트를 선택하지 않는 경우, 포트를 찾을 수 없다고 합니다.

    2) DHT.h 라이브러리를 찾지 못하는 경우, 라이브러리 매니저에서 DHT11를 검색 후 설치하면 해결!

     

    시리얼 모니터를 통해 아래와 같이 센서 측정 결과를 볼 수 있었다.

    설정한 통신속도도 맞춰줘야 정확한 결과가 보인다.

    반응형
    댓글