Wake from sleep on interrupt from multiple reed switches

I want to motior 6 doors with arduino mini pro that runs on low power configuration on AA batteries. Most of the time the program is sleep. I want to wake the program when each door reed sensor change it's state. For 2 doors I can use the interrupt pins to wake the program. But, what should I do to handle 6 doors and still be power efficient?

It's worse than that!

The usual way for reed switches to work on doors is that a magnet closes the reed switch contacts when it is adjacent, that is when the door is closed.

This means that if you have a pull-up resistor on the reed switch, it will be drawing current all the time (until the door opens) and using battery power.

What you do is to have each reed switch connected to an input pin. Once each second, the Arduino wakes (by the WDT), enables the pull-ups on each of the switches to read them, then disables all the pull-ups again and goes back to sleep unless there is anything to report. This takes a fraction of a millisecond (depending on configuration) and the remainder of the time, you save power.

You can get normally open reed switches like this one where no current flows until the door is opened.

Using this type, it might be possible to have the Pro Micro powered down rather than sleeping, until a door opens. When a door is opened, the Arduino is powered up, takes some action and then sleeps until the door closes.

A problem with this approach would be the time taken by the bootloader before your sketch runs. It might be a good idea to program the Pro Mini using ISP instead of Serial, so no bootloader is needed.

Paul