Ahh Ok!
Hab jetzt mal das Zusammengestellt funktioniert aber noch nicht richtig zählt nicht mit ![]()
#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]++;
}