0

I use this temperature and humidity sensor: Si7021, like below link http://www.dfrobot.com/wiki/index.php/SI7021_Temperature_and_humidity_sensor_SKU:TOY0054

I can get the sensor data by Arduino easily. But when I connect it to my Raspberry Pi B+, and type below command, I can not even find it. Why?

pi@raspberrypi:~$ sudo i2cdetect -a -y 1 
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

I am sure that my physical connection is right. I have connected other i2c sensor onto my pi and made it work.

Below photos show you how I connect Pi and the sensor board. enter image description here enter image description here enter image description here

  • You have not connected your sensor to the Pi properly. A detailed photo of your set up may show what you have done wrong. – joan Jan 19 '15 at 21:58
  • I upload the photos of my connections, please check. @joan – Tom Xue Jan 20 '15 at 16:28
  • That looks fine. What is that ribbon cable connected to the sensor? Have you tried without that? – joan Jan 20 '15 at 20:29
  • The ribbon cable is floating. I remove it, and still get the same result. @joan – Tom Xue Jan 21 '15 at 14:14
  • @goldilocks Please check my main post, I explain that the posts you locked are really different. For sensor Si7021, I cannot detect it at all; while for sensor SHT21, I can detect it but kernel driver works abnormally. Could you please unlock these 2 posts? – Tom Xue Jan 21 '15 at 14:23
1

I removed the 1,000 ohm surface mount resistors that are in series with the SDA and SCK lines on the PCB. I bridged the solder pads with a solder blob (the signals no longer go through a resistor before getting to the IC). It now works on the 3.3v Raspberry Pi.

Be sure to not connect this modified version to an Arduino (that has 5.0v SDA and SCK levels) unless you add an external 1,000 ohm resistor in series with SDA and SCK

Good luck!

  • 1
    I think your answer could be more clear – Darth Vader Apr 10 '16 at 19:48
  • It's hard to tell anything without a schematic, but I would expect those to be i2c pull-up resistors rather than level shifters. You can't make a level shifter with only 1 resistor per pin anyway. – Dmitry Grigoryev Jan 23 '17 at 16:50
0

make sure your i2c pull ups are connected. You can use 4.7k as pull up resistors. if you are looking for Java or python code you can find over here Si7021 python code.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.