freak1051 schrieb:
Aber BlackMark, sei mal ehrlich. Wie Lernt man denn. Zur Info. Ich mache aktuell ne Weiterbildung zum Automatisierungstechniker. Programmiere seit 2 Jahren SPS. Klar verstehe ich nicht alles was des Ding, oder n Arduino macht. Aber darum Frage ich andere Menschen. Warum das Rad neu erfinden. Klar kann ich mir gefährliches Halbwissen aneignen, indem ich Datenblätter lese, von denen ich nur die hälfte versteh.
Ich bin dann mal ehrlich, man lernt indem man Datenblätter liest, die Dinge die man nicht versteht googled und nachliest und sich somit Wissen aneignet, bis man das komplette Datenblatt verstanden hat. Das muss man aber meistens gar nicht bzw. hängt davon ab was man machen will. Um eine RTC zu verwenden, für die es schon eine Library gibt, muss man das Datenblatt eigentlich gar nicht lesen. Wenn man aber verstehen will, wie die RTC funktioniert, oder warum etwas so ist, wie es ist, muss man sich mit dem Datenblatt auseinandersetzen. Dort steht nämlich alles drin. Wenn dich I2C Adressen interessieren, dann lies eben den I2C Teil im Datenblatt. Musst auch gar nicht alles verstehen, für deine Frage reicht es den I2C Teil vom Datenblatt zu überfliegen, bis du die I2C Adresse findest. Dauert maximal ein paar Minuten. Dann siehst du nämlich, dass der RTC Chip nur eine Adresse hat und weißt, dass die zweite woanders herkommen muss. Die zweite Adresse googlen funktioniert auch, da findest du dann den EEPROM Chip, also ich hab ihn über googlen der I2C Adresse gefunden. Oder die schaust auf dein Modul, siehst den zweiten Chip und googlest nach der Bezeichnung die oben steht. Dann findest du auch das Datenblatt für den EEPROM Chip. Dort dann wieder den I2C Teil überfliegen, bis du die Adresse hast und dann weißt du, dass deine 2 I2C Adressen von den beiden Chips auf deinem Modul kommen. Dazu muss man weder professioneller Hardware Engineer, noch erfahrener Programmierer sein, das sind basic problem solving skills, die jeder haben sollte, der sich mit Microcontroller Programmierung befasst.
freak1051 schrieb:
Mir ist schon klar (mittlerweile) dass auf dem Board 2 Chips verbaut sind, jeder mit seiner eigenen Adresse. Beim Kauf war mir das allerdings nicht klar. Ich wollte n Teil mit Batterie, welches mir das Uhrzeit und Datums Handling übernimmt.. da millis() naja doof ist wegen dem Überlauf. Nicht unmöglich aber umständlich.
Hängt von deinen Anforderungen ab. Wenn dir Genauigkeit egal ist und dein Arduino immer läuft, ist es sicher einfacher mit einem Hardware timer des Arduino und einem großen Counter (uint64_t) zu arbeiten. Da gibt es dann keinen Überlauf, solange lebst du gar nicht, bis es einen geben würde. Wenn dir aber Genauigkeit wichtig ist, oder dein Arduino mit Batterie läuft und Sleep/Powerdown verwendet, dann brauchst du eh eine RTC.
freak1051 schrieb:
Ich sags mal so. Andern wäre nie aufgefallen dass des ding 2 Adressen hat. Also schon mal nen schritt weiter als andere, oder?. Hab zwar noch nicht ganz verstanden, was der zweite Chip macht, denke es is ein reiner Eprom Speicher (?!?!), den ich für meine Anwendung evtl. Sogar hernehmen werde.
Ja, ist ein EEPROM. Steht alles im Datenblatt von dem Chip. Aber du hast recht, dass andere gar nicht so weit kommen. Fast alle Tutorials, die dieses Modul behandeln, erwähnen nicht, dass dort auch ein 32K EEPROM verbaut ist, der nicht für RTC Zwecke verwendet wird, sondern frei zur Verfügung steht. Mit ein bisschen suchen, habe ich aber auch hier ein Datenblatt für das Modul gefunden, in dem beide Chips behandelt werden:
TinyRTC I2C Module
Hättest du auch selbst finden können und sollen.
freak1051 schrieb:
Dennoch find ich es einfach schade, (vllt weil ich es anders kenne/mache) wenn mich jemand freundlich was fragt, dass ich ihm dann ne Antwort gebe, mit der er Was anfangen kann. Evtl. stecke ich noch sein Kenntnisstand ab. Und da liegen wir meilenweit auseinander.
Kenntnisstand kommt gar nicht ins Spiel. Eigeninitiative unterscheidet uns. Du stößt auf eine Kleinigkeit die du nicht verstehst und machst einen Thread auf, anstatt dich hinzusetzen, brain.exe zu starten und zu versuchen selbst die Lösung zu finden. Man lernt immer am meisten, wenn man selbst seine Probleme löst, anstatt andere dies machen zu lassen. Ich würde aber auch nichts sagen, wenn deine Frage "Mein RTC Modul speichert die Uhrzeit richtig, aber das Datum falsch, aber nicht immer um gleich viel, und ich komme nicht drauf warum." wäre. Das hatte ich mal mit einem DS3231 und hat mich einen Tag arbeit gekostet um den Fehler zu finden. Dazu findet man auch nichts im Internet, aber dein Problem kann man mit Google allein lösen, das ist keinen Thread wert.
freak1051 schrieb:
Dennoch Danke für deine Antwort, und vllt. denkst du auch mal darüber nach, wie du Angefangen hast. Du warst sicher auch froh, um jeden Profi, der dir etwas gezeigt hat, bevor du dich durch tonnen Datenblätter gewälzt hast, und nachher nicht viel mehr wusstest als vorher,
Ich erinnere mich noch gut an meine Anfangszeit mit Hardware und Microcontroller, mir kommt es vor, als wär das keine 5 Jahre her, vielleicht weil dem so ist. Wie viel Spaß ich daran hatte (und habe) mich durch Datenblätter zu arbeiten und für meine Projekte meine Libraries selber zu schreiben, anstatt auf fertige Libraries zu setzen. Man kann so viel lernen, wenn man Datenblätter liest und Protokolle selbst implementiert. Niemals würde ich zu einem Profi gehen und mir meine Probleme lösen lassen, außer ich habe alle anderen Optionen ausgeschöpft und komme trotzdem nicht auf die Lösung, aber soweit ist es noch nie gekommen. Klar, wenn das Ziel "Ich will so schnell wie möglich etwas funktionierendes haben und möglichst wenig dafür arbeiten" dann ist meine Herangehenweise die falsche, aber wenn man etwas lernen will, gibt es nichts besseres als jedes Mal das Rad neu zu erfinden.
freak1051 schrieb:
Und übrigens, aufgrund meiner 0,39 Cent China-Ware, steht auf den Chips nicht mal was drauf. Was für mich im ersten Moment nicht unbedingt hieß, es sind unterschiedliche Chips. Sry, bin kein 5-Voldemort und kenne die dinger beim Namen. Bin da eher de 3-Phasen-Kasper
Die Chips sind sicher bedruckt. Die billig China Chips sind meistens nur schwer lesbar bedruckt, musst mit viel Licht und im richtigen Winkel drauf schauen, dann findest du die Schrift. Und ich kenn die Namen auch nicht alle auswendig. Deshalb steht ja was auf den Chips drauf, das man in Google eingeben kann und so zum Datenblatt kommt.
Überleg dir, ob du lernen, oder schnell Ergebnisse haben, willst. Bei ersterem, lern die Grundlagen und lies die Datenblätter, bei zweiterem, mach dir keine Gedanken solange eh alles funktioniert.
Gruß
BlackMark