Thanks for your responses. To add a bit more detail to this project, I am using the Arduino combined with RFM69 (wireless comms) and BME280 (temperature) chips, which both operate at 3.3v, hence the 3.3v Arduino choice. The aim is to monitor the garage temperature, light (on or off) and doors, and also control the garage door.
The garage door electrical panel operates on numerous voltages: 33v AC, 5v DC and 2.5v DC. I have found the microcontroller pins that are linked to the limit switches (2.5v), which I have hacked to to input into the Arduino and determine if the door is open or closed (I have tested this and it works). I am powering the Arduino off the 5v circuit so it will only operate when the door is powered, which is good (and also means that there is a common ground).
Fortunately the switch (momentary) only pulls 1mA current so no need for additional resistors. However it is clear that I cannot input 5v directly to the 3.3v Arduino pins.
I’m leaning towards using transistors, I will just need to find one (although this shouldn’t be too hard from what I understand).