2015-03-07 12 views
6

Tôi đang gặp sự cố khi chạy cảm biến nhiệt độ DHT 11 trong PI 2 với Python2.7 GPIO 0.5.11. Tôi đang đề cập đến mã mẫu http://www.uugear.com/portfolio/dht11-humidity-temperature-sensor-module/.Mã GPIO Python cho cảm biến nhiệt độ DHT 11 không thành công trong PI 2

Cùng một mã hoạt động tốt trên PI 1 B +. Trong PI 2 tôi nhận được "ERR_RANGE" là Lỗi. Tôi đã thử gỡ lỗi vấn đề có vẻ như dữ liệu đọc @ GPIO pin 4 cần phải được tăng lên.

Sau khi tăng giá trị đọc dữ liệu lên 2000, giá trị nhiệt độ và độ ẩm được trả về là 255 tất cả thời gian. Có ai phải đối mặt với vấn đề không giúp tôi về cách giải quyết.

Cảm ơn, Bharadvaj

+0

Đây có thể là https vấn đề của bạn: //blog.adafruit.com/2015/02/27/i2c-spi-i2s-lirc-pps-stopped-working-read-this-piday-raspberrypi-raspberry_pi/ nhưng chúng tôi sẽ cần thêm thông tin để giúp bạn có thể đăng một hình ảnh hiển thị các kết nối và mã nguồn của bạn. –

+0

Cảm ơn bạn đã liên kết tham chiếu, tôi sẽ xác minh và cập nhật. –

Trả lời

2

Có lẽ biết thêm thông tin sẽ giúp giải quyết vấn đề của bạn. Tôi có cùng cảm biến giống như bạn.

Tôi đi theo hướng dẫn này: https://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/software-install-updated

git clone https://github.com/adafruit/Adafruit_Python_DHT.git 
cd Adafruit_Python_DHT 
sudo apt-get update 
sudo apt-get install build-essential python-dev 
sudo python setup.py install 

Và đây là thử nghiệm python script của tôi:

#!/usr/bin/python 
import sys 
import Adafruit_DHT 
humidity, temperature = Adafruit_DHT.read_retry(11, 4) 
if humidity is not None and temperature is not None: 
    print 'Temp={0:0.1f}*C Humidity={1:0.1f}%'.format(temperature, humidity) 
else: 
    print 'Failed to get reading. Try again!' 

Lưu nó như là ví dụ dht_test.py, Chmod: sudo chmod a + x dht_test. py và chạy như sudo: sudo ./dht_test.py Có lẽ điều này sẽ giúp bạn.

+0

Tôi có thể nhận được nhiệt độ và độ ẩm theo câu trả lời của bạn. Nhưng có vẻ như các phần phân đoạn của cả hai dữ liệu luôn là 0. Ví dụ, Temp = 25.0 * C Độ ẩm = 35.0%. – sevenOfNine

+0

Tôi thấy rằng DHT11 không đo lường phần phân đoạn. Vì vậy, việc đo lường thành công. – sevenOfNine

11

Bạn cũng có thể kiểm tra thư viện nhỏ sau đây. Nó chỉ phụ thuộc vào GPIO mô-đun:

https://github.com/szazo/DHT11_Python

Ví dụ:

import RPi.GPIO as GPIO 
import dht11 

# initialize GPIO 
GPIO.setwarnings(False) 
GPIO.setmode(GPIO.BCM) 
GPIO.cleanup() 

# read data using pin 14 
instance = dht11.DHT11(pin = 14) 
result = instance.read() 

if result.is_valid(): 
    print("Temperature: %d C" % result.temperature) 
    print("Humidity: %d %%" % result.humidity) 
else: 
    print("Error: %d" % result.error_code) 
Các vấn đề liên quan