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;
}