아두이노 기반 압력 센서 및 데이터 로거: 정밀 공기 압력 모니터링 시스템
프로젝트 개요
이 프로젝트는 기계식 압축기의 효율을 검증하기 위해 저수조 내부의 공기 압력을 기록하고자 하는 필요성에서 시작되었습니다. 아두이노 우노(Arduino UNO)와 SKU237545 압력 센서를 활용하여 실시간 압력 측정값을 바(bar)와 PSI 단위로 표시하고, SD 카드에 타임스탬프와 함께 로깅하는 완전한 데이터 수집 시스템을 구축했습니다.
주요 기능
- 실시간 압력 측정: 바(bar) 및 PSI 단위 동시 표시
- RTC(실시간 시계) 모듈 연동으로 정확한 타임스탬프 기록
- I2C LCD 디스플레이를 통한 현장 모니터링
- SD 카드 자동 로깅 (CSV 형식, 파일 자동 생성)
- 데이터 무결성을 위한 주기적 플러시(flush) 기능
필요한 부품
| 부품명 |
수량 |
비고 |
| Arduino UNO |
1 |
메인 컨트롤러 |
| SKU237545 압력 센서 |
1 |
아날로그 출력 타입 |
| RTC 모듈 (DS1307) |
1 |
실시간 시계용 |
| I2C LCD (16x2) |
1 |
PCF8574 인터페이스 |
| SD 카드 모듈 |
1 |
데이터 로깅용 |
| Delkin Commercial MLC SD 카드 |
1 |
고신뢰성 저장 매체 |
| 방수 프로젝트 박스 (158×90×60mm) |
1 |
옥외 설치 시 필수 |
| M3 나일론 나사 세트 |
1 |
조립용 |
| 듀폰 와이어 세트 |
1 |
배선용 |
회로 연결
I2C 버스 연결 (LCD, RTC 공통)
- A5 → SCL
- A4 → SDA
- 5V → VCC
- GND → GND
압력 센서 연결
- 신호선 (노란색) → A1
- GND (검정색) → GND
- VCC (빨간색) → 5V
SD 카드 모듈
- CS 핀 → 디지털 핀 10 (하드웨어 SPI)
소프트웨어 구조
필수 라이브러리
LiquidCrystal_PCF8574 - I2C LCD 제어
RTClib - RTC(DS1307) 제어
SD - SD 카드 파일 시스템
주요 코드 로직
// 압력 센서 보정 공식 (SKU237545 데이터시트 기준)
float voltage = (sensorVal * 5.0) / 1024.0;
float pressure_pascal = (3.0 * (voltage - 0.475)) * 1000000.0;
float pressure_bar = pressure_pascal / 10e5;
float pressure_psi = pressure_bar * 14.5038;
// 로깅 간격: 1초 (LOG_INTERVAL = 1000ms)
// 디스크 동기화 간격: 10초 (SYNC_INTERVAL = 10000ms)
데이터 로그 포맷 (CSV)
Date / Time, Pressure, bar, reading, psi, reading
2021/12/28 14:30:45, Pressure =, 1.234, bar, 17.90, psi
RTC 초기 설정 방법
별도 스케치를 통해 DS1307 RTC의 초기 시간을 설정해야 합니다. 제공된 setting real time clock 코드를 업로드한 후 시리얼 모니터에서 시간 정상 동작을 확인하세요.
활용 방안
- 압축기/펌프 성능 테스트 및 효율 분석
- 공압 시스템 누설 감지 및 모니터링
- 기상 관측용 기압 데이터 수집
- 산업 공정 압력 모니터링 및 품질 관리
주의사항
- 압력 센서의 보정 값(0.475V 오프셋, 3.0 스케일 팩터)은 실제 센서 데이터시트에 맞게 조정 필요
- SD 카드는 FAT16/FAT32 포맷 필수
- 장기 로깅 시 전원 안정성 확보 (배터리 백업 권장)
- 방수 박스 사용 시 센서 포트 밀봉에 주의