라즈베리 파이 & DS18B20으로 다중 센서 온도 & 조도 모니터링 시스템 구축
라즈베리 파이 & DS18B20으로 다중 센서 온도 & 조도 모니터링 시스템 구축
필요한 것들
- DS18B20 디지털 온도 센서 2개
- 4.7kΩ 풀업 저항 2개
- 표준 브레드보드, 점퍼 와이어, 파이에서 3.3V 전원
- 선택 사항: 47Ω 저항, LED 1개, 암-수 점퍼 와이어 (표시기용)
DS18B20과 1-와이어 프로토콜 이해
DS18B20은 1-와이어 프로토콜 덕분에 여러 장치가 단일 GPIO 핀을 공유할 수 있는 고신뢰성 센서입니다. 각 센서가 고유 주소를 가지므로 라즈베리 파이가 각 센서를 독립적으로 읽을 수 있습니다.
브레드보드 설정
대부분 브레드보드에는 한 쌍의 전원 레일이 있습니다 – 빨강은 +3.3V, 파랑은 GND. 이 레일은 각 측면의 모든 연결된 와이어를 연결해 나중에 구성 요소 추가를 단순화합니다.
보드 중앙 부분은 수직 간격으로 두 반쪽으로 나뉜 행들로 구성됩니다. 행 한쪽에 와이어를 연결하면 그 쪽의 모든 다른 핀과 연결되지만 반대쪽 절반과는 연결되지 않습니다.
DS18B20 핀아웃:
- 핀 1: GND
- 핀 2: 데이터 (파이의 GPIO4에 연결)
- 핀 3: VDD (3.3V)
핀 2와 핀 3 사이에 4.7kΩ 저항을 배치해 필요한 풀업 제공. 핀 1을 파란 GND 레일에, 핀 3을 빨간 3.3V 레일에 연결. 두 번째 센서도 동일하게 설정.
파이 프로그래밍
라즈비안 SD 카드 삽입, 파이 전원 켜고 터미널 열기. 기본 자격 증명(pi / raspberry)으로 로그인 후 실행:
sudo python dstemp.py
첫 실행 시 필요한 드라이버 로드; 이후 실행마다 몇 초마다 각 센서의 온도 판독값 표시.
센서 작동 확인
- 센서 만지면 판독값 점진적 상승
- 따뜻한 바람 불거나 헤어드라이어 사용하면 상승 가속
- 얼음 조각 대면 온도 급강하
- 우발적 값(예: 0.06°C) 가끔 나타날 수 있으나 보통 일회성
Ctrl+C로 종료.
두 번째 센서 추가
파이 전원 끄기(sudo halt), 두 번째 DS18B20을 브레드보드에 삽입, 핀 연결 후 파이 다시 전원 켬. sudo python dstemp.py 실행 시 두 장치 판독값 모두 표시되어야 함.
LED 표시기 추가
센서 1이 25°C 초과 시 LED 점등하려면 다음 구성요소 추가:
- GPIO 24에서 LED 애노드(긴 다리)로 암-수 점퍼
- LED (모든 색상)
- LED 캐소드(평평한 쪽)에서 파란 GND 레일로 47Ω 저항
파이썬 스크립트 수정해 센서 1 모니터링 및 GPIO 24 토글. 배선 중 파이 전원 끄기 필수.
자세한 내용: 라즈베리 파이 온도 및 조도 센서