The Arduino will send either a 5 volt (high) or 0 volt (low) when sending serial communication on TX & RX. What if the hardware that you connect to communicates with 2,8 volt (high) or 0 volt (low) ? Possible to adjust the voltage in the code or need to use transistors? Any reference for a transistor set up or other technical solution would be nice.
Possible to adjust the voltage in the code
need to use transistors?
Note that a transistor will also invert the signal so you will need an other one to turn it the right way round again.
For a good site on transistors see:- Transistor Circuits
thanks for feedback
If you know your 5V signal is pretty precise you can use a voltage divider to bring it down to 2.8V
Or would maybe a voltage regulator do the trick?
yup voltage regulator would work as well, you just have to accoutn for the regulator's voltage drop.
Keep in mind, voltage dividers and regulators only work when going from High to Low i.e. 5V TX to 2.8V RX
When going from 2.8 TX to 5V RX you'll need a transistor.
When going from a high voltage to a low voltage you just need a resistor and a diode. A series resistor of about 330R and a diode from the low voltage input to the low voltage supply. There is no need for a voltage divider or any regulators (which wouldn't work anyway).
The series resistor must be low enough to make the input "see" a logic zero when pulled to ground. This is about 220R in the case of TTL or could be 1K for cmos. It must be high enough to limit the current flowing through the diode into the supply rail of the other device to a small ammount.