Hulp met Arduino RTC en LCD

Goedenavond,

Voor school ben ik bezig met een RTC en een LCD om een digitale datum tijd klok te maken.
Nu heb ik dit in serieele monitor voor elkaar, alleen krijg ik het niet op het LCD scherm.
Wat ik nu wel heb zijn vreemde tekens.

Hieronder het programma:
#include <SparkFunDS1307RTC.h>
#include <Wire.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

#define PRINT_USA_DATE

#define SQW_INPUT_PIN 2
#define SQW_OUTPUT_PIN 13

void setup()
{

lcd.begin(16, 2);
Serial.begin(9600);
pinMode(SQW_INPUT_PIN, INPUT_PULLUP);
pinMode(SQW_OUTPUT_PIN, OUTPUT);
digitalWrite(SQW_OUTPUT_PIN, digitalRead(SQW_INPUT_PIN));

rtc.begin();

rtc.autoTime();
}

void loop()
{
lcd.setCursor(0, 1);
static int8_t lastSecond = -1;

rtc.update();

if (rtc.second() != lastSecond)
{
printTime();

lastSecond = rtc.second();
}

digitalWrite(SQW_OUTPUT_PIN, digitalRead(SQW_INPUT_PIN));
}

void printTime()
{
Serial.print(String(rtc.hour()) + “:”);
lcd.print(String(rtc.hour()) + “:”);
if (rtc.minute() < 10)
Serial.print(‘0’);
lcd.print(‘0’);
Serial.print(String(rtc.minute()) + “:”);
lcd.print(String(rtc.minute()) + “:”);
if (rtc.second() < 10)
Serial.print(‘0’);
lcd.print(‘0’);
Serial.print(String(rtc.second()));
lcd.print(String(rtc.second()));

if (rtc.is12Hour())
{
if (rtc.pm()) Serial.print(" PM");
else Serial.print(" AM");
if (rtc.pm()) lcd.print(" PM");
else lcd.print(" AM");
}

Serial.print(" | “);
lcd.print(” | ");

Serial.print(rtc.dayStr());
lcd.print(rtc.dayStr());

Serial.print(" - “);
lcd.print(” - ");
#ifdef PRINT_USA_DATE
Serial.print(String(rtc.month()) + “/” +
String(rtc.date()) + “/”);
lcd.print(String(rtc.month()) + “/” +
String(rtc.date()) + “/”);
#else
Serial.print(String(rtc.date()) + “/” +
String(rtc.month()) + “/”);
lcd.print(String(rtc.date()) + “/” +
String(rtc.month()) + “/”);
#endif
Serial.println(String(rtc.year()));
lcd.println(String(rtc.year()));
}

iemand die mij misschien kan helpen of een tip heeft??

Alvast bedankt!

groet,

Thijs

Hoi THIJS075, welkom.

Volgende keer als je code plaatst, dan graag die code in [code] [/code] tags plaatsen.
Op die manier is de code beter te volgen, je krijgt er geen fouten mee (zoals deze:).
Niet dat die fouten er nu zijn, maar das toeval.
En de code is heel gemakkelijk te kopiëren waardoor die in de IDE gezet kan worden en mogelijk beter te lezen is.

Als iemand met een LCD aan de slag is en dan alleen maar vreemde tekens krijgt, dan is er zeer waarschijnlijk een bedradingsfout.
Dat betekent dat er 2 of meer draden gekruist zitten, of dat er minimaal 1 slechte verbinding in zit.
Wanneer je aansluitvoorbeelden van het internet hebt gebruikt, dan moet je voor dat je dat doet, wel even alles controleren.
Alles houdt in dat je kijkt of jouw display de aansluitingen op dezelfde plaats heeft zitten als het voorbeeld, maar ook of jouw sketch overeen komt met die aansluitingen.
In dit stukje code word de LCD geïnitialiseerd, en word de Arduino dus verteld hoe de LCD aan hem (of haar, maar dan was het Arduina) verbonden is.

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Die getallen zijn dus de pinnen van je Arduino.
En je kunt hier (klik !) terug vinden hoe dat werkt.
Dat is een onderdeel van de reference, en daar ga je erg veel profijt van hebben eens je die weet te vinden (vanaf nu dus).