TXB0108 bidirectional level converter enters! This chip performs a bidirectional level that changes from almost any voltage to any voltage and detects the direction. The only thing that does not work well with this chip is i2c (because it uses strong pullups that confuse automatic steering sensor). If you need to use pullups, you can but they must be at least 50 k-the internal ones to AVRs / for Arduino are about 100 k ohms! It's a bit more luxurious than a 74LVX245 but if you do not want to worry about the directional pins this is a lifesaver!
Since this chip is a special bidirectional level change, it does not have strong output pins that can pull LEDs or long cables, it has to sit on a bread plate between two logic chips! If you do not need instantaneous bidirectional support, we suggest the 74LVX245 as below that has a strong output power.