Einen externen Interrupt für einen Schalter abzufragen, ist allerdings schon ein wenig Ressourcen Verschwendung. Ein Schalter ist ja als noch träger anzusehen als ein Taster. Und prellen tun die Dinger meist ohne Ende. Ein Interrupt löst da bestimmt öfter als einmal aus. Um das zu verhindern ist auch etwas Aufwand nötig.
So etwas Langsames (der kann ja nicht im Millisekunden Bereich wieder öffnen) wie einen Schalter, würde ich immer mit einem Debounce direkt aus der Main Loop abfragen.

Gruß

Rolf