Was muss zuerst installiert werde: Scanner - Set Time - dann den Scetch oder erst den Scetch und dann....? Ich erhalte im Verlauf keine Ausgabe im Scanner. Ich hatte Ausgabe am Anfang als ich die Hex Adresse des LCD geändert habe, danach nicht mehr. Ich weiß jetzt nur dass die HEX Adressen desI2C von LCD, RTC und Arduino Board unterschiedlich sind.
Ich erhalte keine Ausgabe der RTC Zeit im LCD, ausser einmal dann musste ich abschalten und danach ist die Zeitangabe nicht mehr erfolgt. Es lässt also mdarauf schliessen, dass die Installation Richtig ist, aber warum sehe ich nichts mehr im LCD?
Ich bin absoluter Neuling , es ist mein erster Arduino Uno und habe keine Ahnung von C++.
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
Hättest Du das nicht geschrieben, hätte ich es dennoch bemerkt, denn was Du schreibst, ist wirr. Soll heißen, ich weiß nicht, was Dein Problem ist. Du kannst nun Deine Webam über Deinem Schreibtisch einschalten oder verbal systematisch beschreiben, was Du siehst, ich aber nicht.
Welcher Arduino?
Welches LCD?
Welche RTC?
Welchen Scanner? Oder meinst Du ein Programm?
Dann solltest Du mit den Beispielen der IDE anfangen, C++ zu lernen. Manche mögen Video-Tutorials, andere Bücher oder die VHS. Ohne Kenntnisse von C++ wirst Du keine Freude und keinen Erfolg haben.
Entschuldigung, aber ich bin auch das erste mal in einem Forum.
Also ich habe einen ARDUINO UNO
es ist ein normales LCD 16,2 mit einen I"C
das RTC ist ein DS3231
mit Scanner meine ich den im Programm
und als Programm meine ich aus den ARDUINO Anleitungen Seite 97
ja diese Anleitungen, ich habe sie durchgearbeitet bis zu Seite 97 und habe ein Problem mit der ca. Zeile 60. Da kommt die Meldung: lcd was not declared in this scope
[code]
#include <DS1307RTC.h>
#include <Time.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h> //Bibliotheken laden
LiquidCrystal_I2C lcd(0x3D, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //Das I²C Display
//brennen und die HEX Adresse //eingeben (bei uns 0x3D)
void setup() {
lcd.begin(16, 2); //Das Display starten, festlegen dass es sich um ein Display
//mit 16 Zeichen in 2 Zeilen //handelt
lcd.backlight(); //Beleuchtung des Displays einschalten
Serial.begin(9600); //Seriellen Verbindung mit Baudrate 9600 starten
setSyncProvider(RTC.get);
}//Daten von der RTC abrufen
void printDay() {// Hier wird wird für den vorher im Code schon
//verwendeten Befehl printDay eine Bedeutung festgelegt
}
void loop() {
{
int day;
day = weekday(); // Die Wochentage sollen abhängig vom Datum angezeigt werden.
if (day == 1) {
lcd.print("So, "); // Wenn es sich um Tag 1 handelt
}
//soll „So“ usw. angezeigt werden.
if (day == 2) {
lcd.print("Mo, ");
}
if (day == 3) {
lcd.print("Di, ");
}
if (day == 4) {
lcd.print("Mi, ");
}
if (day == 5) {
lcd.print("Do, ");
}
if (day == 6) {
lcd.print("Fr, ");
}
if (day == 7) {
lcd.print("Sa, ");
}
}
Serial.print(hour()); //Serial.print ist der Befehl etwas im seriellen Monitor
//anzuzeigen (Stunde, Minute, //Sekunde,Leerzeichen, Tag, Leerzeichen, usw.)
printDigits(minute()); //bei den Minuten und Sekunden wird der Befehl
printDigits(second()); //printDigits verwendet, welcher am Ende des Codes noch
//festgelegt wird
Serial.print(" ");
Serial.print(day());
Serial.print(" ");
Serial.print(month());
Serial.print(" ");
Serial.print(year());
Serial.println();
delay(1000); //eine Sekunde warten
lcd.setCursor(2, 0); // setCursor gibt an wo der Text beginnen soll. In diesem
//Fall beim dritten Zeichen in //der ersten Reihe.
lcd.print(hour()); //Die Uhrzeit soll angezeigt werden im Format:
lcd.print(":"); //Stunden:minuten:sekunden
lcd.print (minute());
lcd.print(":");
lcd.print(second());
lcd.print(" ");
lcd.print("Uhr"); //Dahinter soll das Wort „Uhr“ angezeigt werden
lcd.print(" ");
lcd.print(" ");
lcd.print(" ");
lcd.setCursor(1, 1); //In der zweiten Zeile soll das Datum angezeigt //werden
lcd.print(day());
lcd.print(".");
lcd.print(month());
lcd.print(".");
lcd.print(year());
}
void printDigits(int digits) { //Der printDigits Befehl für den seriellen Monitor
Serial.print(":");
if (digits < 10)
Serial.print('0');
Serial.print(digits);
}
[/code]
Dieser Scetch läst sich hochladen, aber ich sehe nichts auf meinem LCD. Was den RTC angeht habe ich irgendwo gelesen das der RTC DS3231 auch mit DS1307 kooperiert.
weiter mit Antwort von Post #9
der Fehler tritt auf wenn ich wie angegeben die New liquid Crystal Bibliothek verwende und ich die normale Liquid Crystal Bibliothek auskommentiere.
teile dein Problem auf.
Nimm mal genau das "Hallo World" Beispiel aus der LCD Library die du installiert hast und probiere das LCD zum laufen zu bringen.
Solange das nicht geht, brauchst du den RTC gar nicht probieren.
Zeige mal Fotos von deinem Aufbau. Jedes Kabel - jedes Modul muss sichtbar sein.