DHT11 / DHT22 on a PICAXE - Solved in software

Goeytex

Senior Member
I do not, from my understanding the 555 timer substitutes the need for a crystal resonator.
Then you did not read the PDF file in my original post. It clearly states that a 64 Mhz clock speed is required along with one 555 tmer. This requires a 16Mhz resonator with a 40X2.

To read the DHT11 while operating @ 32 MHZ you will need two 555 timers ( or one 556 timer) and much more complex code. Go back to the beginning of this thread and read what bobladell wrote regarding X2 Chips.

It was later determined that the 40x2/28X2 might work without the 555 timer if a 16 MHz Crystal was added and the Picaxe operated @64Mhz. However a 20X2 @ 64Mhz will require the 555 timer due to slightly increased processor overhead due to port/Pin mapping.

The two timer method is better explained HERE along with a technique allowing any Picaxe to work that support a 32 MHz clock speed.

Good Luck
 
Last edited:

Axel87

Senior Member
I apologize for the misunderstanding Goeytex.
Referencing your pdf I do not see a resonator connected to the 20x2. This is what I based my circuit off of.
As stated, I do have the single 555 timer just as you diagrammed.
I did order a few 16mhz resonators just in case a couple of days ago, but will not be receiving them for a long time.
I will read into the two 555 timer circuit, as I do have multiple of those lying around.

I ran your debugging code and below is what I recieved in terminal @38400.
&#8364;&#8364;&#8364;&#8364;&#8364;&#8364;&#8364;øx<àøxøÀøø&#8364;øøø&#8364;øÀøø&#8364;&#8364;øø&#8364;øÀ&#8364;Àøøøøø&#8364;øxüxüx&#8364;&#8364;&#8364;ü<àø&#8364;&#8364;&#8364;øx<àøxøÀøø&#8364;øøø&#8364;øÀøø&#8364;&#8364;øø&#8364;øøø&#8364;&#8364;Àøøøøø&#8364;øxü&#8364;x&#8364;&#8364;&#8364;ü<àø&#8364;&#8364;&#8364;øx<àøxøÀøø&#8364;øøø&#8364;øÀøø&#8364;&#8364;øø&#8364;øÀ&#8364;&#8364;&#8364;øøø&#8364;øxüxü&#8364;x&#8364;&#8364;&#8364;ü<àø&#8364;&#8364;&#8364;øx<àøxøÀøø&#8364;øøø&#8364;øÀøø&#8364;&#8364;øø&#8364;øÀ&#8364;&#8364;&#8364;øøø&#8364;øxüxü&#8364;x&#8364;&#8364;&#8364;&#8364;ü&#8364;&#8364;&#8364;øx<àøxøÀøø&#8364;øøø&#8364;øÀøø&#8364;&#8364;øø&#8364;øÀ&#8364;&#8364;&#8364;øøø&#8364;øxüxüx

If I change the terminal to 9600-
0 0 0 0 0 0 0 0 0
Done reading first 9 bits


Until I hear back, thank you
 
Last edited:

Axel87

Senior Member
Ordered a couple resonators from a local dealer Goeytex.
Should get them by the end of the week.
I presume, on the 40x2 the resonator will go from pin 13 or 14 to gnd. Correct?
 

Skiwi

New Member
The garbage you get at 38400 if simply because you have the serial terminal at the wrong speed.
See the picaxe_manual2.pdf for the clock speed versus serial rate
The 00000000 output is what you get when there is no detection by the DHT11 of the initial 18ms pulldown signal on the data bus. As it therefore does not send a data burst, the pulsin lines measure no pulses and the 'if @ptr < 60..' line sets all bits to 0. Its all in the timing.

Without an external resonator,or setting the speed slower (e.g.as in setfreq M4) your picaxe will always run at 8MHz and serial 9600 baud.
The resonator is a 3 pin device, pins 1&3 to 13 and 14, the center pin to 0V.
The program as given, needs to run at 64MHz, (setfreq em64 using a 16MHz resonator) as the timing of the pulses from the DHT11 is too fast for default speed. i.e. the pulsin command must time the pulse in 0.625us units.
The various data bits range from 24us to 80us. Maybe it might run slower, I have not tried that. I expect Goeytex and bobladell had tried that when doing the original work on this code.
The 'if @ptr > 80' and 'if @ptr < 60' lines, would need the numbers (outputs of the pulsin command) modified. I must have a go at that.
 

hippy

Technical Support
Staff member
To try and clarify the confusion ...

A 28X2/40X2 can read a DHT11/DHT22 directly without additional hardware when run at 64MHz which requires the attachment of a 16MHz crystal or resonator. It will not work when run at less than 64MHz.

A 20X2 running at 64MHz will not work because the execution of commands takes slightly longer than the 28X2/40X2 because of additional I/O redirection overhead.

To make the 20X2 work with a DHT11/DHT22 additional hardware must be added to make the DHT11/DHT22 signals usable by the 20X2 and it must be run at 64MHz. It will not work when run at less than 64MHz.

So the two options are ...

1) DHT11/DHT22 + 28X2/40X2 + 16MHz resonator + 64MHz operation

2) DHT11/DHT22 + 555 or other pulse stretching circuit + 20X2 + 64MHz operation

No other options will work without more additional hardware.
 
Last edited:

Goeytex

Senior Member
I might add.


M2 Parts using "Setfreq M32" should be able to read the DHT11 using the 2 555 timer method previously mentioned. LOOK HERE
 
Last edited:

Axel87

Senior Member
After adding the 16MHz resonator, I only get gibberish in Terminal window unless I select 76800.

Does this tell us anything about what I have wrong?
 

matherp

Senior Member
76800 is the correct and only frequency for a terminal window when a processor is running at 64M. 9600 @ 8M, 19200 @ 16M, 38400@32M, 76800 @ 64M - there is a pattern :)
 

Goeytex

Senior Member
After adding the 16MHz resonator, I only get gibberish in Terminal window unless I select 76800.

Does this tell us anything about what I have wrong?
Refer back to the code I originally posted. Do you see where the Frequency is reduced to 32mhz except when reading the sensor ? I used a 20X2 and setfreq M32 with a baud rate 38400. . With your 40X2 you will use setfreq EM64 for reading the sensor and Setfreq EM32 to for sertxd to send data @ 38400 baud.

In any case, sertxd data rate will follow the processor speed. So set the terminal baud rate accordingly. To use a different sertxd baud rate, change the Processor speed as mentioned by matherp. The other alternatives are to use serout instead of sertxd. Or even hserout for really accurate baud rates.
 

Axel87

Senior Member
Alright, Thanks for clearing up that confusion!
So I must have my circuit wired wrong?
Do you have any troubleshooting tips for me? I am not really familiar with this 555 timer.
I will try to re-wire the circuit later today, see if I can get anything else out of your debug code.
Thanks again
 

Goeytex

Senior Member
Are you using a 40X2 or 28X2 ?

Try to pay attention. Go back and read Post #45. You do not need the 555 timer with a 28X2 or 40X2 operating @ 64Mhz.
 

Axel87

Senior Member
I apologize for the misunderstanding.
Again, I am using a 40x2. I will take out the 555 timer later today and give it a shot.
"3 Use ports C.1 and C.2. C1 provides the 18mS DHT initialisation pulse and is then set to be an input. C.2 is an input only with the pulsin command behind it. It appears that the PICAXE takes some time to turn an output into an input hence the need for 2 ports. Using just one port failed to read any data."

The DHT11 has a single serial pin.when I remove the 555 timer, do I connect pin 2 of the DHT11 to both C.1 and C.2, with the 5k resistor?

As stated before this area is above my head, so I appreciate your continued patience!
 
Last edited:

Axel87

Senior Member
After removing the 555 timer and connecting the dht11 with a 40x2 with the 4.7k and blocking diode on pin c.o.

Temperature: 254°C
Rel Humidity: 255%

We are getting closer ;)
But I would be a pile of ooz right now lol.
Any tips on what ive got wrong now?
I used Goeytex's code, modified to EM64 vs m64/32
'Read DHT-11 with Picaxe 20x2

#picaxe 40x2
#no_table
setfreq em64
high c.0
init:

symbol bit_num = b0
symbol humidity = b2
Symbol temperature = b4



get_data:
pause 12500 'Stabilize 2 seconds
setfreq em64 'Must read Sensor @ 64mhz !
ptr = 0 'Set Scratch Pad pointer to zero
pulsout c.0, 35000 'Req Data from DHT-11

pulsin c.1,0,@ptrinc 'First bit (will be ignored later)

pulsin c.1,0,@ptrinc 'Humidity bits SP Location 1
pulsin c.1,0,@ptrinc 'SP location 2
pulsin c.1,0,@ptrinc 'SP location 3
pulsin c.1,0,@ptrinc 'SP location 5
pulsin c.1,0,@ptrinc 'SP location 6
pulsin c.1,0,@ptrinc 'SP location 7
pulsin c.1,0,@ptrinc 'SP location 8
pulsin c.1,0,@ptrinc 'SP location 9

pulsin c.1,0,@ptrinc 'not used but must be read
pulsin c.1,0,@ptrinc 'not used
pulsin c.1,0,@ptrinc 'not used
pulsin c.1,0,@ptrinc 'not used
pulsin c.1,0,@ptrinc 'not used
pulsin c.1,0,@ptrinc 'not used
pulsin c.1,0,@ptrinc 'not used
pulsin c.1,0,@ptrinc 'not used


pulsin c.1,0,@ptrinc ' Temperature bits
pulsin c.1,0,@ptrinc
pulsin c.1,0,@ptrinc
pulsin c.1,0,@ptrinc
pulsin c.1,0,@ptrinc
pulsin c.1,0,@ptrinc
pulsin c.1,0,@ptrinc
pulsin c.1,0,@ptrinc


setfreq em32 'Reduce Frequency for Serial @38400
pause 100

humidity = 0 'Clear humidity variable B2
for ptr = 1 to 8 'Read bits 1 - 8 (ignoring bit 0)
bit_num = 8 - ptr 'Bit# 7 - 0 for Humidity Var B2

if @ptr > 60 then
setbit humidity,bit_num 'set b2 bit(x) to 1
endif
if @ptr < 40 then 'set b2 bit(x) to 0
clearbit humidity,bit_num
endif
next


Temperature = 0 'Clear Temperature variable B4
for ptr = 17 to 24 'Read DHT-11 bits 17 - 24
bit_num = 24 - ptr 'Bit# 7 - 0 for Temperature Var B2

'Last Humidity reading is now in variable b2

if @ptr > 60 then 'set b4 bit(x) to 1
setbit temperature,bit_num
endif
if @ptr < 40 then 'set b4 bit(x) to 0
clearbit temperature,bit_num
endif
next

'Last Temperature reading is now in variable b4

sertxd ("Temperature: ",#Temperature,176,"C",cr,lf)
sertxd ("Rel Humidity: ",#humidity,"%",cr,lf,cr,lf)

goto get_data
 

Goeytex

Senior Member
Since the 20X2 used a 555 chip that stretched the off time and inverted the signal we need to make some changes for the 40X2.

First, since the signal is no longer inverted by a 555 timer, pulsin needs to be changed read positive pulses. So it needs to be changed from "pulsin C.1,0,@ptrinc" to =>>>> "Pulsin c.1,1,@ptrinc

Next, since the bit widths are now 27us and 70us, we need to change the detection levels for a 1 or a 0.
Since a zero is 27us and one pulsin unit is .625 us, a "0" will be 27us / .625 = 43 Pulsin Units
A "1" is 70us. So 70 / .625 = 112 Pulsin units. Therefore we can detect the bits as follows

If the bit is < 60 then it is a 0
If the bit is > 90 then it is a 1

I have added another variable, numbits, to test that all 40 Bits have been detected. This can can be removed later.
Below is sample code that should work as long as the DHT-11 is properly connected and working ok.

Code:
'**********************************************************
'*   PICAXE BASIC FOR READING DHT-11 WITH PICAXE 28X2     * 
'**********************************************************

#picaxe 40x2
#no_table
setfreq em64
high c.0

init:
symbol bit_num = b0
symbol humidity = b2
symbol temperature = b4
symbol numbits = b6

GET_DATA:
pause 12500 'Stabilize 2 seconds
setfreq em64 'Must read Sensor @ 64mhz !

ptr = 1                 'Set Scratch Pad pointer to "1"
pulsout c.0, 35000      'Req Data from DHT-11

pulsin c.1,1,@ptr        'First bit (will be ignored so don't increment)

'Humidity bits (Integer) 
pulsin c.1,1,@ptrinc   'SP Location 1
pulsin c.1,1,@ptrinc   'SP location 2
pulsin c.1,1,@ptrinc   'SP location 3
pulsin c.1,1,@ptrinc   'SP location 4
pulsin c.1,1,@ptrinc   'SP location 5
pulsin c.1,1,@ptrinc   'SP location 6
pulsin c.1,1,@ptrinc   'SP location 7
pulsin c.1,1,@ptrinc   'SP location 8

'Humidity Bits (Decimal)
pulsin c.1,1,@ptrinc 'not used with DHT11
pulsin c.1,1,@ptrinc 'not used
pulsin c.1,1,@ptrinc 'not used
pulsin c.1,1,@ptrinc 'not used
pulsin c.1,1,@ptrinc 'not used
pulsin c.1,1,@ptrinc 'not used
pulsin c.1,1,@ptrinc 'not used
pulsin c.1,1,@ptrinc 'not used

'Temperature bits (Integer)
pulsin c.1,1,@ptrinc 
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc

'Temperature Bit (Decimal) 
pulsin c.1,1,@ptrinc 'Not used
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc

'Checkusm bits
pulsin c.1,1,@ptrinc 
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc


setfreq em32 'Reduce Frequency for Serial @38400
pause 100


'******* 'For testing / debugging *****************

numbits = ptr - 1
Sertxd ( "Received: ",#Numbits," Bits",cr,lf,cr,lf)

Sertxd ("Humidity Vals:    ") 
for ptr = 1 to 8
   sertxd (#@ptr, " ")
next
sertxd(cr,lf,cr,lf)

sertxd ("Temperature Vals: ")
for ptr = 17 to 24
   sertxd (#@ptr, " ")
next
Sertxd (Cr,lf,cr,lf)

'************************************************




'*** Process 8 Humidity bits ***
Humidity = 0           ' Clear humidity variable B2

For ptr = 1 to 8         'Read bits 1 - 8 (ignoring bit 0)
   bit_num = 8 - ptr     'Bit# 7 - 0 for Humidity Var B2

   if @ptr > 90  then
      setbit humidity,bit_num     'Set b2 bit(x) to 1
   endif

   if @ptr < 60  then              'Set b2 bit(x) to 0
      clearbit humidity,bit_num
   endif
Next

'Don't care about bits 9- 16


'*** Process 8 temperature bits ***
Temperature = 0        'Clear Temperature variable B4

For ptr = 17 to 24     'Read DHT-11 bits 17 - 24
   bit_num = 24 - ptr     'Bit# 7 - 0 for Temperature Var B2

   if @ptr > 90 then       'Set b4 bit(x) to 1
      setbit temperature,bit_num
   endif

   if @ptr < 60 then 'set b4 bit(x) to 0
      clearbit temperature,bit_num
   endif
Next

'**** Skipping Checksum ****  


'*** Display data ***
sertxd ("Temperature: ",#temperature,176,"C",cr,lf)
sertxd ("Rel Humidity: ",#humidity,"%",cr,lf,cr,lf)

GOTO GET_DATA      'LOOP
 

Axel87

Senior Member
Since the 20X2 used a 555 chip that stretched the off time and inverted the signal we need to make some changes for the 40X2.

First, since the signal is no longer inverted by a 555 timer, pulsin needs to be changed read positive pulses. So it needs to be changed from "pulsin C.1,0,@ptrinc" to =>>>> "Pulsin c.1,1,@ptrinc

Next, since the bit widths are now 27us and 70us, we need to change the detection levels for a 1 or a 0.
Since a zero is 27us and one pulsin unit is .625 us, a "0" will be 27us / .625 = 43 Pulsin Units
A "1" is 70us. So 70 / .625 = 112 Pulsin units. Therefore we can detect the bits as follows

If the bit is < 60 then it is a 0
If the bit is > 90 then it is a 1

I have added another variable, numbits, to test that all 40 Bits have been detected. This can can be removed later.
Below is sample code that should work as long as the DHT-11 is properly connected and working ok.

Code:
'**********************************************************
'*   PICAXE BASIC FOR READING DHT-11 WITH PICAXE 28X2     * 
'**********************************************************

#picaxe 40x2
#no_table
setfreq em64
high c.0

init:
symbol bit_num = b0
symbol humidity = b2
symbol temperature = b4
symbol numbits = b6

GET_DATA:
pause 12500 'Stabilize 2 seconds
setfreq em64 'Must read Sensor @ 64mhz !

ptr = 1                 'Set Scratch Pad pointer to "1"
pulsout c.0, 35000      'Req Data from DHT-11

pulsin c.1,1,@ptr        'First bit (will be ignored so don't increment)

'Humidity bits (Integer) 
pulsin c.1,1,@ptrinc   'SP Location 1
pulsin c.1,1,@ptrinc   'SP location 2
pulsin c.1,1,@ptrinc   'SP location 3
pulsin c.1,1,@ptrinc   'SP location 4
pulsin c.1,1,@ptrinc   'SP location 5
pulsin c.1,1,@ptrinc   'SP location 6
pulsin c.1,1,@ptrinc   'SP location 7
pulsin c.1,1,@ptrinc   'SP location 8

'Humidity Bits (Decimal)
pulsin c.1,1,@ptrinc 'not used with DHT11
pulsin c.1,1,@ptrinc 'not used
pulsin c.1,1,@ptrinc 'not used
pulsin c.1,1,@ptrinc 'not used
pulsin c.1,1,@ptrinc 'not used
pulsin c.1,1,@ptrinc 'not used
pulsin c.1,1,@ptrinc 'not used
pulsin c.1,1,@ptrinc 'not used

'Temperature bits (Integer)
pulsin c.1,1,@ptrinc 
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc

'Temperature Bit (Decimal) 
pulsin c.1,1,@ptrinc 'Not used
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc

'Checkusm bits
pulsin c.1,1,@ptrinc 
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc
pulsin c.1,1,@ptrinc


setfreq em32 'Reduce Frequency for Serial @38400
pause 100


'******* 'For testing / debugging *****************

numbits = ptr - 1
Sertxd ( "Received: ",#Numbits," Bits",cr,lf,cr,lf)

Sertxd ("Humidity Vals:    ") 
for ptr = 1 to 8
   sertxd (#@ptr, " ")
next
sertxd(cr,lf,cr,lf)

sertxd ("Temperature Vals: ")
for ptr = 17 to 24
   sertxd (#@ptr, " ")
next
Sertxd (Cr,lf,cr,lf)

'************************************************




'*** Process 8 Humidity bits ***
Humidity = 0           ' Clear humidity variable B2

For ptr = 1 to 8         'Read bits 1 - 8 (ignoring bit 0)
   bit_num = 8 - ptr     'Bit# 7 - 0 for Humidity Var B2

   if @ptr > 90  then
      setbit humidity,bit_num     'Set b2 bit(x) to 1
   endif

   if @ptr < 60  then              'Set b2 bit(x) to 0
      clearbit humidity,bit_num
   endif
Next

'Don't care about bits 9- 16


'*** Process 8 temperature bits ***
Temperature = 0        'Clear Temperature variable B4

For ptr = 17 to 24     'Read DHT-11 bits 17 - 24
   bit_num = 24 - ptr     'Bit# 7 - 0 for Temperature Var B2

   if @ptr > 90 then       'Set b4 bit(x) to 1
      setbit temperature,bit_num
   endif

   if @ptr < 60 then 'set b4 bit(x) to 0
      clearbit temperature,bit_num
   endif
Next

'**** Skipping Checksum ****  


'*** Display data ***
sertxd ("Temperature: ",#temperature,176,"C",cr,lf)
sertxd ("Rel Humidity: ",#humidity,"%",cr,lf,cr,lf)

GOTO GET_DATA      'LOOP
You truly are a wizard! Works like a charm!
If I may ask one more, I dare try to modify your code- How does one get the DHT11 to display Fahrenheit instead?
'**** Skipping Checksum ****

'**** Convert C to F****
symbol F=w0
symbol C1=Temperature

F=9*C1/5+32

'*** Display data ***


sertxd ("Temperature: ",#w0,176,"F",cr,lf)
sertxd ("Rel Humidity: ",#humidity,"%",cr,lf,cr,lf)

GOTO GET_DATA 'LOOP

but I would imagine you have a better way?
Thanks again for your time!
 
Last edited:

Goeytex

Senior Member
There is no need to add another (word) variable for temperature conversion unless the temperature will be > 255 F. Just add this line:

Temperature = Temperature * 9 / 5 + 32
 
Last edited:

Hydroid

Senior Member
Hi All,

So a while back, I saw a 10 pack of DHT-11's on eBay for next to nothing ($2.99 and free S&H) and I just couldn't say no....

When they arrived, I couldn't get them to work, so I just left them aside for a while - then I saw this thread the other day and pulled them out again.

I connected up a 28X2 on a breadboard and fitted the 16MHz external crystal as outlined in previous threads and loaded in various bits of different code shown in those threads.

Voila! Readings! - Thanks to all the posters for all the valuable info and insight!

But, now a few questions if I may:

1. For those that have it working, are the RH and Temp output values steady (within +/- 1 % or degree)? Mine are for the most part steady, but ~ 1 in 7 readings are quite a bit off. For example, I'm looking at the output right now and see 6 consecutive readings of 38% RH and 22C, then the next reading is 41% RH and 27C, then a bunch more 38/22's, then a rogue 40/26... I added a 'checksum routine', and even when the readings bobble like that, the checksum is correct???

2. The data sheet I have, as downloaded from the vendors listing, has a value of +/- 0.2C under repeatability. I initially thought that meant that the resolution was 0.2C, but my fractional values, both humidity and temperature, are ALWAYS zero - and even in the datasheet section on checksum, it shows zero values for those bytes. So, I'm thinking that this only reads out to the nearest whole %RH or degree C, correct?

Thanks, John.

BTW, I've tried a few different DHT-11's of the ten to rule out a dud - and get the same results WRT jumpy readings and +/- 1 whole unit... Unless there all crappy cheap knockoffs.....

View attachment DHT-11 Humidity Sensor.pdf
 

Goeytex

Senior Member
Do you have a 100nF cap across the DHT-11 supply pins? (Per Datasheet)

Is there at least a 1 second delay between samples? (Per Datasheet)
 

Hydroid

Senior Member
Do you have a 100nF cap across the DHT-11 supply pins? (Per Datasheet)

Is there at least a 1 second delay between samples? (Per Datasheet)
Yes, I have 0.1uf caps on the 28X2 and the DHT-11 and my Do-Loop has a 'Wait 2' step in it. Only the section which reads the DHT-11 to scratchpad is running at em64, the rest shifts back to m8, so the delay is an actual 2 seconds.
 

Hydroid

Senior Member
DOH!!

Sometimes, it's the most obvious things that escape me...

I went back to my large three section breadboard to confirm the values of those 0.1uf caps. They were correct.

But, as I'm looking at the readings on the OLED display, I'm sitting there wondering why the DHT-11 isn't reading nice and steady, like the Dual DS18B20 / 14M2 / MAX7219 project that's running on the section just above it... Just above it? Naw, it couldn't be that circuit is somehow interfering with the DHT-11's... Could it...

So, get out my other breadboard and move everything over... Look at that, nice steady readings...

Sometimes I feel like such a moron!
 

Axel87

Senior Member
Glad you got it working!

I was delayed in my response, but I didnt see any rapid fluctuation in my readings.
Although, I wasn't concerned with a +/- 1 or 2 degrees though.
For my purposes I just need a rough number.

Have fun!
 
Top