74LVC245 - Unidirectionnal 8 bits level shifter
Most of our customers enjoy prototyping, designing and inventing with Arduino. But they are sometimes very bored when they want to interface their Arduino on the latest sensors, displays, interfaces and controllers because most of these are now in 3.3V logic. While many breakouts incorporate logic level converters for 5V and 3.3V compatibility, sometimes this is not the case.
In this case, there is no alternative but to release your own "Level Shifter" to go from a 5V logic to 3.3V logic (and vice versa).
All told, this integrated circuit 74LVC245 is there to solve this problem, allowing you to interface a device in logic 3.3V on a component in logic 5V (like Arduino). Most 3.3V devices don't like to receive 5V signals, this voltage can damage them - or even snap them. It is said then that these devices "are not tolerant 5V".
The 74LVC245 is designed so that it can even operate with a voltage of 1.8 volt. It will gladly accept a 5V signal on a pin that it will convert to the inferior logic level on the opposite pin. This integrated circuit is only for the digital signal, it doesn't convert analog signal (that's the job of an operational amplifier).
It has 8 channels that it can convert but it will not work with bi-directional devices or using Pull-Up (as is the case for I2C or 1-Wire).
It works well for SPI, serial, parallel and other logical interface buses.
Using it is simple. Check the data sheet of the 74LVC245 for the details but for the most part here is how to convert a 5V signal to 3.3V:
- Connect VCC to the logical level to which you want to convert your signal
Let's say 3.3V.
- Connect the ground (GND) to your ground.
Connect OE (output enable) to the ground to activate the device.
- Connect DIR (direction) to VCC.
- The logic level on pin A (up to 5V) will appear on pin B (but reduced to voltage VCC - the desired logic level).