Dann kann ich Dir nicht helfen.
Das die Ausgabe funktioniert bestreite ich nicht, aber wenn ich etwas baue, soll es fehlerfrei sein.
Das Grundgerüst ist es nicht - Ich hätte das anders gemacht. Insbesondere auch die Zuweisung der Variablen von oben nach unten.
Meiner angesetzt:
// Anzahl Spalten des Display (20)
const byte LCD_WIDTH = 20;
// Anzahl Zeilen des Display (4)
const byte LCD_HEIGHT = 4;
#include <Wire.h>
#include <LiquidCrystal_I2C.h> //NewLiquidCrystal - https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/
LiquidCrystal_I2C lcd(0x27, LCD_WIDTH, LCD_HEIGHT); // (LCD2004) Set the LCD I2C address
//LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Addr, En, Rw, Rs, d4, d5, d6, d7, backlighpin, polarity
// Pin für Reed-Kontakt, Digital-2 für Interrupt 0
const byte REEDPIN = 2;
// Hardware-Interrupt für den Reed-Pin
const byte REEDINTERRUPT = 0;
// Umfang in mm wurde im Windkanal mit dem Volkswindmesser ermittelt als Referenz
const unsigned int RADUMFANG = 2200;
// LED Balken
const byte led05 = 11; // LED connected to digital pin 11
const byte led10 = 10; // LED connected to digital pin 10
const byte led15 = 9; // LED connected to digital pin 9
const byte led20 = 8; // LED connected to digital pin 8
const byte led25 = 7; // LED connected to digital pin 7
const byte led30 = 6; // LED connected to digital pin 6
const byte ledalarm = 13; // LED ALARM
const byte resetmaxpin = 4; // reset max Pin (button)
const byte resetalarmpin = 5; // reset Alarm Pin (button)
unsigned long interval; // update LCD/LED interval (milliseconds)
unsigned long previousMillis = 0;
unsigned long intervalalarm = 200; // update Alarm Anzeige interval (milliseconds)
unsigned long previousMillisalarm = 0;
unsigned long currentMillis;
const byte potpin = A0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
float ms2; //globale Variable Speed in m/s
float msmax = 0; //Maximalwert
unsigned long umin; // U/min
int alarm; // Alarmgrenze in m/s (meter/sekunde)
volatile byte reedCountSum;
volatile long reedMillisSum;
unsigned long lastReedMillis;
unsigned long gesamtUmdrehungen = 0; //4545300;
void setup()
{
Und da ist noch ganz viel weiteres Kürzungs- und Sortierpotential.
Wenn Dir reicht was Du hast, muss sich jemand anders das ansehen. Ich kann damit nicht arbeiten.
Du hast zumindest meinen Hinweis auf Deine Passwörter beherzigt.
Na denn.