ich stehe vor einem spannenden Projekt: dem Bau einer Gebetsuhr, die Gläubigen dabei hilft, ihre Gebetszeiten einzuhalten. Doch ich brauche eure Hilfe! Der Programmier-Teil bereitet mir Schwierigkeiten. Die Uhr soll Gebetszeiten basierend auf geografischen Koordinaten berechnen und Benachrichtigungen anzeigen. Wenn ihr Erfahrung mit Mikrocontrollern und Zeitberechnungen habt, meldet euch. Gemeinsam können wir dieses Projekt verwirklichen.
Er soll nur die Gebetszeiten am Display anzeigen.
Der folgende Code zeigt mir die Uhrzeit an, aber daran muss noch einiges gemacht werden.
English:
Hello dear readers,
I'm embarking on an exciting project: building a prayer clock to assist believers in keeping track of their prayer times. But I need your help! The programming aspect has proven to be quite challenging. The clock should calculate prayer times based on geographical coordinates and display notifications. If you have experience with microcontrollers and time calculations, I encourage you to reach out. Together, we can bring this project to life.
The goal is to have the clock display prayer times on its screen. The following code currently displays the time, but there's still much work to be done.
#include "RTClib.h"
#include "LiquidCrystal_I2C.h"
// Name des RTC-Moduls
RTC_DS3231 rtc;
// Name des LCD-Moduls
LiquidCrystal_I2C lcd(0x3f, 20, 2);
void setup()
{
// RTC-Modul starten
rtc.begin();
/*
wenn Datum und Zeit nicht korrekt -> Datum/Zeit setzen
Jahr, Monat, Tag, Stunde, Minute, Sekunde
Beispiel: 2022 August 31. 10 Uhr 30 Minuten 30 Sekunden
rtc.adjust(DateTime(2022, 8, 31, 10, 31, 30));
*/
// LCD starten
lcd.init();
lcd.backlight();
}
void loop()
{
// aktuelle Zeit holen
DateTime aktuell = rtc.now();
// 1. Zeile
lcd.setCursor(0, 0);
char Datum[] = "DD.MM.YY";
// Datum in String umwandeln und anzeigen
//lcd.print(aktuell.toString(Datum));
// Format der Uhrzeit festlegen
char Zeit[] = "hh:mm:ss";
// gemessene Temperatur in String umwandeln
String Temperatur = String(rtc.getTemperature());
// angelsächsische Schreibweise der Temperatur
// . durch , ersetzen
float temperatur = rtc.getTemperature();
// Datum in String umwandeln und anzeigen
lcd.print(aktuell.toString(Datum))+ lcd.print(" ") + lcd.print(String(int(temperatur)) + "\337C");
// 2. Zeile
lcd.setCursor(0, 1);
// Sonderzeichen für ° = \337
// Temperatur anzeigen
lcd.print(aktuell.toString(Zeit));
delay(1000);
}
wie wollen Sie jedem Benutzer die Koordinaten eingeben?
es waren Zeiten, man folterte diejenigen ein wenig und die halten dann brav die Gebetszeiten ein.
Ich sehe das angepeilte Teil als eine Travellösung, da wenn der Betende an einem gewissen Ort bleibt, können die Zeiten ja als Tabelle einmal berechnet werden und ausgedruck werden.
Für eine automatische Ortsbestimmung kann GPS (oder dessen Konkurenzsysteme) oder Funkzellenlokalisation herangezogn werden.
Darum sehe ich in der heutigen Zeit, wo jeder jederzeit ein Smartphon mit sich herumschleppt, einen solchen Gebetswecker sinnvoller als Händy-App mit Weckfunktion.
Also ist das das falsche Forum hier.
Ich kenne die Regeln nach denen die Gebetszeiten in Funktion des Ortes bestimmt werden. Auch kenne ich die gewünschte Genauigkeit nicht (auf die Sekunde genau oder genügt die Minute)? Welche Ortsänderung produziert eine andere Gebetszeit?
Es gibt spezielle Arduino Libraries die diese Berechnungen übernehmen, weshalb ich jemanden brauche der sich damit auskennt.
Daher denke ich nicht das dies der falsche Ort für meine Frage ist.
Momentan suche ich jedoch nach jemandem, der über vertiefte Kenntnisse auf diesem Gebiet verfügt, um sicherzustellen, dass die Umsetzung korrekt und zuverlässig ist. Ich hoffe, Sie verstehen meine Präferenz dafür, jemanden zu finden, der spezifisch auf diesem Fachgebiet erfahren ist.
Vielen Dank für Ihre Bereitschaft zur Unterstützung und Ihr Verständnis. Falls ich in Zukunft Fragen habe, die besser zu Ihrem Fachwissen passen, werde ich gerne auf Sie zukommen.
Es existieren umfangreiche Arduino-Bibliotheken, die komplexe Berechnungen basierend auf Koordinaten übernehmen können. Expertise auf diesem Gebiet ist vonnöten, um diese effizient einzusetzen.
Soll das heißen Du weißt gar nicht wie sich die Zeiten errechnen?
Ich wiederhole mich.
Soweit ich verstanden habe soll aus dem Standort und (mir unbekannten) Regeln Zeiten errechnet werden.
Ich bin immernoch der Ansicht wegen der immensen möglichkeiten als Basis ein Smartphon die richtigere Wahl ist als ein Arduino.
Ein Smartphon hat eine integrierte Positionsbestimmung, eine genaue Uhrzeit, einen Batterie, einen starken Prozessor, ein ordentliches Display, eine polichromatische Audioausgabe, eine durchdachte Eingabesteuerung und Tastatur und ist immer dabei.
Such nach jemanden der Dir eine APP programiert. oder such mal danach.
Es gibt mittlerweile Smart Watch welche mit Arduino programmierbar sind.
Das wäre so ein Mittelding.
Ansonsten stufe ich Religionen und religiöses Verhalten eher bei den sozialen Aspekten der Menschheit ein.
Leider ist es häufig so, dass die Anwendung technischer Mittel auf soziale Probleme fürchterlich nach hinten los geht. Bzw. zu viel Leid führt.
DCF77 als aleinige Uhr ist keine Gute Idee. Außer daß die Informatinen im Sekundenimpuls decodiert sind, braucht es den Empfang der Sekundensignale bis zu einer ganzen Minute um die Zeit und Datum zu erhalten. DFC77 ist außerdem ein Signal das sehr leicht gestört wird und ein kontinuirlicher Empfang nicht garantiert werden kann.
Die bessere Lösung ist ein RTC die durch das DCF77 Signal hin und wieder synchronisiert wird.
jemand soll eine Gottheit erfinden die zwingt Gebetszeiten einzuhalten nicht. Ein Fligender Spaghetti Monster oder so. denn Glaube soll einem helfen seine seelische Probleme zu lösen und nicht neue zu erschaffen.
wegen lokaler Uhrzeit. Wenn die Uhr irgendwo in der Welt am Internet hängt sollte doch immer die lokale Uhrzeit vorhanden sein. Ich meine jeder Router hat doch irgendwie Zugriff auf einen lokalen NTP Server. Ein ESP kann sich jederzeit diese Zeit holen. Das wäre mein Ansatz.