안녕하세요. 이번 포스팅에서는 ESP32 개발 보드와 CO2(이산화탄소) 센서, 1602 RGB LCD를 사용하여 이산화탄소 측정기를 만들어 보도록 하겠습니다.
ESP32 DevKit + MH-Z14A + 1602 RGB LCD 구성으로 만들어진 CO2 측정기
CO2 센서로 측정한 이산화탄소 농도 값을 1602 LCD로 출력하여 CO2 농도에 따라 LCD 색상을 변경하는 기능을 하도록 제작되었습니다.여기에 사용되는 센서 및 컴포넌트는 다음과 같습니다.
필수 구성 ESP32ESP32 DevKit v1ESP32개발 보드, vin5V에서 사용 가능 CO2센서 MH-Z14ANDIR방식 CO2센서 모듈 UART지원 CO2모듈 1602LCDLCD1602 RGB ModuleRGB LCD(기본 구성/해외 재고)16×2 Arduino LCD RGB Backlight대체 LCD(키 경치 변경), M/F점퍼 필요 필수 부속 F/F점퍼 와이어 24AWG 1P-10(F)ESP보드와 센서의 연결에 사용 MC40-5P40-5SS, 잘라서 사용)옵션 M/F점퍼 와이어 24AWG1P-10(M/F)대체 LCD사용 시 접속을 위해서 필요
간단 BOM 공유 페이지
기본 구성https://www.eleparts.co.kr/bom/share?pj_seq=5CGDR8JY5&hseq=0OKBT2Y2대체 구성https://www.eleparts.co.kr/bom/share?pj_seq=U1ZRM5JY5&hseq=PTGMB8Y2
※1.CO2센서는 납땜작업이 필요합니다.※ 2. 배경변경 타입의 대체 LCD는 기본케이블(4p)이 포함되어 있으며 M/F 케이블로 연장(분리)하여 사용하셔야 합니다.※ 3. micro 5p USB케이블 별매
※ ESP32 모듈을 처음 사용하시는 경우 PC에서 인식되지 않을 수 있습니다.이 경우, 이하의 CP210x 드라이버를 인스톨 해 주세요.https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads
CP210x USB to UART Bridge VCP 드라이버 – Silicon Labs CP210x USB to UART Bridge Virtual COM Port(VCP) 드라이버는 CP210x 제품과의 호스트 통신을 용이하게 하기 위해 가상 COM 포트로서 디바이스를 동작시키기 위해 필요합니다. 이러한 장치는 직접 액세스 driver.www.silabs.com 을 사용하여 호스트에 인터페이스할 수도 있습니다.
센서 사용에는 핀 헤더의 납땜이 필요합니다.UART 기능을 사용하기 위해 TxRx, VCC, GND 등 4개의 핀만 납땜하십시오.
MH-Z14A 핀맵
파란색으로 표시된 4개의 핀이 각각 Tx, Rx, Vcc, GND 핀입니다.위 단자에 핀 헤더를 연결한 후 나머지 모듈을 아래와 같이 연결하여 구성합니다.
접속 회로 다이어그램
LCD는 4P커넥터가 달린 제품의 경우 M/F케이블을 사용하여 연장시키고 접속하세요.하드웨어 접속은 이렇게 완료하고 프로그램을 업로드하세요.예제 코드는 이하의 GitHub페이지에서 다운로드 합니다.https://github.com/eleparts/CO2_Meter
GitHub-eleparts/CO2_Meter:ESP32모듈 및 MH-Z14A CO2센서와 1602 RGB LCD를 사용하는 CO2측정기 ESP32모듈 및 MH-Z14A CO2센서와 1602 RGB LCD를 사용하는 CO2측정기-GitHub-eleparts/CO2_Meter:ESP32모듈 및 MH-Z14A CO2센서와 1602 RGB LCD를 사용하는 CO2측정기 github.comhttps://www.iciq.org/wp-content/uploads/2014/05/co2-800px-notxt-nobg.png예제 코드 및 라이브러리 파일은 아래 버튼에서 다운로드하십시오.앞으로 아두이노 IDE를 이용하여 ESP32를 추가하고 위에서 다운로드한 예제 코드를 실행하십시오.> 아두이노 IDE에 ESP32를 추가하다ESP32를 사용해보세요-02.ArduinoIDE에 ESP32 보드를 추가하는 이번 게시물에서는 ArduinoIDE에 ESP32 보드 라이브러리를 추가해보세요. 아두이노I ····· blog.naver.com예제 실행을 위해서는 포함된 라이브러리를 IDE에 등록해야 하며 IDE에서 쉽게 추가할 수 있습니다.다운로드한 파일의 압축을 풀고 Library 폴더에 들어가면 2개의 폴더를 확인할 수 있습니다.각 폴더 내부에 있는 .zip 파일이 라이브러리 코드이고, 이 두 zip 파일을 아두이노 IDE의 zip 라이브러리 추가 기능을 이용하여 업로드 해주세요.>> 두 폴더 내부에 있는 Zip 파일을 각각 하나씩 따로 추가해주세요.설정이 다 되면 example 폴더 내 예시를 업로드 해주세요.LCD 및 MH-Z14 CO2 센서 예가 각각 있으며 통합 예는 3개의 CO2 센서 + RGB LCD 폴더에 있습니다.상기 경로 예시를 업로드 해주시면 위와 같이 CO2 센서에서 1602 LCD로 이산화탄소 농도를 측정, 표시할 수 있습니다.https://www.youtube.com/watch?v=bpMS5NYwsxU통합 예시 업로드 후 동작 영상입니다.부팅 시 센서 예열 과정이 있으며 예열이 완료된 후(1분) 측정을 시작합니다.이때 호기를 불어넣으면 이산화탄소 농도가 올라가는 것을 확인할 수 있습니다.예시에서 참고하신 실내 이산화탄소 농도 기준은 다음과 같습니다.450,700,1000,1500,2000,3000마다 색이 변경되고 예제 코드로 값을 수정할 수 있기 때문에 코드를 보고 필요에 응하고 수정할 수 있습니다.이로 이산화 탄소 농도 측정기를 만들어 보았습니다.적당한 사례를 만들어 장착한다(센서는 하얀 필터 부분을 위에 두는 것을 추천합니다)완성하면 실내 공기 측정기가 완성됩니다.여기에 ESP모듈의 wifi기능을 이용하여 원격 접속/측정치 조회 기능을 추가할 수 있어 버저 등을 추가하고 이산화 탄소 농도가 높아지면 경고 알람을 하는 기능 등을 추가하거나, 환기구와 창문과 연동해서 자동적으로 환기를 하고 주는 기능을 추가하는 것도 가능하므로 제작에 도전하고 보는 것도 추천입니다.450,700,1000,1500,2000,3000마다 색상이 변경되며 예제 코드에서 값을 수정할 수 있으므로 코드를 보고 필요에 따라 수정할 수 있습니다. 이제 이산화탄소 농도 측정기를 만들어봤습니다.적당한 케이스를 만들어 장착하고(센서는 흰색 필터 부분을 위에 놓는 것을 권장합니다) 완성하시면 실내 공기 측정기가 완성됩니다.여기에 ESP 모듈의 와이파이 기능을 이용해 원격접속/측정치 조회 기능을 추가할 수 있으며, 부저 등을 추가해 이산화탄소 농도가 높아지면 경고 알람을 해주는 기능 등을 추가하거나 환풍기나 창문과 연동해 자동으로 환기를 해주는 기능을 추가하는 것도 가능하니 제작에 도전해 보는 것도 좋습니다.