Converting a 5V signal into a 3.3V signal and slew rates
Note
Microcontrollers such as Arduinos have become extremely popular over the years and are great to have if getting involved in the Internet of Things. It would be completely natural to have an Arduino collecting measurements and sending that data to a Raspberry Pi for processing. A big issue between the two, however, is what they understand the HIGH signal to be. For a Raspberry Pi, the HIGH signal is 3.3V. For an Arduino, HIGH is 5V. Before your data is sent from a 5V high system to a 3.3V HIGH system, you need to convert it. That's what we will cover in this recipe. Technically the Raspberry PI will interpret any voltage under 0.8V as LOW and any voltage above 1.3V as HIGH. In between, depends on the input logic.
When unconnected, CMOS inputs will oscillate rapidly and may draw a dangerous amount of power. This is why the RPi has weak 50KΩ pull up resistors enabled by default on all GPIOs on startup. Inputs can also be configured...