-1

enter image description hereI am using raspberry pi 4 model b and sensor DHT 11 for checking the humidity and temperature. When I am using the code DHT.py, the result is:

1604263139.922  4 3 0.0 0.0
1604263142.192  4 3 0.0 0.0
1604263144.463  4 3 0.0 0.0
1604263146.732  4 3 0.0 0.0
1604263149.002  4 3 0.0 0.0
1604263151.273  4 3 0.0 0.0
1604263153.544  4 3 0.0 0.0
1604263155.816  4 3 0.0 0.0

but when I run my own code by using the command of python3 q1.py -f 5 -p 20 -o test.csv :


from board import D4 import adafruit_dht import argparse import datetime

parser = argparse.ArgumentParser()

parser.add_argument('-f',type=float) parser.add_argument('-p',type=float) parser.add_argument('-o',type=str)

args = parser.parse_args()

num_samples = int(args.p / args.f )

dht_device = adafruit_dht.DHT11(D4)

fp = open(args.o, 'w')

for i in range(num_samples): now = datetime.datetime.now() temperature = dht_device.temperature humidity = dht_device.humidity ptint(now.day,temperature,humidity,file = fp) time.sleep(args.f)

fp.close()

the error is :


Traceback (most recent call last): File "q1.py", line 23, in <module> temperature = dht_device.temperature File "/home/pi/WORK_DIR/py37/lib/python3.7/site-packages/adafruit_dht.py", line 253, in temperature self.measure() File "/home/pi/WORK_DIR/py37/lib/python3.7/site-packages/adafruit_dht.py", line 205, in measure raise RuntimeError("DHT sensor not found, check wiring") RuntimeError: DHT sensor not found, check wiring

the datasheet of sensor is DFR0067 DFROBOT enter image description here enter image description here

boot/config.txt

# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

uncomment if you get no picture on HDMI for a default "safe" mode

#hdmi_safe=1

uncomment this if your display has a black border of unused pixels visible

and your display can output without overscan

#disable_overscan=1

uncomment the following to adjust overscan. Use positive numbers if console

goes off screen, and negative if there is too much border

#overscan_left=16 #overscan_right=16 #overscan_top=16 #overscan_bottom=16

uncomment to force a console size. By default it will be display's size minus

overscan.

#framebuffer_width=1280 #framebuffer_height=720

uncomment if hdmi display is not detected and composite is being output

#hdmi_force_hotplug=1

uncomment to force a specific HDMI mode (this will force VGA)

#hdmi_group=1 #hdmi_mode=1

uncomment to force a HDMI mode rather than DVI. This can make audio work in

DMT (computer monitor) modes

#hdmi_drive=2

uncomment to increase signal to HDMI, if you have interference, blanking, or

no display

#config_hdmi_boost=4

uncomment for composite PAL

#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default. #arm_freq=800

Uncomment some or all of these to enable the optional hardware interfaces

dtparam=i2c_arm=on #dtparam=i2s=on dtparam=spi=on

Uncomment this to enable infrared communication.

#dtoverlay=gpio-ir,gpio_pin=17 #dtoverlay=gpio-ir-tx,gpio_pin=18

Additional overlays and parameters are documented /boot/overlays/README

Enable audio (loads snd_bcm2835)

dtparam=audio=on

[pi4]

Enable DRM VC4 V3D driver on top of the dispmanx display stack

dtoverlay=vc4-fkms-v3d max_framebuffers=2

[all] #dtoverlay=vc4-fkms-v3d

omid
  • 99
  • 1
  • 3
  • Your wiring is probably wrong (as suggested). It definitely SHOULDN'T be connected to 5V – Milliways Nov 01 '20 at 21:25
  • I corrected it but still isn't working – omid Nov 01 '20 at 21:32
  • Does Joan's code work? No one can tell what pins the module uses - there is no standard. – Milliways Nov 01 '20 at 21:35
  • yes if I run DHT.py, I can see the result – omid Nov 01 '20 at 21:42
  • 1
    put heatshrink tubing over the bare wire connectors – jsotola Nov 01 '20 at 21:42
  • @jsotola I don't have any instrument, Actually I am new to raspberry – omid Nov 01 '20 at 21:44
  • I can't see anything wrong. Have you got a link to the datasheet for your module? – joan Nov 01 '20 at 22:08
  • @joan sensor or board? https://wiki.dfrobot.com/DHT11_Temperature_and_Humidity_Sensor__SKU__DFR0067_ – omid Nov 01 '20 at 22:29
  • Also, I change the green wire in place of red as what it is mentioned in the datasheet and still, nothing is working – omid Nov 01 '20 at 22:44
  • Okay. The green wire is data out and should be connected to a GPIO (say GPIO 4, pin 7). Red should be connected to 3V3. Black to ground. If you use GPIO 4 make sure you don't have the 1-wire bus enabled as the 1-wire bus will talk on GPIO 4. – joan Nov 01 '20 at 22:55
  • You say "yes if I run DHT.py, I can see the result" but if this is 1604271754.322 4 3 0.0 0.0 there is no DHT11 detected. – Milliways Nov 01 '20 at 23:04
  • @Milliways really? is it possible that the sensor or the wire is broken? – omid Nov 02 '20 at 10:23
  • @joan how can I check make sure you don't have the 1-wire bus enabled – omid Nov 02 '20 at 10:24
  • Check with raspi-config or look through /boot/config,txt or add the contents of /boot/config.txt to your question (or all three). – joan Nov 02 '20 at 10:46
  • @joan I added the boot/config.txt to my question – omid Nov 02 '20 at 19:26
  • No 1-wire in there. As long as you wired it as I suggested (green to GPIO, red to 3V3, black to ground) it should work. Perhaps it was damaged when wired incorrectly. Try a different GPIO rather than 4. – joan Nov 02 '20 at 20:33
  • @joan red is into 5V but anyway I was test 3v3, how can I check that which one is damaged? wire or sensor? – omid Nov 02 '20 at 22:32
  • https://elinux.org/R-Pi_Troubleshooting#Testing – joan Nov 03 '20 at 08:49
  • @joan yes it's ok , i've tested and the board is ok – omid Nov 03 '20 at 09:24
  • 1
    It's a good idea to put the plastic shells on those dupont connectors as well. If the 5V and GND make contact, you'll have a fully baked raspberry pi on your hands. – PHimmel Jan 05 '21 at 07:10

2 Answers2

1

I think (unless you have not corrected it yet) you have your wires wrong. The green one is the signal (data) and you have it connected to the 3V3.

Example how to connect to DFRduino

Source: DFRobot - SEN0137 DHT22 Temperature and humidity module

Hint: Try running it in the loop like in the dht_simpletest.py - as @Milliways mentioned the python library is not stable.

Running in the loop and printing exceptions will give you more debug info - for my Pi Zero v1.3 this message was printed among others - misreported, see: issue-33.

Milliways
  • 59,890
  • 31
  • 101
  • 209
roslyn
  • 111
  • 2
0

The Adafruit code is notoriously unreliable.

I use Joan's code, but have written a wrapper around it to facilitate getting a single reading.

This is easy to modify and include in your own code.

https://raspberrypi.stackexchange.com/a/117225/8697

Milliways
  • 59,890
  • 31
  • 101
  • 209