Forum: Projekte & Code LED Uhr Thermometer RTC DS1307 TWI I2C DS18B20 DS18s20 DS1822 1wire ATmega8 1MHz Assembler


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Bernhard S. (bernhard)


Angehängte Dateien:

Bewertung
2 lesenswert
nicht lesenswert
Ein kleines Beispiel einer Uhr mit Thermometer.

Kurz nach Programmstart wird die aktuelle Uhrzeit aus dem RTC geladen

und der Familycode des Sensors angezeigt,

dannach richtet sich das Temperatur-Berechnungsverfahren.

Beispiel: "FA:10" steht für einen DS18s20 -> Familycode x10

Da der AVR ohne Quarz, sondern nur mit seinem ungenauen 
RC-Generatorläuft, ist es besser, wenn die Zeit 1x pro Stunde erneut aus 
dem RTC geladen wird.

Minütlich wechselt die Anzeige zwischen Zeit und Temperatur.

Mit den beiden Tasten lässt sich die Uhrzeit einstellen, bei jedem 
Tastendruck ändert sich der Minuten bzw. Stundenwert.

Die neu eingestellte Zeit wird sofort in den RTC geschrieben und zur 
Kontrolle nochmals ausgelesen und angezeigt.

Blinkt die gelbe LED am RTC im Sekundentakt, dann war die 
RTC-Programmierung erfolgreich.

Die Helligkeit der LEDs ist für meine Anwendung ausreichend, steht in 
einer dunklen Ecke, bei Bedarf können diverse Treiber verwendet werden.

Nach der Temperaturmessung wird sofort der 1wire Pin gegen LOW gezogen, 
um eine unnötige Erwärmung des Sensors zu unterdrücken.

Zwei Testausgänge stehen zur Verfügung 1kHz und 500kHz.


Stromaufnahme: ca. 40mA

Bernhard

: Bearbeitet durch User
von MaWin (Gast)


Bewertung
-2 lesenswert
nicht lesenswert
Bernhard S. schrieb:
> Die Helligkeit der LEDs ist für meine Anwendung ausreichend, steht in
> einer dunklen Ecke, bei Bedarf können diverse Treiber verwendet werden.

Tja, also Faulheit
Beitrag "Re: 2x3 LED Strom Spannung einfache Kalibrierung Justierung per Software - ATmega8 Assembler"

Beitrag #6497516 wurde von einem Moderator gelöscht.
von Bauform B. (bauformb)


Bewertung
1 lesenswert
nicht lesenswert
Bernhard S. schrieb:
> Da der AVR ohne Quarz, sondern nur mit seinem ungenauen
> RC-Generatorläuft, ist es besser, wenn die Zeit 1x pro Stunde erneut aus
> dem RTC geladen wird.

Du könntest den Sekundentakt von der RTC über PD0 einlesen und die 
Software-Uhr damit betreiben (bzw. synchronisieren). Statt der 
Sekundentakt-LED könnte dann ein Dezimalpunkt blinken.

Noch besser: wenn du zwei von den 7-Segment-Anzeigen um 180 Grad gedreht 
einbaust, dann sehen die mittleren Dezimalpunkte fast wie ein 
Doppelpunkt aus.

Nur der Form halber: die BAT48 verbraucht im Sommer mehr Strom als die 
RTC. Da du sowieso 5 Volt runter teilst, musst du an der Stelle nicht 
sparen und kannst eine 1N4148 nehmen.

von Bernhard S. (bernhard)


Bewertung
0 lesenswert
nicht lesenswert
> Sekundentakt von der RTC über PD0 einlesen...

> sparen und kannst eine 1N4148...

Danke "Bauform B.", sehr gute Tipps, Daumen hoch :-)


> Tja, also Faulheit

Nein, ich nenne es ökonomisch, Greta würde sich freuen.

Ach übrigens, wir dürfen nie nachdenken, wir müssen vordenken ^^

Wenn ich diese LEDs zu hell betreibe, steigen nicht nur die Stromkosten,

sondern meine bessere Hälfte würde das Blendwerk fürchterlich stören.

: Bearbeitet durch User
von Bernhard S. (bernhard)


Bewertung
0 lesenswert
nicht lesenswert
Jetzt muss ich auch noch die Versorgungsspannung etwas drosseln,

die 7-Segmentanzeigen sind noch zu hell in der dunklen Ecke,

es gab Beschwerden und das kurz vor Weihnachten.

von MaWin (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Bernhard S. schrieb:
> Jetzt muss ich auch noch die Versorgungsspannung etwas drosseln,

da wird ja der Helligkeitsunterschied der 1 und 8 bei 18.00 Uhr noch 
krasser,

Das macht man natürlich nicht auf diese Art, sondern in dem die AN-Zeit 
während des Multiplexens kürzer gemacht wird zu Gunsten einer längeren 
AUS Zeit während des Umschaltens.

Elegant programmiert durch einen Timer dessen Overflow-Interrupt das 
Multiplexen und Compare-Interrupt das blanking steuert.

von Ozvald K. (ozvaldk)


Bewertung
0 lesenswert
nicht lesenswert
Bauform B. schrieb:
> Bernhard S. schrieb:
>> Da der AVR ohne Quarz, sondern nur mit seinem ungenauen
>> RC-Generatorläuft, ist es besser, wenn die Zeit 1x pro Stunde erneut aus
>> dem RTC geladen wird.
>
> Du könntest den Sekundentakt von der RTC über PD0 einlesen und die
> Software-Uhr damit betreiben (bzw. synchronisieren). Statt der
> Sekundentakt-LED könnte dann ein Dezimalpunkt blinken.

Ja, entweder so wie Bauform B es vorgeschlagen hat, oder konfiguriere 
die Pins so um, dass INT0 oder INT1 frei wird, dann kannst du auch 
Interrupt gesteuert die RTC einlesen. Interrupt auf fallende Flanke 
einstellen und mit SQW/OUT der RTC verbinden. So habe ich das gemacht.

von Bernhard S. (bernhard)


Bewertung
0 lesenswert
nicht lesenswert
> INT0 oder INT1 frei wird, dann kannst du auch
> Interrupt gesteuert die RTC einlesen

Das wäre auch eine mögliche Variante.

Oder auf einen freien Pin den Sekundentakt legen und diesen Pin mit dem 
1kHz Timer sampeln ;-)

> 1 und 8 bei 18.00 Uhr noch krasser

Sorry, aber ein Helligkeitsunterschied ist nicht erkennbar


> Das macht man natürlich nicht auf diese Art

Warum auf dieser Art nicht? Ist es verboten? Ist wieder alles 
schrecklich, nur weil Du es wieder nicht verstehst?


Lieber Moderator, git es irgendeine Möglichkeit gewisse User hier im 
Forum zu blocken; und zwar genau diese, welche gern alles beschmutzen 
und selber nichts vernüftiges vollbringen. Sogenannte 
Beitrags-Wichsmaschinen.

Danke

: Bearbeitet durch User
von Bernhard S. (bernhard)


Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Beispel einer batteriebetriebenen LED-Uhr

mit Thermo- und Hygrometer TWI HYT939.

Nach Betätigung der Taste wird zuerst die aktuelle Uhrzeit angezeigt und

nach einigen Sekunden die Temperatur, die Luftfeuchte und die

Batteriespannung.

: Bearbeitet durch User
von Bernhard S. (bernhard)


Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
...das fertige Gerät, Bilder und ein kleines Video...

: Bearbeitet durch User
von Bauform B. (bauformb)


Bewertung
0 lesenswert
nicht lesenswert
Oberaffengeiles Gehäuse!

Wenn jetzt der Taster noch unsichtbar wäre... Ein kapazitiver 
Touch-Sensor muss doch nicht direkt berührt werden?

von Manfred (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Bauform B. schrieb:
> Wenn jetzt der Taster noch ..
.. anstatt aus Pollin-Ostzonenresten ein flacher aus Metall wäre, sähe 
das perfekt aus.

> Ein kapazitiver Touch-Sensor muss doch nicht direkt berührt werden?
Muss und will man nicht unbedingt haben.

https://www.pollin.de/p/drucktaster-pbs-28b-2-schliesser-420567
https://www.pollin.de/p/drucktaster-oe-18-mm-30-v-3-a-421222

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.