#include <Wire.h> // Wire Bibliothek einbinden
#include <LiquidCrystal_I2C.h> // LiquidCrystal_I2C Bibliothek einbinden
int GSM1 = 10; // Gleichstrommotor 1
int In1 = 9;
int In2 = 8;
int GSM2 = 5; // Gleichstrommotor 2
int In3 = 7;
int In4 = 6;
int Switch1= 7;
int Switch2= 8;
int Eingang1 = 0;
int ReglerWert1;
int Regler1= A0;
LiquidCrystal_I2C lcd(0x27, 20, 4); // Festlegen des LCD-Displays mit der Adresse 0x27 (20 Zeichen und 4 Zeilen)
void setup()
{
pinMode(GSM1, OUTPUT);
pinMode(GSM2, OUTPUT);
pinMode(In1, OUTPUT);
pinMode(In2, OUTPUT);
pinMode(In3, OUTPUT);
pinMode(In4, OUTPUT);
pinMode(Switch1, INPUT); // Linke/ Rechte Position Switch 1
pinMode(Switch2, INPUT); // Linke/ Rechte Position Switch 2
lcd.init(); // LCD initialisieren
lcd.backlight(); // Hintergrundbeleuchtung einschalten
}
void loop() {
ReglerWert1 = map(analogRead(Regler1), 0, 1023, 0, 100); // Wert des Potentiometers lesen
lcd.setCursor(10, 0);
lcd.print(" "); // Löscht vorherigen Wert
lcd.setCursor(10, 0);
lcd.print(ReglerWert1); // Zeigt den Reglerwert an
if (digitalRead(Switch1)) {
lcd.setCursor(0, 0);
lcd.print("Vor "); // zeigt "Vor" bei rechter Position
digitalWrite(In1, HIGH);
digitalWrite(In2, LOW);
analogWrite(GSM1, ReglerWert1);
}
else if (digitalRead(Switch2)) {
lcd.setCursor(0, 0);
lcd.print("Rueck ");
digitalWrite(In2, HIGH);
digitalWrite(In1, LOW);
analogWrite(GSM1, ReglerWert1);
}
else {
lcd.setCursor(0, 0);
lcd.print("Stop "); // zeigt "Stop", wenn kein Schalter gedrückt ist
digitalWrite(In1, LOW);
digitalWrite(In2, LOW);
lcd.setCursor(10, 1);
lcd.print(" ");
lcd.setCursor(10, 1);
lcd.print(ReglerWert1);
}
}