AlxDroidDev:
Você não conseguirá fazer isto no Uno, Nano ou Duemilanuove.
Não sei a que te referias... mas o protocolo I2C é dos mais simples de implementar devido a não haver requerimentos muito apertados relativamente a temporizacões (como nas UARTS, por exemplo).
Existem já várias bibliotecas escritas, como a que o mmoscz meteu ou então para quem quiser mais info:
http://www.robot-electronics.co.uk/acatalog/I2C_Tutorial.html
http://www.insidegadgets.com/2012/02/12/avr-soft-i2c-master-with-example-for-i2c-eeproms/
Esta é a minha fonte favorita para código C para AVRs.
http://homepage.hispeed.ch/peterfleury/avr-software.html
Ele tem um .zip com uma quantidade incrível de bibliotecas prontas a usar. Por vezes pode ser necessário um pouco de conhecimentos avancados de C para entender as instrucões de compilacão, mas não é nada que não se faca com um pouco de lógica e um manual ao lado. Com um pouco de sorte tem código de interface para o teu sensor de temperatura/humidade...