I2C data line not having correct voltage levels
I2C lines must be pulled to Vcc with external 2k2 resistors. Normal state (when there's no communication) of SDA and SCL is high (voltage near Vcc level). I2C ports in all devices works as open drains (OD): master pull down and release SCL line to send clock signal, slaves and master pull down SDA to send logical '0', and release it to send logical '1'. Your circuit should look like this: