@my_xy_projekt
Jetzt könnte ich echt Hilfe und dein Wissen gebrauchen.
Mein Startbildschirmcode läuft jetzt in soweit das, Datum / Uhrzeit / Temperatur Angezeigt wird.
Auch ein kleiner TerminPlan ist drin aber der ist nur zur ansicht gedacht .
zurück zu #199 Sd Karte .
Gerade Eben habe ich von Joerg_L den Beitrag
https://forum.arduino.cc/t/vorstellung-arduino-mull-geburtstags-kalender/471797/2
gefunden . Was für mich persönlich super wäre .
- benutzt er ein Funkmodul als Uhr. und ich eben das DS3231
bekomme ich nicht umgebaut. - den Taster zum bestädigen brauch ich auch nicht .
- zum File auf der SD karte . Ich weiß nicht ob man 2 Files nutzen kann oder das Probleme machen könnte .
er lässt sich ja genau das anzeigen wie ich das auch möchte ( geburtstage und Abfall ) .
Ich könnte von hand jetzt alle termine aus der *.ics rausschreiben .
-
Frage:
-
hast du eine Idee dazu ob man 2 Files nutzen könnte, oder es sinnvoll wäre die paar termine von hand in eine TXT am anfang des jahres zu schreiben?
-
kannst du mein Code mit seinen kombinieren? ich bekomme das einfach nicht hin .

-
mein code könnte ich Dir geben und seiner ist ja unter dem Link .
-
Ps. nur wenn du Lust und zeit hast . denke mal du könntest sowas in paar minuten schaffen.
LG Toni
mein Code bis jetzt
und in der 4 zeile sollen eben die Termine laufen .
/*
0 RXD
1 TXD
2 Endcoder CLK
3 Endcoder DT
4 Endcoder SW
5 Ultraschall Echo
6 Ultraschall Trigger
7 Servo Schliesser
8 Relay 1 Licht aussen
9 Lautsprecher
10 SC SD
11 MOSI SD
12 MISO SD
13 SCK SD
14 A0 DHT 11 Temperatur Sensor
15 A1 Alkohol Tester
16 A2 Porterweiterung SDA
17 A3 Porterweiterung SLC
18 A4 / SDA Display
19 A5 / SCL Display
20 A4.2 Echtzeit Uhr SDA DS3231
21 A5.2 Echtzeit Uhr SCL DS3231
*/
#include <TimeLib.h>
#include <SPI.h>
#include <SD.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <RtcDS3231.h>
#include <dht.h>
LiquidCrystal_I2C lcd(0x27, 20, 4); // LCD: Adresse, Zeichen, Zeilen
RtcDS3231<TwoWire> Rtc(Wire);
int DHTPIN = A0;// benutzter ARDUINO-Pin (Analog-Pin 0)
dht sensor;
//#define DHTTYPE DHT11 // DHT 11
//DHT dht(DHTPIN, DHTTYPE);
#define countof(a) (sizeof(a) / sizeof(a[0]))
int TagNr = 0;
String Tag = "";
/// Das muss irgenwie in eine extra header datei oder sowas
String Aufgaben [] {
"Ruhetag ", // Sonntag
"CNC Reparatur ", // Montag
"17 Uhr Boni ", // Dienstag
"kein Termin ", // Mittwoch
"treffen bei Thomas ", // Donnerstag
"Skatabend ", // Freitag
"zu den Eltern Fahren ", // Sonnabend
};
///////////////////////////////////////////////////
void setup () {
lcd.init(); // Display initialisieren
lcd.backlight(); // Hintergrundbeleuchtung
Serial.begin(115200);
Rtc.Begin();
Rtc.Enable32kHzPin(false);
Rtc.SetSquareWavePin(DS3231SquareWavePin_ModeNone);
delay(1000); //wait a sec (recommended for DHT11)
}
void loop () {
delay(1000);
sensor.read11(DHTPIN);
RtcDateTime now = Rtc.GetDateTime();
const RtcDateTime& dt = now;
char datestring[20];
snprintf_P(datestring,
countof(datestring),
PSTR("%02u/%02u/%04u %02u:%02u"),
dt.Day(), dt.Month(), dt.Year(), dt.Hour(), dt.Minute() );
TagNr = dt.DayOfWeek();
switch (TagNr) {
case 0: Tag = " Sonntag "; break;
case 1: Tag = " Montag "; break;
case 2: Tag = " Dienstag "; break;
case 3: Tag = " Mittwoch "; break;
case 4: Tag = "Donnerstag"; break;
case 5: Tag = " Freitag "; break;
case 6: Tag = " Samstag "; break;
}
lcd.setCursor(0, 1);
// lcd.print("Temp = ");
lcd.print(sensor.temperature);
lcd.print(" C\337");
lcd.setCursor(2, 0);
lcd.print (datestring); // aktuelles Datum in erste zeile setzen
/* lcd.setCursor(5, 1);
lcd.setCursor(0, 2);
lcd.print ("Termine: ");
lcd.print (Tag); */
delay(3000);
lcd.setCursor(0, 3);
String Heutige_Aufgabe = Aufgaben [TagNr];
int Satz_Laenge = Heutige_Aufgabe.length();
String Ausgabe_Text = " ";
for (int i = 0; i < Satz_Laenge; i++) {
for (int j = 0; j < 19; j++) {
Ausgabe_Text [j] = Ausgabe_Text [j + 1];
}
Ausgabe_Text [19] = Heutige_Aufgabe [i];
lcd.setCursor(0, 3);
lcd.print(Ausgabe_Text);
delay(500);
}
}
void printDateTime(const RtcDateTime& dt)
{
char datestring[20];
snprintf_P(datestring,
countof(datestring),
PSTR("%02u/%02u/%04u %02u:%02u:%02u"),
dt.Month(),
dt.Day(),
dt.Year(),
dt.Hour(),
dt.Minute(),
dt.Second() );
}