Hallo, Ich hab habe einen Arduino Uno mit einem Display.
Ich möchte damit Folgendes machen:
Beim Einschalten soll er "Hallo" ausgeben. Kurze Zeit später dazu auffordern auf den Taster zu drücken.
Nach dem Taster druck soll er von 4 Digitalen Eingängen einlesen ob sie auf High oder Low stehen.
Je nach dem soll er verschiedene Texte ausgeben.
Ich hab damit ziemliche Schwierigkeiten
Ein großes Problem ist es das der Text " Zum starten drücken" flackert.
Ich denke das liegt daran das bei jedem Schleifendurchlauf der Text neu ausgegeben wird.
Könnt ihr mir bitte helfen?
#include <LiquidCrystal.h>
const int Taster = 8; // Beim Tasten HIGH
const int ein1 = 9; // Entweder HIGH oder LOW
const int ein2 = 10; // Entweder HIGH oder LOW
const int ein3 = 11; // Entweder HIGH oder LOW
const int ein4 = 12; // Entweder HIGH oder LOW
int a;
int b;
int c;
int d;
int e;
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
void setup()
{
pinMode(Taster, INPUT);
pinMode(ein1, INPUT);
pinMode(ein2, INPUT);
pinMode(ein3, INPUT);
pinMode(ein4, INPUT);
lcd.begin(16, 2);
lcd.print("Hallo");
delay(1000);
}
void loop()
{
a = digitalRead(Taster);
b = digitalRead(ein1);
c = digitalRead(ein2);
d = digitalRead(ein3);
e = digitalRead(ein4);
lcd.begin(16, 2);
lcd.print("Zum Starten Taster drücken");
if(a == LOW)
{
if(b == HIGH,c == HIGH, d == HIGH, e == HIGH)
lcd.begin(16, 2);
lcd.print("Fall 1");
delay(1000);
if(a == HIGH)
{
if(b == HIGH,c == HIGH, d == HIGH, e == LOW)
lcd.begin(16, 2);
lcd.print("Fall 2");
delay(1000);
if(a == LOW)
{
if(b == HIGH,c == HIGH, d == LOW, e == HIGH)
lcd.begin(16, 2);
lcd.print("Fall 3");
delay(1000);
if(a == LOW)
{
if(b == HIGH,c == HIGH, d == LOW, e == LOW)
lcd.begin(16, 2);
lcd.print("Fall 4");
delay(1000);
if(a == LOW)
{
if(b == HIGH,c == LOW, d == HIGH, e == HIGH)
lcd.begin(16, 2);
lcd.print("Fall 5");
delay(1000);
if(a == LOW)
{
if(b == HIGH,c == LOW, d == HIGH, e == LOW)
lcd.begin(16, 2);
lcd.print("Fall 6");
delay(1000);
{
if(b == HIGH,c == LOW, d == LOW, e == HIGH)
lcd.begin(16, 2);
lcd.print("Fall 7");
delay(1000);
}}}}}}}}