Tu hai due necessità:
1 - pilotare qualcosa con il pin X con corrente > 40mA
2 - alternativamente leggere lo stato di qualcosa collegata al pin X
il punto 1 lo risolvi col classico transistor pilotato tramite una R mettendo il pin in OUTPUT/HIGH
quando metti il pin in INPUT e hai su di esso uno stato LOW il TR resta interdetto e lo stato lo leggi; se ho ben capito Uwe sostiene che se a questo pin mandi uno stato HIGH ti pilota il TR che va in conduzione. Potrebbe aver ragione, allora io farei in modo che il TR venga pilotato solo se la tensione ha una soglia di almeno 4,7V, cioè lo piloto mettendo uno zener da 4,7V in serie alla R di base (pin-A_zener_K-R-Base), e poi userei un piccolo partitore sulla sorgente che devo leggere per far sì che l'HIGH sia di livello inferiore, p.es. 3,6V.
Seconod me funziona senza alcun problema.