Go Down

Topic: Help me decode this 434mhz signal...? (Read 7 times) previous topic - next topic

MarkT

One thing to consider: if the values sent back are raw data from the two sensors then there is no guarantee that they will have the same bit-order.  Also I suspect the encoder chip used will be a standard part for IR remote controls - this link at ladyada seems worth reading:
http://www.ladyada.net/learn/sensors/ir.html
[ I won't respond to messages, use the forum please ]

joshhawk

Hi Riva,

Wow, you're on to something.  I never considered the transmitter sending different sensor data each burst, but that makes a lot of sense. Here are some consecutive samples that I took earlier:

Code: [Select]

Reading 1 (93.7F 16%) - 101010110101 000000010000ss
Reading 2 (93.6F 16%) - 101010110101 001101001010ss
Reading 3 (93.6F 16%) - 101010110101 000000010000ss
Reading 4 (93.2F 16%) - 101010110101 001101001000ss
Reading 5 (93.2F 16%) - 101010110101 000000010000ss
Reading 6 (93.2F 16%) - 101010110101 001101001000ss
Reading 7 (93.2F 16%) - 101010110101 000000010000ss


It looks like Reading 2, Reading 4, and Reading 6 all seem to work out with your formula (after converting to C)!  I wonder what reading 1, 3 and 7 mean...  Perhaps "no change" or some sort of ack/ping packet?

I'll go see what happens with bits 8 and 9 with negative C temps.

Riva

#17
Jun 26, 2012, 08:39 am Last Edit: Jun 27, 2012, 12:25 pm by Riva Reason: 1
Reading 1,3,5 & 7 are humidity (binary 0010000 = 16 decimal).

I can only assume that as 0.0C = 12 then the unit only reads to -12.0C and not the -20.0C as stated in the manual. It also seems the minimum humidity is 16% and not 20% as stated in the manual.
The interesting one is as below that I can only assume to be battery level of transmitter.
101010110101 0001xxxxxxxxss

EDIT:
***IGNORE THIS The complete breakdown as I see it.
Code: [Select]
101010110101    Preamble
00              ?Possible device ID (when more than one transmitter used)
xx              Control bits to define Data bits meaning. 00=Humidity, 01=?Battery, 10=Temperature
xxxxxxxx        Data bits. For humidity it's the correct value.
               For temperature divide by 10 and add 12 to get Centegrade value.
               For ?Battery unknown.
01              Postamble

joshhawk

Hey Riva, here are some negative C temperature values:

Code: [Select]

-14.9C  5.2F 16% h:             101010110101 00 0101011111ss
-15.3C  4.5F 16% h: 101010110101 00 0101011011ss
-15.5C  4.1F 16% h: 101010110101 00 0101011001ss
-13.6C  7.5F 16% h: 101010110101 00 0101101100ss
-13.2C  8.2F 16% h: 101010110101 00 0101110000ss

Riva

Hi joshhawk,

I think I really do have it now (honest)

Code: [Select]
101010110101    Preamble
0               ?Unknown. Possible extra data bit OR device ID (when more than one transmitter used)
xxxxxxxxxxx     Data bits.
                If number <=100 then it's humidity.
                If number >=300 then subtract 500 and divide by 10 to get Centegrade temperature,
01              Postamble

Go Up