Hallo erstmal danke für die Tipp
Bin nicht so oft in Foren unterwegs und deswegen kenn ich mich nicht so gut aus.
Hier ist jedenfalls mein richtiger Code.
Also das Problem ist das durch einen Taster eine Variable Hochgezählt wird und auf einem LCD ausgegeben wird.Allerdings zählt er bis zu 11 hoch und dann beginnt er bei 21 31 41 weiterzuzählen.
Eigentlich möchte ich das er bis 12 hochzählt und dann zurückgesetzt wird.
Schönen Abend noch
LG
#include "Arduino.h"
#include "avdweb_Switch.h"
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
const byte pushButtonpin = A1;
const byte pushButtonpin1 = A0;
const byte pushButtonpin2 = A2;
int i = 1;
int o = 12;
Switch pushButton = Switch(pushButtonpin);
Switch pushButton1 = Switch(pushButtonpin1);
Switch pushButton2 = Switch(pushButtonpin2);
void setup() {
Serial.begin(9600);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
pinMode(11, INPUT_PULLUP);
pinMode(12, INPUT_PULLUP);
pinMode(10, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
digitalWrite(8, LOW);
digitalWrite(7, LOW);
digitalWrite(6, LOW);
digitalWrite(5, LOW);
lcd.init();
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Fahrgassen");
lcd.setCursor(0, 1);
lcd.print("Computer");
lcd.setCursor(11, 0);
lcd.print("V.1.0");
delay(1825);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Spur:");
lcd.setCursor(0, 1);
lcd.print("Abstand:");
lcd.setCursor(10, 1);
lcd.print("m");
}
void loop() {
// put your main code here, to run repeatedly:
pushButton.poll();
if (pushButton.pushed()) {
Serial.print("pushButton pushed ");
Serial.print(++i);
Serial.println(" times");
delay(80);
}
lcd.setCursor(5, 0);
lcd.print(i);
pushButton1.poll();
if (pushButton1.pushed()) {
Serial.print("pushButton pushed ");
Serial.print(++++++o);
Serial.println(" times");
delay(80);
}
if (o > 36) {
o = 12;
}
lcd.setCursor(8, 1);
lcd.print(o);
pushButton2.poll();
if (pushButton2.pushed()) {
Serial.print("pushButton pushed ");
Serial.print(--i);
Serial.println(" times");
delay(80);
}
if (i < 1) {
i = 1;
}
{ if (o == 12) {
if (i > 4) {
i = 1;
}
if (i == 2) {
lcd.setCursor(15, 1);
lcd.print("F");
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(6, HIGH);
digitalWrite(5, LOW);
}
if (i != 2) {
lcd.setCursor(15, 1);
lcd.print(" ");
digitalWrite(LED_BUILTIN, LOW);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(6, LOW);
digitalWrite(5, HIGH);
}
}
}
{ if (o == 15) {
if (i > 5) {
i = 1;
}
if (i == 3) {
lcd.setCursor(15, 1);
lcd.print("F");
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(6, HIGH);
digitalWrite(5, LOW);
}
if (i != 3) {
lcd.setCursor(15, 1);
lcd.print(" ");
digitalWrite(LED_BUILTIN, LOW);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(6, LOW);
digitalWrite(5, HIGH);
}
}
}
{ if (o == 18) {
if (i > 6) {
i = 1;
}
if (i == 3) {
lcd.setCursor(15, 1);
lcd.print("F");
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(6, HIGH);
digitalWrite(5, LOW);
}
if (i != 3) {
lcd.setCursor(15, 1);
lcd.print(" ");
digitalWrite(LED_BUILTIN, LOW);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(6, LOW);
digitalWrite(5, HIGH);
}
}
}
{ if (o == 21) {
if (i > 7) {
i = 1;
}
if (i == 4) {
lcd.setCursor(15, 1);
lcd.print("F");
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(6, HIGH);
digitalWrite(5, LOW);
}
if (i != 4) {
lcd.setCursor(15, 1);
lcd.print(" ");
digitalWrite(LED_BUILTIN, LOW);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(6, LOW);
digitalWrite(5, HIGH);
}
}
}
{ if (o == 24) {
if (i > 8) {
i = 1;
}
if (i == 4) {
lcd.setCursor(15, 1);
lcd.print("F");
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(6, HIGH);
digitalWrite(5, LOW);
}
if (i != 4) {
lcd.setCursor(15, 1);
lcd.print(" ");
digitalWrite(LED_BUILTIN, LOW);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(6, LOW);
digitalWrite(5, HIGH);
}
}
}
{ if (o == 27) {
if (i > 9) {
i = 1;
}
if (i == 4) {
lcd.setCursor(15, 1);
lcd.print("F");
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(6, HIGH);
digitalWrite(5, LOW);
}
if (i != 4) {
lcd.setCursor(15, 1);
lcd.print(" ");
digitalWrite(LED_BUILTIN, LOW);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(6, LOW);
digitalWrite(5, HIGH);
}
}
}
{ if (o == 30) {
if (i > 10) {
i = 01;
}
if (i == 5) {
lcd.setCursor(15, 1);
lcd.print("F");
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(6, HIGH);
digitalWrite(5, LOW);
}
if (i != 5) {
lcd.setCursor(15, 1);
lcd.print(" ");
digitalWrite(LED_BUILTIN, LOW);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(6, LOW);
digitalWrite(5, HIGH);
}
}
}
{ if (o == 33) {
if (i > 11) {
i = 1;
}
if (i == 5) {
lcd.setCursor(15, 1);
lcd.print("F");
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(6, HIGH);
digitalWrite(5, LOW);
}
if (i != 5) {
lcd.setCursor(15, 1);
lcd.print(" ");
digitalWrite(LED_BUILTIN, LOW);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(6, LOW);
digitalWrite(5, HIGH);
}
}
}
{ if (o == 36) {
if (i > 12) {
i = 01;
}
if (i == 6) {
lcd.setCursor(15, 1);
lcd.print("F");
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(6, HIGH);
digitalWrite(5, LOW);
}
if (i != 6) {
lcd.setCursor(15, 1);
lcd.print(" ");
digitalWrite(LED_BUILTIN, LOW);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(6, LOW);
digitalWrite(5, HIGH);
}
}
}
}