Κώδικας:
#include <PinChangeInterrupt.h>const int button = 12;
const int led = 13;
int Relay = 13;
int stateRelay = HIGH;
int stateButton;
int previous = HIGH;
void setup() {
pinMode(button, INPUT_PULLUP);//enable pullups
pinMode(Relay, OUTPUT);//set relay to output
attachPCINT(digitalPinToPCINT(button), on_off, CHANGE);//enable interupts
}
void on_off() {
stateButton = digitalRead(button);
if (stateButton == LOW && previous == HIGH) {
if (stateRelay == HIGH) {
stateRelay = LOW;
}
else {
stateRelay = HIGH;
}
}
}
void loop() {
digitalWrite(Relay, stateRelay);
}
εγραψα λγ κωδικα κι εξηγώ λγ πιστευω τι θελω να κανω , δεν τον εχω δοκιμασει και ουτε ξερω αν δουλεύει αυτο που θελω να κανω ειναι να αποδεσμευσω τελιος την loop() απο τον διαβασμα του front panel, των encoder και των λιπών διεπαφών του χρηστη , εχω λγ καιρω να γραψω κωδικα κωδικα για arduino και μπορει να εχει λαθαρες ο κώδικας ειναι για να ανοιγει και να κλινει την εξοδο οταν πατηθεί το κουμπι