Například takhle:
#define CUDLIK 12
#define RELE 13
static int zapnuto=0;
static int predchozistav;
void stisk() {
int stav=digitalRead(CUDLIK);
if(stav) {predchozistav=stav; return;} //není nic stisknuto
if(stav==predchozistav) return; //čudlík je stále stisknutý
predchozistav=stav; //čudlík je poprvé stisknutý
if(zapnuto) {zapnuto=0;}
else {zapnuto=1;}
}
void setup() {
pinMode(CUDLIK, INPUT);
digitalWrite(CUDLIK, HIGH);
pinMode(RELE, OUTPUT);
digitalWrite(RELE, zapnuto); //na vysvětlenou: 0=LOW, 1=HIGH
}
void loop() {
stisk();
digitalWrite(RELE, zapnuto);
}