#include #include LiquidCrystal_I2C lcd(0x27, 16, 2); //In dieser Zeile wird festgelegt, welche Pins des Mikrocontrollerboards für das LCD verwendet wird int a_2,b_2,c_2; // Deklaration float a_1,b_1,c_1; // Deklaration float f,g,h; // Deklaration float n,o,p; // Deklaration boolean k,l,m; // Deklaration int i = 1023; // Deklaration und Initialisierung float d; // Deklaration int e; void setup() { // put your setup code here, to run once: Serial.begin(9600); pinMode(2,INPUT); // Digitalpin 2 als Eingang setzen pinMode(4,INPUT); // Digitalpin 4 als Eingang setzen pinMode(6,INPUT); // Digitalpin 6 als Eingang setzen lcd.init(); // Initialisierung Display } void loop() { k = digitalRead(2); // Eingang vom Ausgang OP1, Digitalpin l = digitalRead(4); // Eingang vom Ausgang OP2, Digitalpin m = digitalRead(6); // Eingang vom Ausgang OP3, Digitalpin if (l==HIGH && k==LOW && m==LOW){ // Abfrage, ob Pin D4 auf High e = Serial.read(); if(e=1){ b_1 = 0.0; for (int j =0; j < 100; j++){ g = analogRead(A2); // Zuweisung des Wertes von Pin 21 zu g o = g/i; // zwischenrechnung d = o * 3000; // Berechnung Drehzahl b_1 = b_1 + d; } b_1 = b_1 / 100; b_2 = int(b_1) + 27; // Umrechnung der Drehzahl von float zu Serial.write(b_2); // Schreiben auf seriellen Port Serial.print(b_2); // Ausbabe der Drahzahl am Serial Monitor Serial.println(";"); // Ausbabe der Drahzahl am Serial Monitor } else{ lcd.setCursor(0,0); // Cursorpositionierung Display obere Zeile lcd.print(" "); // Ausgabe "Drehzahl" obere Zeile lcd.setCursor(0,1); // Cursorpositionierung untere Zeile lcd.print(" "); // Ausgabe Drehzahl untere Zeile b_1 = 0.0; for (int j =0; j < 100; j++){ g = analogRead(A2); // Zuweisung des Wertes von Pin 21 zu g o = g/i; // zwischenrechnung d = o * 3000; // Berechnung Drehzahl b_1 = b_1 + d; } b_1 = b_1 / 100; b_2 = int(b_1) + 27; // Umrechnung der Drehzahl von float zu int //Nachricht ausgeben lcd.backlight(); // Hintergrundbeleuchtung Display lcd.setCursor(0,0); // Cursorpositionierung Display obere Zeile lcd.print(" Drehzahl"); // Ausgabe "Drehzahl" obere Zeile lcd.setCursor(0,1); // Cursorpositionierung untere Zeile lcd.print(b_2); // Ausgabe Drehzahl untere Zeile lcd.setCursor(6,1); // Cursorpositionierung untere Zeile lcd.print(" 1/min"); // Ausgabe Drehzahl untere Zeile delay(800); // Verzögerung um 800 Millisekunden } } else if (k==HIGH && l==LOW && m==LOW){ // Abfrage, ob Pin D2 auf High e = Serial.read(); if(e=1){ c_1 = 0.0; for (int j =0; j < 100; j++){ h = analogRead(A7); // Zuweisung des Wertes von Pin 26 zu g p = h/i; // zwischenrechnung d = p * 3000; // Berechnung Drehzahl c_1 = c_1 + d; } c_1 = c_1 / 100; c_2 = int(c_1) + 27; // Umrechnung der Drehzahl von float zu int Serial.write(c_2); // Schreiben auf seriellen Port Serial.print(c_2); // Ausbabe der Drahzahl am Serial Monitor Serial.println(";"); // Ausbabe der Drahzahl am Serial Monitor } else{ lcd.setCursor(0,0); // Cursorpositionierung Display obere Zeile lcd.print(" "); // Ausgabe "Drehzahl" obere Zeile lcd.setCursor(0,1); // Cursorpositionierung untere Zeile lcd.print(" "); // Ausgabe Drehzahl untere Zeile c_1 = 0.0; for (int j =0; j < 100; j++){ h = analogRead(A7); // Zuweisung des Wertes von Pin 26 zu g p = h/i; // zwischenrechnung d = p * 3000; // Berechnung Drehzahl c_1 = c_1 + d; } c_1 = c_1 / 100; c_2 = int(c_1) + 27; // Umrechnung der Drehzahl von float zu int //Nachricht ausgeben lcd.backlight(); // Hintergrundbeleuchtung Display lcd.setCursor(0,0); // Cursorpositionierung Display obere Zeile lcd.print(" Drehzahl"); // Ausgabe "Drehzahl" obere Zeile lcd.setCursor(0,1); // Cursorpositionierung untere Zeile lcd.print(c_2); // Ausgabe Drehzahl untere Zeile lcd.setCursor(6,1); // Cursorpositionierung untere Zeile lcd.print(" 1/min"); // Ausgabe Drehzahl untere Zeile } } else if(m==HIGH && k==LOW && l==LOW){ // Abfrage, ob Pin D6 auf High e = Serial.read(); if(e=1){ a_1 = 0.0; for (int j =0; j < 100; j++){ f = analogRead(A0); // Zuweisung des Wertes von Pin 19 zu f n = f/i; // Zwischenrechnung d = n * 3000; // Berechnung Drehzahl a_1 = a_1 + d; } a_2 = int(a_1); // Umrechnung der Drehzahl von float zu int Serial.write(a_2); // Schreiben auf seriellen Port Serial.print(a_2); // Ausbabe der Drahzahl am Serial Monitor Serial.println(";"); // Ausbabe der Drahzahl am Serial Monitor } else{ lcd.setCursor(0,0); // Cursorpositionierung Display obere Zeile lcd.print(" "); // Ausgabe "Drehzahl" obere Zeile lcd.setCursor(0,1); // Cursorpositionierung untere Zeile lcd.print(" "); // Ausgabe Drehzahl untere Zeile a_1 = 0.0; for (int j =0; j < 100; j++){ f = analogRead(A0); // Zuweisung des Wertes von Pin 19 zu f n = f/i; // Zwischenrechnung d = n * 3000; // Berechnung Drehzahl a_1 = a_1 + d; } a_2 = int(a_1); // Umrechnung der Drehzahl von float zu int //Nachricht ausgeben lcd.backlight(); // Hintergrundbeleuchtung Display lcd.setCursor(0,0); // Cursorpositionierung Display obere Zeile lcd.print(" Drehzahl"); // Ausgabe "Drehzahl" obere Zeile lcd.setCursor(0,1); // Cursorpositionierung untere Zeile lcd.print(a_2); // Ausgabe Drehzahl untere Zeile lcd.setCursor(6,1); // Cursorpositionierung untere Zeile lcd.print(" 1/min"); // Ausgabe Drehzahl untere Zeile Serial.print(a_2); // Ausbabe der Drahzahl am Serial Monitor Serial.println(";"); // Ausbabe der Drahzahl am Serial Monitor delay(800); // Verzögerung um 800 Millisekunden } } else{ e = Serial.read(); if(e=1){ Serial.write("0"); //Serial.println("0;"); // Ausbabe der Drahzahl am Serial Monitor } else{ lcd.backlight(); // Hintergrundbeleuchtung Display lcd.setCursor(0,0); // Cursorpositionierung Display obere Zeile lcd.print(" "); // Ausgabe "Drehzahl" obere Zeile lcd.setCursor(0,1); // Cursorpositionierung untere Zeile lcd.print("keine Drehzahl"); // Ausgabe Drehzahl untere Zeile } } }