Im using an SRf02 ultrasonic sensor, and I need to make the wires long to elevate the sensor. They turn on and blink and are able to transmit a signal, yet they are not able to receive a signal. What is the error?
Using the internal pullup resistors for I2C is not recommended. Arduino are very wrong in providing those as the default option and basically "hiding" the fact that I2C needs decent pullup resistors from you.
The internal pullup resistors, because they are so weak (i.e., a high resistance, typically > 50KΩ), do not pull the clock and data lines up adequately, and as such are only suitable for very short connections (in the order of a few inches). Anything longer and the induced noise and inductance and capacitance of the wires will corrupt the I2C waveform.
I2C requires pullup resistors in the range of 2.2KΩ to 4.7KΩ. As you can see that is more than 10x the pullup strength of the internal resistors.
For off-board connections (i.e., wires) you want the lower end of that range. So add a 2.2KΩ resistor between SCL and +5V and another between SDA and +5V and you should find it works much better.