//-------------------------------------------
const int einlesenaktivvar = 1;
const int SERIAL_BUFFER_SIZE = 45;
char serialBuffer[SERIAL_BUFFER_SIZE];
char serialBuffer2[SERIAL_BUFFER_SIZE];
int alter2[70] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1};
const int pwm_frequency = 7000; //10-10000 Hz (I wan1ted that range only)
const int sldr = 580; //umschaltwert ldrs < oder >= größer gleich heißr belegter ldr
const int ssp = 51; //umschaltwert ldrs < oder >= größer gleich heißr spannung da
//ldr var
int ldr1 = 2;
int ldr2 = 2;
int ldr3 = 2;
int ldr4 = 2;
int ldr5 = 2;
int ldr6 = 2;
int ldr34 = 2;
//pwm pins
int pinpwm34 = A9;
//int pinpwm6 =
//spannungsmessungpins var (<51 ->heiß keine spannung alos 0) 2=not def. 1=spannung da
float spRA = 0.0;
float spRI = 0.0;
float spLA = 0.0;
float spLI = 0.0;
float spsbf3 = 0.0;
float spsbf2 = 0.0;
float spsbf1 = 0.0;
float spsbf4 = 0.0;
float spsbf5 = 0.0;
float spsbf6 = 0.0;
#define REF_VOLTAGE 5.0
#define PIN_STEPS 1024.0
const float diodeVoltage[14] = {0.500, 0.735, 0.732, 1.132, 0.732, 0.732, 0.704, 1.133, 1.1, 1.133, 1.233, 0.533, 0.533}; // forward voltage of the used diode in Volts
const float R1[14] = {100.0, 97600.0, 97600.0, 97800.0, 97700.0, 98100.0, 98000.0, 97700.0, 97800.0, 97800.0, 97800.0, 97900.0, 97700.0}; // exact resistance of R1 (= 100 kOhm)
const float R2[14] = {10.0, 9440.0, 9460.0, 9020.0, 9430.0, 9020.0, 9420.0, 9080.0, 9040.0, 9020.0, 9040.0, 9050.0, 9070.0}; // exact resistance of R2 (= 10 kOhm)
float vout[14], vin[14];
int rawValue[14];
//start-ziel
//sbf 7=sbf34
//fahrten:
//für fahrstromst.:
int Sbfvor2[7]; //nur index 2 - 5 (bezug auf sbf 2-5)
int Sbf_Hbfr[5]; //nur index 4,5,6
int Hbfr_Sbf[23][8];
int Sbf_Hbfl[5]; //nur indes 4,5
int Hbfl_Sbf[27][8];
//besetzmeld.
int BSM_SBF[7];
int aktuellev[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned long x[11];
// |-26--25-----------
// /24
// ---23--------------------
// / /
// --------11--- 1R 2R -11------------ GL.1
// /21 /21
// --------22----1R--------------2R----22---------- GL.2
//zugbezogene Eigenschaften
int anfahr1[5];//kurz
int anfahr2[5];//lang/start-v
int bremsmindesthbf[5];
int bremsmindest1[5];
int bremsmindest2[5];
int bremsmindest3[5];
int bremsmindest4[5];
int zeitdif[5];//zwischen kurz und lang/start-v
int rate1[5];//beschleunigen
int rate2[5];//bremsen
int rate3[5];//bremsen -=2 oder -=1zB
int vmaxsbf[5];
int vmaxhbf[5];
void setup()
{
for (int i = 11; i < 13; i++)
{
vin[i] = 3.0;
}
Serial1.begin(9600, SERIAL_8E2);
Serial.begin(9600);
//einlesenaktivvar = 1;
Serial.println("01_mega_zentrale");
for (int i = 20; i < 43; i++)
{
if (i % 2 == 0)
{
pinMode(i, OUTPUT);
digitalWrite(i, LOW);
} else
{
digitalWrite(i, HIGH);
pinMode(i, OUTPUT);
digitalWrite(i, HIGH);
}
}
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
pinMode(A4, INPUT);
pinMode(A5, INPUT);
pinMode(A6, INPUT);
pinMode(A7, INPUT);
pinMode(A8, INPUT);
//580 als grenze für die ldrs
pinMode(63, INPUT_PULLUP); //SBF GL.34
pinMode(64, INPUT_PULLUP); //SBF GL.6
pinMode(A11, INPUT);
pinMode(66, INPUT_PULLUP); //SBF GL.2
pinMode(67, INPUT_PULLUP); //SBF GL.3
pinMode(68, INPUT_PULLUP); //SBF GL.4
pinMode(69, INPUT_PULLUP); //SBF GL.5
pinMode(4, INPUT_PULLUP); //SBF GL.1 LDR!!!
pinMode(9, INPUT_PULLUP); //notaustaster (aktuelle poti)
delay(7000);
Serial1.println("T");
//TEST;!!!!!!!!!!!!
Serial1.println("0707L"); //herzstückpol
digitalWrite(25, HIGH);
digitalWrite(27, HIGH);
}
void loop()
{
//==1 -> belegter ldr
ldr1 = digitalRead(4); // ldr1=pin 4;
if (analogRead(A12) < sldr)ldr2 = 0; else ldr2 = 1; // ldr2=A12;
if (analogRead(A13) < sldr)ldr3 = 0; else ldr3 = 1; // ldr3=A13;
if (analogRead(A14) < sldr)ldr4 = 0; else ldr4 = 1; // ldr4=A14;
if (analogRead(A15) < sldr)ldr5 = 0; else ldr5 = 1; // ldr5=A15;
if (analogRead(A10) < sldr)ldr6 = 0; else ldr6 = 1;; // ldr6=A10;
if (analogRead(A9) < sldr)ldr34 = 0; else ldr34 = 1; // ldr34=A9;
/*if (Sbf_Hbfl[4][1] == 8) {
BSM_SBF[4] = 0;
Sbf_Hbfl[4][1] = 0;
}
if (ldr4 == 1)BSM_SBF[4] = 1;*/
//provesorischer nohalt über poti
digitalWrite(28, digitalRead(9));
//int lokal02 = map(analogRead(A8), 0, 1023, 0, 255);
/* pwmWriteHR(2, lokal02);
pwmWriteHR(3, lokal02);
pwmWriteHR(5, lokal02);
pwmWriteHR(6, lokal02);
pwmWriteHR(7, lokal02);
pwmWriteHR(8, lokal02);
pwmWriteHR(11, lokal02);
pwmWriteHR(12, lokal02);*/
/*
pwmWriteHR(2, lokal02);
pwmWriteHR(3, lokal02);
pwmWriteHR(5, lokal02);
pwmWriteHR(6, lokal02);
pwmWriteHR(7, lokal02);
pwmWriteHR(8, lokal02);
pwmWriteHR(11, lokal02);
pwmWriteHR(12, lokal02);
*/
Geschwindigkeits_Einstell_Funktion();
Geschwindigkeits_Einstell_Funktionmonitor();
for (int i = 0; i < 11; i++)
{
if (i == 1)rawValue[i] = analogRead(A11);
if (i == 2)rawValue[i] = analogRead(A8);
if (i == 3)rawValue[i] = analogRead(A7);
if (i == 4)rawValue[i] = analogRead(A0);
if (i == 5)rawValue[i] = analogRead(A5);
if (i == 6)rawValue[i] = analogRead(A2);
if (i == 7)rawValue[i] = analogRead(A3);
if (i == 8)rawValue[i] = analogRead(A1);
if (i == 9)rawValue[i] = analogRead(A6);
if (i == 10)rawValue[i] = analogRead(A4);
vout[i] = (rawValue[i] * REF_VOLTAGE) / PIN_STEPS;
vin[i] = vout[i] / (R2[i] / (R1[i] + R2[i]));
if (vin[i] < 0.09) {
vin[i] = 0.0; // suppress noise
} else {
vin[i] += diodeVoltage[i];
}
}
//int lokalkommtvongl, int lokalgl, int zielgl, int zugauswahl, int U1, int U2, int U3) //6,4,1,4,4,8,sp[0],4
Regelung_SBF4(6, 4, 4, 4, 8);
//Regelung_SBF(6, 4, 1, 4, 4, 8, 11);
static unsigned long termin1 = millis();
if (millis() >= termin1)
{
Serial.print(" -BSM_SBF[4] :"); Serial.print(BSM_SBF[4]);
Serial.print(" -BSM_SBF[6] :"); Serial.print(BSM_SBF[6]);
Serial.print(" -Sbfvor2[6] :"); Serial.print(Sbfvor2[4]);
Serial.print(" -Sbf_Hbfl[4][1] :"); Serial.print(Sbf_Hbfl[4]);
Serial.print(" -aktuellev[4] :"); Serial.println(aktuellev[4]);
Serial.print(" -aktuellev[6] :"); Serial.println(aktuellev[6]);
Serial.print(" -x[4] :"); Serial.print( x[4]);
Serial.print(" -vin[6] :"); Serial.print(String(vin[6]));
Serial.print(" -vin[4] :"); Serial.print(String(vin[4]));
Serial.print(" -vin[8] :"); Serial.print(String(vin[8]));
Serial.print(" -vin[11] :"); Serial.println(String(vin[11]));
Serial.print(" -ldr sbf: 1,2,4,6: "); Serial.print(ldr1); Serial.print(ldr2); Serial.print(ldr4); Serial.println(ldr6);
Serial.println();
Serial.println();
/*Serial.print(" sp1/2:"); Serial.print(sp1); Serial.print(sp2);
Serial.print(" -S1: "); Serial.print(String(vin[1]));
Serial.print(" -S2: "); Serial.print(String(vin[2]));
Serial.print(" -S3: "); Serial.print(String(vin[3]));
Serial.print(" -S4: "); Serial.print(String(vin[4]));
Serial.print(" -S5: "); Serial.print(String(vin[5]));
Serial.print(" -S6: "); Serial.print(String(vin[6]));
Serial.print(" -RA/0: "); Serial.print(String(vin[7]));
Serial.print(" -RI/7: "); Serial.print(String(vin[8]));
Serial.print(" -LA/8: "); Serial.print(String(vin[9]));
Serial.print(" -LI/9: "); Serial.println(String(vin[10]));
Serial.print(" - A9: "); Serial.print(analogRead(63));//ldrs
Serial.print(" - A10: "); Serial.print(analogRead(64));
Serial.print(" - 4: "); Serial.print(digitalRead(4));
Serial.print(" - A12: "); Serial.print(analogRead(66)); // Serial.print(analogRead(66));
Serial.print(" - A13: "); Serial.print(analogRead(67));
Serial.print(" - A14: "); Serial.print(analogRead(68));
Serial.print(" - A15: "); Serial.println(analogRead(69));*/
termin1 += 500;
}
}
void Geschwindigkeits_Einstell_Funktion()
{
//static unsigned long einlesewert = 0;
static char char_message[SERIAL_BUFFER_SIZE] = "START";
//static int number = 99;
if (readSerial1(Serial1) == true)
{
//einlesewert = atoi(serialBuffer);
for (int i = 0; i < SERIAL_BUFFER_SIZE - 1; i++)
{
char_message[i] = serialBuffer[i];
}
//number = 10 * (char_message[2] - '0') + char_message[3] - '0';
//Serial.print("charmessage: ");
//Serial.print(char_message);
//Serial.println();
}
}
void Geschwindigkeits_Einstell_Funktionmonitor()
{
//static unsigned long einlesewert = 0;
static int number_pwm99 = 99;
static int number_pwm = 0;
static char char_message2[SERIAL_BUFFER_SIZE] = "START";
static int number = 99;
if (readSerial(Serial) == true)
{
//einlesewert = atoi(serialBuffer2);
for (int i = 0; i < SERIAL_BUFFER_SIZE - 1; i++)
{
char_message2[i] = serialBuffer2[i];
}
number = 10 * (char_message2[2] - '0') + char_message2[3] - '0';
Serial1.println(char_message2);
if (char_message2[0] == '0' && char_message2[1] == '2')
{
if (char_message2[2] == 'A')
{
if (char_message2[3] == '0')
{
if (char_message2[4] == '2')vin[11] = 2.0;
if (char_message2[4] == '3')vin[11] = 3.0;
if (char_message2[4] == '4')vin[11] = 4.0;
}
//if (char_message[3] == '1')sps = char_message[4] - '0';
if (char_message2[3] == '2')
{
if (char_message2[4] == '2')vin[12] = 2.0;
if (char_message2[4] == '3')vin[12] = 3.0;
if (char_message2[4] == '4')vin[12] = 4.0;
}
//if (char_message[3] == '3')sp1 = char_message[4] - '0';
}
}
if (char_message2[0] == '0' && char_message2[1] == '1')
{
if (char_message2[4] == 'H')digitalWrite(number, HIGH);
if (char_message2[4] == 'L')digitalWrite(number, LOW);
}
//start-ziel test
if (char_message2[0] == 'B' && char_message2[1] == 'S' && char_message2[2] == 'M')
{
if (char_message2[3] == '4')BSM_SBF[4] = char_message2[4] - '0';
if (char_message2[3] == '6')BSM_SBF[6] = char_message2[4] - '0';
}
if (char_message2[0] == 'S' && char_message2[2] == '=')
{
if (char_message2[1] == '4' && char_message2[3] == '=')Sbf_Hbfl[4] = char_message2[4] - '0';
if (char_message2[1] == '6' && char_message2[3] == '=')Sbfvor2[4] = char_message2[4] - '0';
if (char_message2[4] == '1' || char_message2[4] == '0' || char_message2[4] == '2')
{
//anfahr, bremsmindest, zeitdif., rate, vmax
anfahr1[4] = 100 * (char_message2[5] - '0') + 10 * (char_message2[6] - '0') + char_message2[7] - '0';//kurz (soll fix werden)
anfahr2[4] = 100 * (char_message2[8] - '0') + 10 * (char_message2[9] - '0') + char_message2[10] - '0';//lang/start-v
bremsmindesthbf[4] = 100 * (char_message2[11] - '0') + 10 * (char_message2[12] - '0') + char_message2[13] - '0';
bremsmindest1[4] = 100 * (char_message2[14] - '0') + 10 * (char_message2[15] - '0') + char_message2[16] - '0';
bremsmindest2[4] = 100 * (char_message2[17] - '0') + 10 * (char_message2[18] - '0') + char_message2[19] - '0';
bremsmindest3[4] = 100 * (char_message2[20] - '0') + 10 * (char_message2[21] - '0') + char_message2[22] - '0';
bremsmindest4[4] = 100 * (char_message2[23] - '0') + 10 * (char_message2[24] - '0') + char_message2[25] - '0';
zeitdif[4] = 100 * (char_message2[26] - '0') + 10 * (char_message2[27] - '0') + char_message2[28] - '0';//zwischen kurz und lang/start-v (Soll fix werden)
rate1[4] = 100 * (char_message2[29] - '0') + 10 * (char_message2[30] - '0') + char_message2[31] - '0';//beschleunigen (auf 0-255 beschränken durch gewisse umrechnungen)
rate2[4] = 100 * (char_message2[32] - '0') + 10 * (char_message2[33] - '0') + char_message2[34] - '0';//bremsen (auf 0-255 beschränken durch gewisse umrechnungen)
rate3[4] = char_message2[35] - '0';//bremsen nur 1 oder 2 (-=1 oder -=2)
vmaxsbf[4] = 100 * (char_message2[36] - '0') + 10 * (char_message2[37] - '0') + char_message2[38] - '0';
vmaxhbf[4] = 100 * (char_message2[39] - '0') + 10 * (char_message2[40] - '0') + char_message2[41] - '0';
Serial.println(anfahr1[4]); Serial.println(anfahr2[4]); Serial.println(bremsmindesthbf[4]); Serial.println( bremsmindest1[4]);
Serial.println(bremsmindest1[4]); Serial.println( bremsmindest1[4]); Serial.println( bremsmindest1[4]); /*Serial.println(zeitdif[4]);*/ Serial.println(rate1[4]); Serial.println(rate2[4]); Serial.println("BHFVAX");Serial.println(vmaxsbf[4]); Serial.println(vmaxhbf[4]);
}
}
//1P255
if (char_message2[1] == 'P')
{
number_pwm99 = char_message2[0] - '0';
number_pwm = 100 * (char_message2[2] - '0') + 10 * (char_message2[3] - '0') + char_message2[4] - '0';
Serial.print("number_pwm99: ");
Serial.print(number_pwm99);
Serial.print(" - > number_pwm->: ");
Serial.println(number_pwm);
}
}
/*if ((ldr6 == 1 || ldr5 == 1 || ldr4 == 1 || ldr3 == 1 || ldr2 == 1 || ldr1 == 1) && ldr34 == 1)
{
if (number_pwm99 == 2)pwmWriteHR(2, 0);
if (number_pwm99 == 3)pwmWriteHR(3, 0);
if (number_pwm99 == 4)pwmWriteHR(6, 0);
if (number_pwm99 == 5)pwmWriteHR(5, 0);
if (number_pwm99 == 7)pwmWriteHR(8, 0);
if (number_pwm99 == 8)pwmWriteHR(11, 0);
if (number_pwm99 == 9)pwmWriteHR(12, 0);
if (number_pwm99 == 0)pwmWriteHR(7, 0);
} else
{
if (number_pwm99 == 2)pwmWriteHR(2, number_pwm);
if (number_pwm99 == 3)pwmWriteHR(3, number_pwm);
if (number_pwm99 == 4)pwmWriteHR(6, number_pwm);
if (number_pwm99 == 5)pwmWriteHR(5, number_pwm);
if (number_pwm99 == 7)pwmWriteHR(8, number_pwm);
if (number_pwm99 == 8)pwmWriteHR(11, number_pwm);
if (number_pwm99 == 9)pwmWriteHR(12, number_pwm);
if (number_pwm99 == 0)pwmWriteHR(7, number_pwm);
}*/
}
bool readSerial(Stream& stream)
{
static byte index;
while (stream.available())
{
char c = stream.read();
if (c >= 32 && index < SERIAL_BUFFER_SIZE - 1)
{
serialBuffer2[index++] = c;
}
else if (c == '\n' && index > 0)
{
serialBuffer2[index] = '\0';
index = 0;
return true;
}
}
return false;
}
bool readSerial1(Stream& stream)
{
static byte index;
while (stream.available())
{
char c = stream.read();
if (c >= 32 && index < SERIAL_BUFFER_SIZE - 1)
{
serialBuffer[index++] = c;
}
else if (c == '\n' && index > 0)
{
serialBuffer[index] = '\0';
index = 0;
return true;
}
}
return false;
}
// Regelung_SBF(7, 6, 4, 4, 6, 4, 99);
// Regelung_SBF(6, 4, 1, 4, 4, 8, 11);
void Regelung_SBF4(int lokalkommtvongl, int lokalgl, int zugauswahl, int U1, int U2)
{
//setzte umbedingt die Sbfvor2[4]=1 bevor in den abschnitt heiengefahrten wird (also mit ausf, sbf6 ri. sbf4)
//nachdem die ver im abschnitt danach entfernt wurde wieder auf 6 setzten (jederzeit bereit spannung aufzuregeln)
static unsigned long t[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned long t2[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned long t0[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
if (Sbfvor2[lokalgl]==1)aktuellev[lokalgl]=0;
if(Sbfvor2[lokalgl]==1 && vin[U1] < 3.00)Sbfvor2[lokalgl] =5;
if (BSM_SBF[lokalgl] == 0 && Sbfvor2[lokalgl] ==5 && vin[U1] > 3.60) //einfahrt nach sbf gl 4 bei BsM_SBF==0
{
aktuellev[lokalgl] = aktuellev[lokalkommtvongl];
t2[lokalgl] = millis();
Sbfvor2[lokalgl] = 6;
}
//bremsen mit übernahme von 1 gesetzt für einfahrt in dieses gleis !!!! bis inkl.6
//wert 6 wird die sbfvor2 gesetzt um eine ausf. danach mit 7 starten zu können(oder durchfahrt)
//12 ist aus mit der spannung
//aus einf. wird durchf. oder bei BSM==1 eine ausf.
if(Sbf_Hbfl[lokalgl]>0 && Sbfvor2[lokalgl]==6 && vin[U2] < 3.00)Sbfvor2[lokalgl]=7;
if(Sbf_Hbfl[lokalgl]==0 && Sbfvor2[lokalgl]>6 && Sbfvor2[lokalgl]<12) //bei ausf. rücknahme gehe zurück auf nur einf.
{
t2[lokalgl] = millis();
Sbfvor2[lokalgl]=6;
}
//erhöte anfahr-v wenn aktuelle v auf 0 ist und ausf. gestellt wird
if (Sbfvor2[lokalgl]==7)
{
if(aktuellev[lokalgl] == 0)
{
t0[lokalgl]=millis();
Sbfvor2[lokalgl] = 8; aktuellev[lokalgl] = anfahr1[zugauswahl]; //erhöte Anfahrgeschwindigkeit
}
else
{
Sbfvor2[lokalgl] = 10;
}
}
// Anfahren für ausf./durchf.
if(Sbfvor2[lokalgl] == 10)
{
if(aktuellev[lokalgl] == anfahr1[zugauswahl])aktuellev[lokalgl] = anfahr2[zugauswahl];
t[lokalgl] = millis();
Sbfvor2[lokalgl] = 11;
}
if (millis() >= t0[lokalgl] && Sbfvor2[lokalgl] >7 && Sbfvor2[lokalgl] < 10)
{
Sbfvor2[lokalgl]++;
t0[lokalgl]+=zeitdif[zugauswahl];
}
if (millis() >= t[lokalgl] && Sbfvor2[lokalgl] == 11)
{
if(aktuellev[lokalgl] < vmaxsbf[zugauswahl])aktuellev[lokalgl] = aktuellev[lokalgl] + 1; //erhöhen der v bis zur vmax
t[lokalgl] += rate1[zugauswahl];
}
if (millis() >= t2[lokalgl] && Sbfvor2[lokalgl] == 6)
{
if (aktuellev[lokalgl] > bremsmindest4[zugauswahl])aktuellev[lokalgl] -= rate3[zugauswahl];
if (aktuellev[lokalgl] < bremsmindest4[zugauswahl])aktuellev[lokalgl] ++;
//if (aktuellev[lokalgl] < bremsmindest4[zugauswahl])aktuellev[lokalgl] = bremsmindest4[zugauswahl];
t2[lokalgl] += rate2[zugauswahl];
}
if (Sbfvor2[lokalgl] == 11 && vin[U2] > 3.60) //spannung im zielabschnitt gemessen->schalte fahrstrom im aktuellen abschnitt aus!
{
aktuellev[lokalgl] =0;
Sbfvor2[lokalgl] = 12;
}
//if (ldr1 == 1)BSM_SBF[1] = 1;
//if (ldr2 == 1)BSM_SBF[2] = 1;
//if (ldr3 == 1)BSM_SBF[3] = 1;
//if (ldr4 == 1)BSM_SBF[4] = 1;
//if (ldr5 == 1)BSM_SBF[5] = 1;
//if (ldr6 == 1)BSM_SBF[6] = 1;
//(im LDR) bei aktiver BSM_SBF und ausf. auf 0(HALT) anhalten
if (BSM_SBF[4] == 1 && Sbfvor2[lokalgl]<7) //anhalten wenn bsm aktiv wird (LDR durchfahren) (bereit machen für ausf.)
{
aktuellev[lokalgl] = 0;
Sbfvor2[lokalgl] = 6;
}
if (lokalgl == 4)
{
//if(aktuellev[lokalgl] > 255)pwmWriteHR(6, 255); else if(aktuellev[lokalgl] < 0) pwmWriteHR(6, 0); else pwmWriteHR(6, aktuellev[lokalgl]);
}
/*
if (lokalgl == 6)
{
static int lokalhilf = 0;
if (lokalSbf_Hbfl[4][1] > 2)
{
if (!lokalhilf)
{
Serial1.println("1P000");
alter2[6] = 0;
lokalhilf = 1;
}
}
else
{
if (aktuellev[lokalgl] < 1)
{
Serial1.println("1P000");
alter2[6] = 0;
}
if (aktuellev[lokalgl] < 10 && aktuellev[lokalgl] > 0)
{
Serial1.println("1P00"); update_com("6P", 6, aktuellev[lokalgl]);
}
if (aktuellev[lokalgl] < 100 && aktuellev[lokalgl] > 9)
{
Serial1.println("1P0"); update_com("6P", 6, aktuellev[lokalgl]);
}
if (aktuellev[lokalgl] < 256 && aktuellev[lokalgl] > 99)
{
Serial1.println("1P"); update_com("6P", 6, aktuellev[lokalgl]);
}
if (aktuellev[lokalgl] > 255)
{
Serial1.println("1P255");
alter2[6] = 255;
}
lokalhilf = 0;
}
}*/
}
void update_com(String lokalindex, int intindex, int lovar)
{
if (lovar != alter2[intindex])
{
Serial1.print(lokalindex);
Serial1.println(lovar);
alter2[intindex] = lovar;
}
}