본문 바로가기

보드팩토리 – SBC 커뮤니티

기술 Q&A

전자회로·센서 HOT

DHT22 온습도 센서 값이 안 읽혀요 해결 방법 있을까요

작성자오버클럭 Lv.2 준회원 작성일 조회473 댓글11

본문

팅커보드 2S · Windows 11 를 쓰고 있습니다. 전원은 정품 27W USB-C 어댑터 입니다.

센서를 연결하고 예제 코드를 돌렸는데 값이 None 이거나 오류가 납니다.

다른 GPIO 핀으로도 해 봤습니다.

import adafruit_dht, board

dht = adafruit_dht.DHT22(board.D4)
print(dht.temperature, dht.humidity)

어떻게 확인하면 될까요?

추천0

답변 6

해결됨
11 채택됨

질문한 사람이 채택한 답변

DHT 계열은 읽기 실패가 흔합니다. 2초 간격으로 여러 번 읽고 실패는 건너뛰세요.

저도 같은 증상이었는데 전원 어댑터를 바꾸고 해결됐습니다.

펌웨어굽는남자
커널 버전이 몇이세요? — 오버클럭
6

1-Wire 는 dtoverlay=w1-gpio 를 켜야 합니다. /sys/bus/w1/devices 에 28- 로 시작하는 폴더가 생기는지 보세요.

import adafruit_dht, board

dht = adafruit_dht.DHT22(board.D4)
print(dht.temperature, dht.humidity)

로그를 먼저 보셔야 원인을 좁힐 수 있습니다. dmesg 와 journalctl 결과를 올려 주세요.

벤치마커
커널 버전이 몇이세요? — 오버클럭
로그 전체를 올려 주실 수 있나요? — 보드덕후
4

다른 SD카드에 깨끗한 OS 를 새로 구워서 같은 증상인지 먼저 확인해 보세요.

import adafruit_dht, board

dht = adafruit_dht.DHT22(board.D4)
print(dht.temperature, dht.humidity)
픽셀아저씨
2

펌웨어와 OS 를 최신으로 올린 뒤 다시 시험해 보세요. 알려진 버그가 고쳐진 경우가 많습니다.

저도 같은 증상이었는데 전원 어댑터를 바꾸고 해결됐습니다.

벤치마커
0

DHT 계열은 읽기 실패가 흔합니다. 2초 간격으로 여러 번 읽고 실패는 건너뛰세요.

커널패닉
커널 버전이 몇이세요? — 오버클럭
로그 전체를 올려 주실 수 있나요? — 준혁
0

서보는 전원이 약하면 떨립니다. 서보 전원을 따로 주고 GND 만 묶으세요.

스마트홈러