Multiple buttons, one interrupt


  • Hero Member

    I have a battery-powered sensor that I want to sleep as much as possible. The trouble is that I have two door sensors that I want to keep track of using interrupts, but only one interrupt pin available (interrupt 0 is used by the radio on my moteino, I think). Is it possible to use the pinChangeInt library to have the sensor wake from gw.sleep() in some way, or is this only possible using the hardware interrupt pins? Is there any other way I can wake on one or more buttons/reed switches using only one interrupt?

    Thanks.


  • Hero Member

    @kolaf Here's a way to accomplish that: http://www.gammon.com.au/forum/?id=11091.

    Cheers


  • Hero Member

    @Sparkman Many thanks, but using "or" doesn't allow me to detect if the second switch is pulled low after the first switch is pulled low, since the interrupt will already be low. I was thinking that maybe some kind of XOR function would work since it would change the output whenever any input changes. However, I'm not exactly sure how to implement this, especially not for more than two switches (if the XOR function is even defined for more than two inputs). Also, my arsenal is currently pretty limited, I only have resistors (although I suspect I will have to change this at some point, but not in the middle of Easter).


  • Hero Member

    @kolaf Also, Google pinchageint which is a library that I believe allows for more interrupts..

    Cheers

    Al


Log in to reply
 

Suggested Topics

  • 4
  • 4
  • 2
  • 8
  • 9
  • 20

63
Online

11.4k
Users

11.1k
Topics

112.7k
Posts