LCD-Display zeigt nichts an

Hallo ich bin Jonas und neu im Programmmieren.
Ich habe in der Schule ein Programm geschrieben und wollte es auf mein Arduino UNO R3 laden.
Doch mein LCD-Display zeigt nichts an. Ich benutze den LCD-Display aus dem Arduino Starterkit.
Und ich wollte fragen ob mir jemand helfen kann warum es nicht daheim funktioniert? Mein LCD-Display ist auch richtig angeschlossen

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
long startZeit;
long endZeit;
long summe;
int zufallsZeit1;
int zufallsZeit2;
int zufallsZeit3;
int versuchNr;
// LED an Pin 2 und Taster an Pin 3
const int led = 2;
const int taster = 3;
void setup()
{
// Initialisiere das LCD
lcd.begin(16,2);

// LED Pin OUTPUT und Taster Pin INPUT
pinMode(led, OUTPUT);
pinMode(taster, INPUT_PULLUP);
// Starte Zufallsgenerator
randomSeed(analogRead(A1));
}
void loop()
{
startText();
versuchNr=1;
while(versuchNr < 4) {
versuchNr += testNr(versuchNr);
}
endText();
}
void startText()
{
zufallsZeit1=random(3000,8000);
zufallsZeit2=random(3000,8000);
zufallsZeit3=random(3000,8000);

summe = 0;

lcd.clear();
lcd.print("Taste druecken");
lcd.setCursor(0,1);
lcd.print("um zu starten");
while(digitalRead(taster) == 1) {
delay(10);
}
lcd.clear();
lcd.print("Reaktionstest!");
delay(3000);
lcd.clear();
lcd.print("Sobald die LED");
lcd.setCursor(0,1);
lcd.print("aufleuchtet,");
delay(3000);
lcd.clear();
lcd.print("schnell die");
lcd.setCursor(0,1);
lcd.print("Taste druecken!");
delay(5000);
}
void textTestNr(int Nr)
{
lcd.clear();
lcd.print("ACHTUNG Test ");
lcd.print(Nr);
lcd.print("/3");
lcd.setCursor(0,1);
lcd.print("Start in:");
for(int i = 3; i>0 ; i--) {
lcd.setCursor(10,1);
lcd.print(i);
delay(1500);
}
lcd.clear();
}
void endText()
{
lcd.clear();
lcd.print("Deine Zeit im");
lcd.setCursor(0,1);
lcd.print("Schnitt: ");
lcd.print(summe/3);
lcd.print(" ms");
delay(5000);
}
int testNr(int Nr)
{
textTestNr(Nr);
for(int i=0; i<zufallsZeit1; i++) {
if(digitalRead(taster) == 0) {
lcd.print("Zu frueh");
lcd.setCursor(0,1);
lcd.print("gedrueckt");
delay(3000);
return 0;
}
delay(1);
}
digitalWrite(led, HIGH);
startZeit = millis();
while(digitalRead(taster) == 1) {
}
endZeit = millis();
summe += endZeit-startZeit;
lcd.print("Reaktionszeit:");
lcd.setCursor(0,1);
lcd.print(endZeit-startZeit);
lcd.print(" ms");
delay(5000);
digitalWrite(led,LOW);
return 1;
}

Dein Sketch ist besser lesbar, wenn Du ihn in Codetags setzt und vorher ordentlich formatierst. (Strg+T in der IDE hilft Dir dabei). Wie Codetags gehen, steht hier.

Benutzt Du die gleiche LiquidCrystal.h, wie in der Schule (es gibt mehrere verschiedene)? Gib uns bitte einen Link dazu.

Gruß Tommy

Hallo,
ich tippe darauf das es falsch angeschlossen ist.
Wie hast Du es denn angeschlossen, und wie ist der Eingang für die Helligkeit/Kontrast verschaltet. Kannst Du da mal ein Foto oder besser eine Skizze von machen. Handskizze reicht vollkommen aus. Hast Du da ein Poti dran oder zwei feste Widerstände.
Heinz

Du initialisierts das Displayobjekt mit LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Demnach müssten ja die Anschlüsse D6 und D7 des Displays an den Pins 3 und 2 angeschossen sein.

Du hast aber auch

const int led = 2;
const int taster = 3;

definiert und initialisierst die Pins mit

pinMode(led, OUTPUT);
pinMode(taster, INPUT_PULLUP);

Da passt doch schon etwas nicht ...

Wenn man die "pinMode" Zeilen auskommentiert, dann funktioniert es...

1 Like

Danke, habe das Problem jetzt behoben.

Da n wäre es den Helfern gegenüber doch höflich, wenn du deine Lösung hier präsentierst.
Sketch bitte in Code-Tags setzen.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.