Hi,
I have tried the issue about i2c on the Internet.
I found an article about it as following:
It works!!!
However, I also found lot of articles with different circuit.
Such as: http://i.imgur.com/0Qr2iii.png
But I can't let it work.
The different between them is resistances.
I want to know which one is corrent because most articles use the latter one, and what should I notice if I use the latter.
Thanks.
The Wire library enables the internal pull-up resistors on the Arduino, thus not requiring external pull-up resistors.
The 2nd circuit you have linked adds external pull-up resistors. This should make no difference and both should work. Using the internal pull-ups just saves you from having to use extra components.
you can just disable internal pullup on arduino i2c, and have pullup on the 3.3v circuit and you can connect arduino to 3.3v i2c device directly without any level conversion. I've never seen a single i2c error using this method.