3.3v from 5v Arduino digital pin
The cheapest way is to use a voltage divider consisting of two resistors.
The most robust way is to use a level converter IC (SN74LVC1T45 or similar). These have a VCCA and VCCB: Set VCCA to 3.3V, and VCCB to 5.0V, and the IC will translate signals between the two VCC domains.