Interrupt und Debaounce für Stromzähler

Ahh Ok!
Hab jetzt mal das Zusammengestellt funktioniert aber noch nicht richtig zählt nicht mit :zipper_mouth_face:

#include <SPI.h>                                //includieren der Ethernet Bibiothek
#include <Ethernet.h>                           //includieren der Ethernet Bibiothek
byte mac[] = { 
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };         //Mac-Adresse vergeben
IPAddress ip(192,168,1, 177);                   // IP Adresse vergeben
IPAddress gateway(192,168,1, 1);                // Gateway Adresse vergeben
IPAddress subnet(255, 255, 0, 0);               // Subnetmask  
EthernetServer server(23);                      // Telenetport 23 für Monitoring
boolean alreadyConnected = false;               // Status ob verbindung besteht



const int SoeinsPin     =0;       // Initalisierung S0 für Zähler 1
const int SozweiPin     =1;       // Initalisierung S0 für Zähler 2
const int SodreiPin     =2;       // Initalisierung S0 für Zähler 2
const int ledeinsPin    =3;       // Initalisierung LED für S0<1>
const int ledzweiPin    =4;       // Initalisierung LED für S0<2>
const int leddreiPin    =5;       // Initalisierung LED für S0<3>
const int ledpowerPin   =6;       // initalisierung Power LED

// Variablen werden Vorgabewerte zugewiesen
int ledSchalt0 = LOW;             //LED Schaltzustand Power LED
int ledSchalt1 = LOW;              //LED Schaltzustand S0<1>       
int ledSchalt2 = LOW;              //LED Schaltzustand S0<2>
int ledSchalt3 = LOW;              //LED Schaltzustand S0<3>
int SchaltzustandS1 = LOW;               // Schalter für Impulsgeber S0<1>
int SchaltzustandS2 = LOW;               // Schalter für Impulsgeber S0<2>
int SchaltzustandS3 = LOW;               // Schalter für Impulsgeber S0<3>
int impuls[]={0,0,0};              // Impulsarray zum Zählen der Impulse {S0<1>,S0<2>,S0<3>)    


void setup() {
  pinMode(SoeinsPin, INPUT);        // Definieren was SoeinsPin ist (Ein o. Ausgang?)
  pinMode(SozweiPin, INPUT);        // Definieren was SozweiPin ist  
  pinMode(SodreiPin, INPUT);
  pinMode(ledpowerPin, OUTPUT);
  pinMode(ledeinsPin, OUTPUT);
  pinMode(ledzweiPin, OUTPUT);     
  digitalWrite(ledpowerPin, HIGH);  // Power LED wird eingeschaltet
}

void loop() {
    attachInterrupt(SoeinsPin, zaehleneins, RISING);  //Interrupt wird ausgelößt bei Positiver Flanke und springt in Programm zaehlen1
    attachInterrupt(SozweiPin, zaehlenzwei, RISING);  //Interrupt wird ausgelößt bei Positiver Flanke und springt in Programm zaehlen2
    attachInterrupt(SodreiPin, zaehlendrei, RISING);  //Interrupt wird ausgelößt bei Positiver Flanke und springt in Programm zaehlen2
 } 
  
  
void zaehleneins(){                              //Unterprogramm zum Impulse Zählen
impuls[1]++;
}

void zaehlenzwei()                              //Unterprogramm zum Impulse Zählen
{
impuls[2]++;
}