将DHT11/22接入树莓派后,无法读入信号,可能原因如下:
- 未将树莓派的地线接入扩展板。如果使用了扩展板,信号传递需要将树莓派的地(Ground)与扩展板的地相连接
- 使用Adafruit_DHT库进行读取时,输入的不是BCM编号
以DHT22为例,下面代码中DHT22pin处应当是树莓派连接DHT22信号线接口对应的BCM编码,而不是GPIO编码
import Adafruit_DHT
sensor = Adafruit_DHT.DHT22
DHT22pin = 20 # DHT11pin = 20
def main():
while True:
humidity, temperature = Adafruit_DHT.read_retry(sensor, DHT22pin)
print(humidity, temperature)