산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

Arduino DTH22 습도 온도(LCD I2C 16x2 디스플레이 포함)

구성품 및 소모품

Arduino UNO
× 1
DHT22 온도 센서
× 1
I2C 배낭 모듈이 있는 파란색 16×2 LCD 모듈에 흰색 – 5V
× 1
무납땜 브레드보드 전체 크기
× 1
9V 배터리(일반)
× 1
5.5mm/2.1mm 플러그가 있는 Adafruit 9V 배터리 클립
× 1
USB-A 대 미니 USB 케이블
× 1
남성/여성 점퍼 와이어
× 1
남성/남성 점퍼 와이어
× 1

이 프로젝트 정보

2년 동안 내 아들(7)은 애완용 뱀을 기르고 싶어했습니다. 마침내 그는 테라리움이 있는 두 마리의 뱀을 샀습니다. 뱀을 편안한 환경에서 유지하려면 온도와 습도를 모니터링해야 합니다.

그래서 우리는 아날로그 습도/온도 센서를 구입했고 둘 다 좋은 수준으로 유지하는 것이 쉽지 않다는 것을 발견했습니다. 새로 구입한 Arduino Uno로 프로젝트를 시작하고 싶었기 때문에 습도/온도 센서를 사용하고 Arduino가 테라리움의 온도 및 습도를 자동화하도록 하는 것이 좋은 생각인 것 같았습니다. 그래서 DTH22 온습도 센서와 LCD I2C 16x2 디스플레이를 사서 써봤습니다.

이 튜토리얼은 이 프로젝트의 기초입니다. 이 튜토리얼에는 자동화가 전혀 없습니다. DTH22와 LCD I2C 디스플레이만 사용하면 됩니다.

이 목적에 대한 다른 튜토리얼을 보았지만 이것은 I2C가 없는 LCD를 사용하는 것이었습니다. I2C가 LCD에 연결되어 있지 않다면 ThothLoki의 이 튜토리얼을 살펴보십시오.

필요한 하드웨어

<울>
  • 모든 5V Arduino(이 경우 Arduino Uno R3)
  • <울>
  • DTH22 습도/온도 센서
  • <울>
  • I2C가 장착된 LCD 16x2 디스플레이
  • <울>
  • 브레드보드
  • <울>
  • 6 수/수 점퍼 와이어
  • <울>
  • 수컷/암컷 점퍼 와이어 4개
  • 필요한 라이브러리

    <울>
  • Adafruit_Sensor
  • <울>
  • DHT
  • <울>
  • 뉴리퀴드크리스탈
  • 시작하기 전에

    I2C가 장착된 LCD 16x2가 마음에 듭니다. Arduino에 연결해야 할 수도 있고 필요하지 않을 수도 있는 모든 핀의 문제를 해결할 수 있기 때문입니다. 점퍼선 4개만 있으면 됩니다.

    디스플레이에는 명령을 수락하거나 메시지를 보낼 수 있는 I2C 주소가 있습니다. 단점은 계속하기 전에 사용하는 주소를 파악해야 한다는 것입니다. 여기에서 세부 사항을 다루지는 않겠지만 Arduino 포럼에서 이에 대한 모든 것을 읽을 수 있습니다.

    제 경우에는 기기가 0x3F 주소를 사용합니다. , 장치에서 이 주소를 사용하는 경우 운이 좋다면 코드를 복사하면 됩니다.

    Arduino에 브레드보드 연결

    DHT22 센서와 LCD 1602 I2C는 5V 전원을 사용합니다. 따라서 Arduino의 5V 핀을 브레드 보드의 빨간색 + 행에 연결하고 Arduino의 접지를 브레드 보드의 파란색에 연결했습니다. 색상을 동기화된 상태로 유지하려면 스키마에서 5V용 빨간색 케이블과 접지용 파란색 케이블을 사용합니다. 실생활에서 나는 파란색을 접지로 사용하지 않았지만 흰색은 ... 자동차 전자 제품과 너무 많이 놀았습니다.

    데이터에는 노란색 케이블, SDA에는 주황색 케이블, SCL에는 회색 케이블을 사용하겠습니다. 문자 2는 I2C에 있습니다.

    DHT22 센서 추가

    핀아웃을 살펴보자. DHT11과 같은 DHT22 센서에는 4개의 핀이 있습니다. 전면이 바깥쪽을 향하도록 브레드보드에 DHT22 센서를 놓습니다. 이렇게 하면 첫 번째 핀(5V 전원)이 오른쪽에 있습니다(회로도 참조).

    작은 빨간색 점퍼 케이블을 사용하여 5V VCC를 브레드보드의 5V(+) 행에 연결합니다. 그리고 접지를 브레드보드의 접지(-) 행에 연결하는 작은 파란색 점퍼 케이블. 두 번째 핀인 데이터 핀을 Arduino에 연결하기 위해 긴 노란색 케이블을 사용했습니다. 디지털 데이터이므로 Arduino의 데이터 포트 4에 연결했습니다. 다른 예에서는 포트 7을 사용하는 사람들을 볼 수 있으며 둘 다 작동합니다. 더 많은 데이터 포트를 사용할 것으로 예상하고 만일을 대비하여 포트 7을 저장하고 싶었기 때문에 포트 4를 사용했습니다. 스키마에서도 확인할 수 있습니다.

    LCD 16x2 I2C 추가

    LCD 16x2 I2C에도 4개의 핀이 있습니다. 아래 그림을 왼쪽에서 오른쪽으로 보면:

    <울>
  • 그라운드
  • <울>
  • VCC(5V)
  • <울>
  • SDA
  • <울>
  • SCL
  • 첫 번째(왼쪽) 핀을 브레드보드의 접지(-) 행에 연결합니다. 두 번째 핀을 브레드보드의 5V(+) 행에 빨간색으로 연결합니다. A4(SDA) 및 A5(SCL)에 I2C 연결이 있는 Arduino Uno를 사용합니다. 그래서 아두이노의 세 번째 핀을 A4에 연결하고 네 번째 핀을 A5 커넥터에 연결했습니다.

    코드

    다른 주소를 가질 수 있다는 화면을 기억하십시오'. 내 I2C는 주소 0x3F를 사용하므로('시작하기 전에' 부분 참조) 내 코드가 이 주소로 설정되어 있음을 주의하십시오.

    필요한 라이브러리(Adafruit_Sensor, DHT, NewliquidCrystal)를 기억하십시오. 이 라이브러리를 다운로드하고 압축을 풀고 프로젝트의 라이브러리 디렉토리에 배치하십시오.

    그런 다음 Arduino에 코드를 업로드하고 테라리움(또는 서버 캐비닛, 냉장고 또는 거실)의 습도와 온도를 확인하세요.

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    <울>
  • hygroThermo.ino
  • hygroThermo.inoC/C++
    /* Arduino uno 온도 및 습도 센서와 함께 DHT-22 센서를 사용하는 방법 추가 정보:http://www.ardumotive.com/how-to-use-dht-22-sensor-en.html Dev:Michalis Vasilakis // 날짜:2015년 1월 7일 // www.ardumotive.com *///Libraries#include #include  #include #include //상수#define DHTPIN 4 // 어떤 핀에 연결했는지#define DHTTYPE DHT22 // DHT 22 (AM2302)DHT dht(DHTPIN, DHTTYPE); //// 일반 16mhz Arduino용 DHT 센서 초기화//LCD I2C 및 주소 0x3F#define I2C_ADDR 0x3F#define BACKLIGHT_PIN 3#define En_pin 2#define Rw_pin 1#define Rs_pin 0#define#define5 #define D6_pin 6#define D7_pin 7LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);//Variablesint chk;float hum; //습도 값을 저장합니다.float temp; //온도 값 저장void setup(){ Serial.begin(9600); dht.begin(); lcd.begin(16,2); lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); lcd.setBacklight(HIGH);}무효 루프(){지연(2000); //데이터를 읽고 변수 hum 및 temp에 저장 hum =dht.readHumidity(); 온도 =dht.readTemperature(); //시리얼 모니터에 온도와 습도 값을 출력합니다. Serial.print("Humidity:"); Serial.print(험); Serial.print(" %, 온도:"); Serial.print(임시); Serial.println("섭씨"); lcd.clear(); lcd.setCursor(0,0); lcd.print("온도:"); lcd.print(온도); lcd.print(" "); lcd.print((문자)223); lcd.print("C"); lcd.setCursor(0,1); lcd.print("흠:"); lcd.print(흠흠); lcd.print(" %"); 지연(2000); //2초 지연}

    회로도

    스키마 프리징 schema_UcHE1qRu2t.fzz

    제조공정

    1. Raspi 2 WIOT와 Arduino I2C 통신
    2. 비행 시뮬레이터용 Arduino가 있는 LCD 패널
    3. Arduino로 물방울 캡처
    4. 온도 및 습도 데이터 로거
    5. Nextion 디스플레이로 재생
    6. Arduino UNO로 LCD TFT 화면에 이미지 표시하기!
    7. Nextion 디스플레이의 BME280 온도, 습도 및 압력
    8. 128x64 LCD 디스플레이의 DIY 10Hz-50kHz 오실로스코프
    9. U-blox LEA-6H 02 GPS 모듈(Arduino 및 Python 포함)
    10. DS1302 RTC가 있는 간단한 알람 시계