Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int InterruptPIN = 17;
- boolean keyChanged = false;
- void InterruptOnIn(){keyChanged = true;}
- PCF8574 ExtOuts(0x20);
- PCF8574 ExtIns(0x21);
- static const inline void Setup_Expanders(){
- for(int i=0;i<8;i++) {ExtOuts.pinMode(i, OUTPUT);}
- ExtOuts.begin();
- pinMode(InterruptPIN, INPUT_PULLUP);
- attachInterrupt(digitalPinToInterrupt(InterruptPIN), InterruptOnIn, FALLING);
- for(int i=0;i<8;i++) {ExtIns.pinMode(i, INPUT);}
- ExtIns.begin();
- for(int i=0;i<8;i++) {ExtOuts.digitalWrite(i, HIGH);delay(100);}
- for(int i=8;i>=0;i--) {ExtOuts.digitalWrite(i, LOW);delay(100);}
- }
- static const inline void Expander_Loop(){
- if (keyChanged){
- PCF8574::DigitalInput val = ExtIns.digitalReadAll();
- if (val.p0==HIGH) Serial.println("KEY0 PRESSED");
- if (val.p1==HIGH) Serial.println("KEY1 PRESSED");
- if (val.p2==HIGH) Serial.println("KEY2 PRESSED");
- if (val.p3==HIGH) Serial.println("KEY3 PRESSED");
- if (val.p4==HIGH) Serial.println("KEY4 PRESSED");
- if (val.p5==HIGH) Serial.println("KEY5 PRESSED");
- if (val.p6==HIGH) Serial.println("KEY6 PRESSED");
- if (val.p7==HIGH) Serial.println("KEY7 PRESSED");
- keyChanged = false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement