Es läuft nicht!!
kann aber nur an einem kleinen Problem hängen.
erst einmal das Positive.
Nachdem es gestern schon hing, habe ich mal den Impuls auf D10 auf 300msec verlängert; außerdem die 2x 10 gegen 100 getauscht und die Meldediffrenz erst auf 12, dann immer weiter runter bis auf 4.
int sensorPin = A7;
int firstDigitPIN = 2;
int sendPIN = 10;
int sensorValue = 0;
int DruckValue = 0;
int lastValue = 0;
int MeldeDifferenz = 4;
const int Zykluszeit = 10; //Messintervall in Sekunden
const int Nullpunkt = 97; //dieser Analogwert entspricht 0 bar
const int Messfaktor = 60; //durch diesen Wert wird der Analogwert geteilt
void sendValue(int intVal){
String binZahl;
byte aktBit;
for (int b = 0; b < 8; b += 1){
aktBit = bitRead(intVal, b);
binZahl = aktBit + binZahl;
digitalWrite(firstDigitPIN + b,!(boolean) aktBit);
}
digitalWrite(sendPIN, HIGH);
delay(100);
digitalWrite(sendPIN, LOW);
Serial.println("Binärwert = " + binZahl);
Serial.println("");
}
void setup() {
Serial.begin(9600);
for (int digitPIN = firstDigitPIN; digitPIN <= firstDigitPIN + 7; digitPIN += 1){
pinMode(digitPIN, OUTPUT);
digitalWrite(digitPIN,LOW);
}
pinMode(sendPIN, OUTPUT);
digitalWrite(sendPIN, HIGH);
delay(300);
digitalWrite(sendPIN, LOW);
Serial.println("Gestartet");
}
void loop() {
// read the value from the sensor:
sensorValue = analogRead(sensorPin)*100;
Serial.println("Analogwert = " + (String) sensorValue);
DruckValue = (sensorValue - (Nullpunkt * 100));
if (DruckValue < 0) DruckValue = 0;
DruckValue = (int) DruckValue / Messfaktor;
Serial.println("Druckwert in 0.01bar = " + (String) DruckValue);
if (abs(DruckValue - lastValue) > MeldeDifferenz){
sendValue(DruckValue);
lastValue = DruckValue;
};
delay(Zykluszeit*1000);
}
sah alles ganz gut aus, bis das System wieder einfror.
Soll heißen. in der seriellen Konsole lief alles prima weiter, in HM aber nicht.
Sketch neu hochgeladen, Kosole restart, lief . . . . bis es wieder einfror.
Das konnte ich mehrfach wiederholen.
Gestartet
Analogwert = 15700
Druckwert in 0.01bar = 100
Binärwert = 01100100
Analogwert = 15800
Druckwert in 0.01bar = 101
Analogwert = 15700
Druckwert in 0.01bar = 100
Analogwert = 15900
Druckwert in 0.01bar = 103
Analogwert = 15800
Druckwert in 0.01bar = 101
Analogwert = 15900
Druckwert in 0.01bar = 103
Analogwert = 16000
Druckwert in 0.01bar = 105
Binärwert = 01101001
Analogwert = 15900
Druckwert in 0.01bar = 103
Analogwert = 16000
Druckwert in 0.01bar = 105
Analogwert = 15600
Druckwert in 0.01bar = 98
Binärwert = 01100010
Analogwert = 15600
Druckwert in 0.01bar = 98
Analogwert = 15700
Druckwert in 0.01bar = 100
Analogwert = 15600
Druckwert in 0.01bar = 98
Analogwert = 16000
Druckwert in 0.01bar = 105
Binärwert = 01101001
Analogwert = 16000
Druckwert in 0.01bar = 105
Analogwert = 15600
Druckwert in 0.01bar = 98
Binärwert = 01100010
Analogwert = 15600
Druckwert in 0.01bar = 98
Analogwert = 16000
Druckwert in 0.01bar = 105
Binärwert = 01101001
Analogwert = 16000
Druckwert in 0.01bar = 105
Analogwert = 15600
Druckwert in 0.01bar = 98
Binärwert = 01100010
Die 98 wurden nicht mehr an die CCU gesendet, danach auch nichts mehr
Analogwert = 15800
Druckwert in 0.01bar = 101
Analogwert = 15600
Druckwert in 0.01bar = 98
Ab einem bestimmten Punkt wurde nichts mehr gesendet.
Dann habe ich den Läppi abgeklemmt und die externe Stromversorgung angeklemmt.
Wenn der DC des Sendemoduls am Ende gewesen sein sollte hätte der jetzt wieder resettet sein müssen, der Arduino ebenfalls.
Aber kommt nix neues mehr 
Der Wert steht in der CCU immer noch auf 105, der DC der CCU ist auf 1
ich bin ratlos.
EDIT:
Sehe gerade dass ich das falsche Timeout auf 300 gesetzt habe.
Gruß
Rainer