Hier nochmal mein jetziger Code:
// Zur Benennung der Variablen wurde die Camel-Case-Konvention verwendet
// Anzahl der Kabel für die Schleifen
const byte kabelMenge = 50;
// Leitungs-Array mit Pin-Werten
byte leitung[kabelMenge] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49};
// Zählervariablen deklarieren zwecks einmaligem hochzählen pro Leitung
boolean zaehlerVariableLeitung[kabelMenge];
// Deklaration des Zählers für das LCD
byte zaehler ;
// Leitungskennzeichnung für das LCD (Farbe, Kennzeichnung)
char farbcodeLeitung1[] = "" , bezeichnungLeitung1[] = "";
char farbcodeLeitung2[] = "" , bezeichnungLeitung2[] = "";
char farbcodeLeitung3[] = "" , bezeichnungLeitung3[] = "";
char farbcodeLeitung4[] = "" , bezeichnungLeitung4[] = "";
char farbcodeLeitung5[] = "" , bezeichnungLeitung5[] = "";
char farbcodeLeitung6[] = "" , bezeichnungLeitung6[] = "";
char farbcodeLeitung7[] = "" , bezeichnungLeitung7[] = "";
char farbcodeLeitung8[] = "" , bezeichnungLeitung8[] = "";
char farbcodeLeitung9[] = "" , bezeichnungLeitung9[] = "";
char farbcodeLeitung10[] = "" , bezeichnungLeitung10[] = "";
char farbcodeLeitung11[] = "" , bezeichnungLeitung11[] = "";
char farbcodeLeitung12[] = "" , bezeichnungLeitung12[] = "";
char farbcodeLeitung13[] = "" , bezeichnungLeitung13[] = "";
char farbcodeLeitung14[] = "" , bezeichnungLeitung14[] = "";
char farbcodeLeitung15[] = "" , bezeichnungLeitung15[] = "";
char farbcodeLeitung16[] = "" , bezeichnungLeitung16[] = "";
char farbcodeLeitung17[] = "" , bezeichnungLeitung17[] = "";
char farbcodeLeitung18[] = "" , bezeichnungLeitung18[] = "";
char farbcodeLeitung19[] = "" , bezeichnungLeitung19[] = "";
char farbcodeLeitung20[] = "" , bezeichnungLeitung20[] = "";
char farbcodeLeitung21[] = "" , bezeichnungLeitung21[] = "";
char farbcodeLeitung22[] = "" , bezeichnungLeitung22[] = "";
char farbcodeLeitung23[] = "" , bezeichnungLeitung23[] = "";
char farbcodeLeitung24[] = "" , bezeichnungLeitung24[] = "";
char farbcodeLeitung25[] = "" , bezeichnungLeitung25[] = "";
char farbcodeLeitung26[] = "" , bezeichnungLeitung26[] = "";
char farbcodeLeitung27[] = "" , bezeichnungLeitung27[] = "";
char farbcodeLeitung28[] = "" , bezeichnungLeitung28[] = "";
char farbcodeLeitung29[] = "" , bezeichnungLeitung29[] = "";
char farbcodeLeitung30[] = "" , bezeichnungLeitung30[] = "";
char farbcodeLeitung31[] = "" , bezeichnungLeitung31[] = "";
char farbcodeLeitung32[] = "" , bezeichnungLeitung32[] = "";
char farbcodeLeitung33[] = "" , bezeichnungLeitung33[] = "";
char farbcodeLeitung34[] = "" , bezeichnungLeitung34[] = "";
char farbcodeLeitung35[] = "" , bezeichnungLeitung35[] = "";
char farbcodeLeitung36[] = "" , bezeichnungLeitung36[] = "";
char farbcodeLeitung37[] = "" , bezeichnungLeitung37[] = "";
char farbcodeLeitung38[] = "" , bezeichnungLeitung38[] = "";
char farbcodeLeitung39[] = "" , bezeichnungLeitung39[] = "";
char farbcodeLeitung40[] = "" , bezeichnungLeitung40[] = "";
char farbcodeLeitung41[] = "" , bezeichnungLeitung41[] = "";
char farbcodeLeitung42[] = "" , bezeichnungLeitung42[] = "";
char farbcodeLeitung43[] = "" , bezeichnungLeitung43[] = "";
char farbcodeLeitung44[] = "" , bezeichnungLeitung44[] = "";
char farbcodeLeitung45[] = "" , bezeichnungLeitung45[] = "";
char farbcodeLeitung46[] = "" , bezeichnungLeitung46[] = "";
char farbcodeLeitung47[] = "" , bezeichnungLeitung47[] = "";
char farbcodeLeitung48[] = "" , bezeichnungLeitung48[] = "";
char farbcodeLeitung49[] = "" , bezeichnungLeitung49[] = "";
char farbcodeLeitung50[] = "" , bezeichnungLeitung50[] = "";
void setup()
{
// Alle Pins des Arrays als Eingang und mit Pullup-Widerstand auf HIGH gesetzt
for(byte i = 0; i < kabelMenge; i++)
pinMode(leitung[i], INPUT_PULLUP);
}
void loop()
{
if (!digitalRead(leitung[0]) && zaehlerVariableLeitung[0]==false)
{
zaehlerVariableLeitung[0]=true;
zaehler ++;
lcd.print ("1"); lcd.print(bezeichnungLeitung1); lcd.print(farbcodeLeitung1); lcd.print(zaehler);
}
if (!digitalRead(leitung[1]) && zaehlerVariableLeitung[1]==false)
{
zaehlerVariableLeitung[1]=true;
zaehler ++;
lcd.print ("2"); lcd.print(bezeichnungLeitung2); lcd.print(farbcodeLeitung2); lcd.print(zaehler);
}
if (!digitalRead(leitung[2]) && zaehlerVariableLeitung[2]==false)
{
zaehlerVariableLeitung[2]=true;
zaehler ++;
lcd.print ("3"); lcd.print(bezeichnungLeitung3); lcd.print(farbcodeLeitung3); lcd.print(zaehler);
}
}
So in der Art wollte ich das machen...für jemanden der viel programmiert wirkt das vielleicht lächerlich, aber es sollte doch so funktionieren....