Auf ATmega8 ansehen. Zweikanal-Thermometer, Uhr auf ATmega8, DS18B20, DS1307, LCD1602 Einfache Uhr auf dem atmega8-Mikrocontroller

Uhrenkonzept mit großen Zahlen

Strukturell besteht das Gerät aus zwei übereinander liegenden Platinen. Die erste Platine ist eine Matrix aus LEDs, die die Stunden und Minuten bilden, die zweite ist der Leistungsteil (LED-Steuerung), Logik und Stromversorgung. Dieses Design macht die Uhr kompakter (ohne Gehäuse, ca. 22 cm x 9 cm, 4 bis 5 Zentimeter dick) und ermöglicht es, die Matrix an ein anderes Projekt anzuschrauben, falls etwas schief geht.

Der Leistungsteil wird auf Basis eines UL2003-Treibers und Transistorschaltern aufgebaut. Logisch - auf Atmega8 und DS1307. Stromversorgung: 220 V – Transformator; Logik 5V (über 7805), Leistungsteil - 12V (über LM2576ADJ). Für die autonome Stromversorgung der Echtzeituhr DS1307 wird es ein separates Fach für eine 3-V-Batterie geben.

Ich denke darüber nach, Atmega8 und DS1307 zu verwenden (ich habe vor, die Uhr an die Decke zu hängen, damit ich im Falle eines Stromausfalls nicht jedes Mal nach Einstellungen suchen muss), aber das Platinenlayout wird das implizieren Möglichkeit, das Gerät ohne DS1307 zu betreiben (zum ersten Mal und vielleicht für immer – wie es funktionieren wird).

Je nach Konfiguration sieht der Betriebsalgorithmus des Uhrenprogramms also wie folgt aus:

Atmega8– Zeitzähler per Timer. Arbeiten Sie in einem Zyklus ohne Pausen: Abfragen der Tastatur, Anpassen der Uhrzeit (falls erforderlich), Anzeigen von 4 Ziffern und einem Trennzeichen.

Atmega8+DS1307. Arbeiten Sie in einem Zyklus ohne Pausen: Abfragen der Tastatur, Anpassen der DS1307-Zeit (falls erforderlich), Lesen der Uhrzeit vom DS1307, Anzeigen von 4 Ziffern und einem Trennzeichen. Oder eine andere Option – Lesen von DS1307 auf einem Timer, der Rest in einer Schleife (ich weiß noch nicht, wie es am besten geht).

Das Segment besteht aus 4 in Reihe geschalteten roten LEDs. Eine Ziffer – 7 Segmente mit einer gemeinsamen Anode. Ich habe nicht vor, die Segmente nach dem Achtermuster zu trennen, wie es bei herkömmlichen Indikatoren der Fall ist.

Leistungsteil der Uhr

Der Leistungsteil der Uhr basiert auf einem UL2003-Treiber und den Transistorschaltern VT1 und VT2.

UL2003 ist für die Steuerung der Anzeigesegmente zuständig, die Tasten dienen der Steuerung der Ziffern.

Die Stunden- und Minutentrennung wird separat gesteuert (Signal K8).

Die Steuerung der Segmente, Bits und Separatoren erfolgt durch den Mikrocontroller durch Anlegen eines positiven Potenzials (d. h. Anlegen von +5 V) an K1-K8, Z1-Z4.

Signale an Segmente und Bits müssen synchron und mit einer bestimmten Frequenz zugeführt werden, um eine dynamische Informationsausgabe (Stunden und Minuten) zu gewährleisten.

Der Transistor BCP52 kann als Transistor VT1 (BCP53) verwendet werden.

Schematische Darstellung des Leistungsteils der Uhr mit großen Zahlen

Leiterplatte einer Sieben-Segment-Anzeige für eine Uhr mit großen Ziffern

Wie ich bereits sagte, wird die Uhr aus zwei Leiterplatten bestehen – einer Anzeigeplatine + Logik und einem Leistungsteil.

Beginnen wir mit dem Design und der Herstellung der Anzeigeplatine.

Entwicklung einer Leiterplatte für eine Sieben-Segment-Anzeige für eine Uhr mit großen Ziffern

Die Leiterplatte einer Sieben-Segment-Anzeige für eine Uhr mit großen Zahlen im „Lay“-Format befindet sich am Ende des Artikels, in den angehängten Dateien. Sie können sich über die Technologie zur Herstellung von Leiterplatten mit der LUT-Methode informieren.

Wenn Sie alles richtig gemacht haben, sieht die fertige Platine in etwa so aus.

Fertige Leiterplatte einer Sieben-Segment-Anzeige für eine Uhr mit großen Ziffern

Zusammenbau eines Sieben-Segment-Indikators

Da die Anzeigetafel doppelseitig ist, müssen zunächst Übergänge zwischen den Schichten vorgenommen werden. Ich mache das mit den Beinen unnötiger Teile – ich fädle sie durch die Löcher und löte sie auf beiden Seiten. Wenn alle Übergänge fertig sind, reinige ich sie mit einer flachen, feinen Feile – es wird sehr sauber und schön.

Zwischenschichtfläschchen auf der Anzeigetafel

Der nächste Schritt ist tatsächlich der Zusammenbau des Indikators. Warum brauchen wir eine Packung roter (grüner, weißer, blauer) LEDs? Ich habe zum Beispiel diese genommen.

Vorbereitung zum Zusammenbau des Indikators

Vergessen Sie beim Einbau von Dioden nicht, dass wir einen Indikator mit gemeinsamer Anode herstellen – d.h. Die „+“-Dioden müssen miteinander verbunden sein. Übliche Anoden auf einer Leiterplatte sind große Kupferstücke. Achten Sie unbedingt auf die Trennpunktanode.

Lage der Anoden auf der Leiterplatte des Indikators

Als Ergebnis sollten Sie nach 2 Stunden mühevoller Arbeit Folgendes erhalten:

Sieben-Segment-Anzeige

Digitaler Teil der Uhr

Den digitalen Teil der Uhr mit großen Ziffern bauen wir nach folgendem Schema zusammen:

Uhrendiagramm mit großen Zahlen

Die Taktschaltung ist ziemlich transparent, daher sehe ich keinen Sinn darin, zu erklären, wie sie funktioniert. Die Leiterplatte im *.lay-Format kann am Ende des Artikels heruntergeladen werden. Ich stelle fest, dass die Leiterplatte hauptsächlich für oberflächenmontierte Teile ausgelegt ist.

Also die Elementbasis, die ich verwendet habe:

1. Diodenbrücke DFA028 (jede kompakte Brücke für die Oberflächenmontage reicht aus);
2. Spannungsregler LM2576ADJ im D2PAK-Gehäuse, 78M05 im HSOP3-P-2.30A-Gehäuse;
3. Transistorschalter BCP53 (SOT223-Gehäuse) und BC847 (SOT23-Gehäuse);
4. Atmega8-Mikrocontroller (TQFP);
5. Echtzeituhr DS1307 (SO8);
6. Netzteil 14V 1,2A von einem alten Gerät;
7. Die übrigen Teile sind beliebiger Art und in ihrer Größe für den Einbau auf einer Leiterplatte geeignet.

Wenn Sie andere Teilepakete verwenden möchten, müssen Sie natürlich einige Änderungen an der Leiterplatte vornehmen.

Achten Sie auf die Widerstandswerte R3 und R4 – sie müssen genau den Angaben im Diagramm entsprechen – nicht mehr und nicht weniger. Dies geschieht, um am Ausgang des Spannungsreglers LM2576ADJ genau 12 V bereitzustellen. Wenn Sie solche Widerstandswerte immer noch nicht finden können, kann der Wert des Widerstands R4 mit der Formel berechnet werden:

R4=R3(12/1,23-1) oder R4=8,76R3

Zusammenbau des digitalen Teils. Version 1, ohne DS1307

Wenn Sie bei der Herstellung einer Leiterplatte für eine Uhr die in aufgeführten Empfehlungen befolgt haben, ist es unnötig, Sie daran zu erinnern, dass die Leiterplatte vor dem Zusammenbau gebohrt, alle sichtbaren Kurzschlüsse darauf beseitigt werden müssen und Das Brett muss mit flüssigem Kolophonium bedeckt sein? Dann beginnen wir mit dem Zusammenbau der Uhr.

Ich empfehle, mit dem Zusammenbau des Netzteils zu beginnen und erst dann den Digitalteil zu installieren. Dies ist eine allgemeine Empfehlung zur Selbstmontage von Geräten. Warum? Ganz einfach, denn wenn das Netzteil fehlerhaft zusammengebaut wird, können Sie die gesamte Niederspannungselektronik verbrennen, die von diesem Netzteil mit Strom versorgt werden sollte.

Wenn alles richtig gemacht ist, sollte die Stromversorgung sofort funktionieren. Wir prüfen die Montage des Netzteils – messen die Spannung an den Kontrollpunkten.

Die Abbildung zeigt die Prüfpunkte, an denen die Versorgungsspannung überprüft werden sollte. Wenn die Spannung der angegebenen entspricht, können Sie mit dem Zusammenbau des digitalen Teils der Uhr beginnen. Ansonsten prüfen wir den Einbau und die Funktionsfähigkeit der Stromversorgungselemente.

Testpunkte und Spannungswerte für die Uhrenstromversorgung

Nachdem wir die Stromversorgung überprüft haben, fahren wir mit dem Zusammenbau des digitalen Teils der Uhr fort und installieren alle anderen Elemente auf der Leiterplatte. Wir prüfen auf Kurzschlüsse, insbesondere in den Beinen des Atmega-Mikrocontrollers und des UL2003-Treibers.

Installation des digitalen Teils der Uhr

Bitte beachten Sie, dass wir die Uhr zusammenbauen, OHNE die Echtzeituhr DS1307 zu installieren. Allerdings muss die gesamte Verkabelung dieses Chips abgeschlossen sein. Dies erspart uns in Zukunft bei Bedarf Zeit bei der Änderung der Uhr für die zweite Version, bei der weiterhin eine separate, unabhängige Echtzeituhr auf dem DS1307 verwendet wird.

Vorläufiger Test des ATMEGA8-Mikrocontrollers

Um die Korrektheit und Funktionalität des Mikrocontrollers zu überprüfen, benötigen wir:

1. Programmierer zum Beispiel.
2. zur In-Circuit-Programmierung des Mikrocontrollers.
3. AVRDUDESHELL-Programm.

Wir verbinden die Uhrenplatine mit dem Datenkabel. Wir verbinden das Datenkabel mit dem Programmierer. Programmierer für einen Computer, auf dem das Programm AVRDUDESHELL installiert ist. Die Uhrenplatine sollte nicht an eine 220-V-Stromversorgung angeschlossen werden.

Erfolgreiches Lesen der Daten vom Mikrocontroller durch das AVRDUDESHELL-Programm

Treten Probleme beim Auslesen der Sicherungen auf, überprüfen Sie die Installation – möglicherweise liegt irgendwo ein Kurzschluss oder eine „fehlende Verbindung“ vor. Noch ein Tipp – vielleicht befindet sich der Mikrocontroller im langsamen Programmiermodus, dann schalten Sie den Programmierer einfach in diesen Modus (


- Alarm.
– Thermometer.

1. Funktionen.

- Indikation. Abwechselnd.

PLUSMINUS

2. Einrichtung.

2.2. Per KnopfdruckSPEISEKARTESATZ

Gruppe CLOC:

- Protokoll;

- Uhr;

PLUS oder MINUS);

Mit".

Gruppe ALAr:

AnAUS" wenn deaktiviert;

Gruppe diSP:

tc

tt

E.F., AR

P

Gruppe LiGH:

A„, bei den Jüngeren“ AnVON

L_ ".

L¯ ".

L".

2.4. Indem Sie die Tasten gedrückt haltenPLUS/ MINUS

3. Notizen.

Thema .

Video der Funktionsweise des Programms t Benutzerwolf2000.

– Uhr mit digitaler Genauigkeitskorrektur.
- Alarm.
– Thermometer.
– Anzeige auf einer Sieben-Segment-Anzeige.
– Automatische Anpassung der Anzeigehelligkeit.

1. Funktionen.

– Uhr, Zeitanzeigeformat 24 Stunden, Stunden:Minuten.

– digitale Genauigkeitskorrektur. Tägliche Korrektur ist ±25 Sek. möglich. Der eingestellte Wert von 1 Stunde 0 Minuten 30 Sekunden wird zur aktuellen Zeit addiert/subtrahiert.

- Alarm. Zur angegebenen Zeit ertönen für eine Minute kurze Doppelsignale. Sie können den Ton vorzeitig ausschalten, indem Sie eine der Tasten drücken. Wenn der Wecker aktiviert ist, wird bei der Anzeige der Uhrzeit ein Punkt in der niederwertigsten Ziffer angezeigt.

– Thermometer. Der Bereich der gemessenen Temperatur liegt zwischen -55,0 und 125,0 °C. Wenn die Temperatur über 99,9 oder unter -9,9 °C liegt, werden Zehntelgrad nicht angezeigt.

- Indikation. Abwechselnd.

– Anpassbare Animation sich ändernder Messwerte.

– Verwendung des nichtflüchtigen Speichers des Mikrocontrollers zum Speichern von Einstellungen, wenn der Strom ausgeschaltet ist.

– wenn Sie im Hauptmodus die Taste drückenPLUS, dann wird die Uhrzeit auf den Indikatoren angezeigt, wenn Sie auf klickenMINUS- Temperatur. Beim Loslassen der Tasten wird der automatische Messwertwechsel fortgesetzt.

– Automatische Anpassung der Helligkeit der Anzeige je nach Beleuchtung.

2. Einrichtung.

2.1. Beim Einschalten befindet sich die Uhr im Hauptmodus.

2.2. Per KnopfdruckSPEISEKARTERuft den Einstellungsmodus auf und wählt eine Gruppe von Parametern zur Installation aus. Innerhalb einer Gruppe erfolgt die Auswahl des einzustellenden Parameters über die SchaltflächeSATZ. Zur Installation stehen wiederum zur Verfügung:

Gruppe CLOC:

- Protokoll;

- Uhr;

– Sekunden (wird beim Drücken der Tasten auf Null zurückgesetztPLUS oder MINUS);

– Korrekturwert. In der höchstwertigen Ziffer das Symbol „ Mit".

Gruppe ALAr:

– Aktivierung des Weckers. Auf dem Indikator „An„Wenn der Alarm aktiviert ist“,AUS" wenn deaktiviert;

– Minuten, in denen der Wecker klingelt;

– Weckerstunden.

Gruppe diSP:

– Uhrzeit der Anzeige der aktuellen Uhrzeit. In den höchsten Ziffern sind die Symbole „tc". Einstellbereich 0-99 Sek. Bei der Einstellung 0 wird die Uhrzeit nicht angezeigt;

– Temperaturanzeigezeit. In den höchsten Ziffern sind die Symbole „tt". Einstellbereich 0-99 Sek. Bei der Einstellung 0 wird die Temperatur nicht angezeigt;

– Auswahl des Animationseffekts. In den höchsten Ziffern sind die Symbole „E.F.". Bei der Einstellung 0 werden Informationsänderungen ohne Auswirkungen durchgeführt, wenn der Automatikmodus ausgewählt ist (Symbol „ A"), dann ändern sich die Effekte nacheinander. Wenn der Modus ausgewählt istR, dann ändern sich die Effekte zufällig.

– Animationsgeschwindigkeit auswählen. In der höchstwertigen Ziffer das Symbol „P". Der Einstellbereich liegt zwischen 0 und 99. Eine Einheit entspricht ca. 2 ms, je höher der Wert, desto langsamer die Animation.

Gruppe LiGH:

– Aktivieren Sie die automatische Steuerung der Anzeigehelligkeit. In der höchstwertigen Ziffer das Symbol „A„, bei den Jüngeren“ An„Wenn die automatische Regelung aktiviert ist,“VON" wenn die Helligkeit manuell eingestellt wird;

– Mindesthelligkeitsschwelle für den Automatikmodus. In den höchsten Ziffern sind die Symbole „L_ ".

– maximale Helligkeitsschwelle für den Automatikmodus. In den höchsten Ziffern sind die Symbole „L¯ ".

– Helligkeitsstufe im manuellen Modus. In den höchsten Ziffern sind die Symbole „L".

2.3. Der eingestellte Parameter blinkt.

2.4. Indem Sie die Tasten gedrückt haltenPLUS/ MINUSDer Parameter ist schnell eingestellt.

3. Notizen.

1. Für die minimale und maximale Helligkeitsschwelle beträgt der Einstellbereich 0 ÷ 99, das Programm führt jedoch Einschränkungen ein: Das Minimum darf nicht größer oder gleich dem Maximum sein und umgekehrt.

2. Beim Einstellen der Helligkeitsparameter werden die Informationen auf dem Indikator mit dem ausgewählten Helligkeitswert angezeigt.

3. Es ist notwendig, die Geschwindigkeit der Animation und die Zeit der Informationsanzeige zu vergleichen. Wenn langsame Animation und kurze Anzeigezeit gewählt werden, kann es sein, dass die Informationen vor der nächsten Schicht keine Zeit haben, vollständig aktualisiert zu werden.

Es wurde ein Thema erstellt, um die Materialien in diesem Artikel zu diskutieren.

Video der Funktionsweise des Programms t Benutzerwolf2000.

Diese auf dem Atmega8-Mikrocontroller basierende elektronische Uhr ist mit einer gut lesbaren LED-Anzeige, einem Wecker mit Schlummerfunktion und einer Stromwiederherstellungsfunktion ausgestattet.

Uhrenspezifikationen

  • Zeitanzeigeformat: Stunden, Minuten;
  • Wecker mit Schlummerfunktion;
  • einfache Steuerung über 2 Tasten;
  • Unterstützung für Batteriebetrieb;
  • Versorgungsspannung: 7…12V / 0,2 A;
  • Abmessungen von zwei Leiterplatten: 60×21 mm, 58×44 mm.

Das schematische Diagramm der Uhr ist in der folgenden Abbildung dargestellt. Der Taktkreis muss mit einer konstanten Spannung im Bereich von 7...12V versorgt werden. Dies kann jeder mit einer Strombelastung von mindestens 200 mA sein.

An den CON5-Anschluss der Platine kann ein Summer mit Generator angeschlossen werden, der als Alarmsignal fungiert. An die Klemmen SA1 und SA2 der Leiterplatte sind Tasten angeschlossen, die zur Eingabe von Einstellungen und zur Bedienung der Uhr dienen.

Uhrzeit und Alarm einstellen

Durch Drücken der SA1-Taste gelangen wir in das Uhrmenü „Set1“, in dem wir die aktuelle Uhrzeit einstellen können, und durch ein weiteres kurzes Drücken der SA1-Taste gelangen wir in das Weckzeit-Einstellmenü „Set2“.

Um Einstellungen auszuwählen und zu ändern, verwenden Sie die Taste SA2. Nachdem Sie sowohl den Zeiteinstellungsmodus als auch den Alarmeinstellungsmodus ausgewählt haben, beginnt die erste Ziffer auf dem Display zu blinken. Anschließend können Sie mit der SA2-Taste Dutzende Stunden einstellen.

Durch erneutes Drücken von SA1 blinkt die zweite Ziffer und mit SA2 können Sie die Stundeneinheiten einstellen. Mit den nächsten zwei Drücken von SA1 können Sie Zehnerminuten und Minuteneinheiten einstellen. Bei der Einstellung der Stunden und Minuten wird immer nur eine Ziffer eingestellt. Durch ein fünftes Drücken von SA1 kehrt die Uhr in den Normalbetrieb zurück. Auch wenn über einen längeren Zeitraum hinweg keine Tasten gedrückt werden, wird der Installationsvorgang abgebrochen.

Während die Uhr läuft, können Sie durch langes Drücken der SA2-Taste den Alarm ein-/ausschalten. Wenn der Alarm aktiviert ist, wird die Startzeit einige Sekunden lang angezeigt. Der Alarmstatus wird durch einen Punkt in der vierten Ziffer angezeigt. Wenn der Alarm aktiv ist, leuchtet diese Anzeige.

Nachdem Sie den Alarm eingeschaltet haben, können Sie ihn durch Drücken einer beliebigen Taste für etwa 5 Minuten ausschalten. Die Schlummerfunktion wird dann aktiviert. Dies wird durch einen blinkenden Punkt an der vierten Stelle der Anzeige angezeigt. Nach 5 Minuten ertönt der Alarm erneut. Durch erneutes Drücken einer beliebigen Taste kann der Vorgang um weitere 5 Minuten usw. verschoben werden.

Das Alarmsignal wird nach langem Drücken der SA2-Taste oder nach etwa anderthalb Minuten fehlender Reaktion des Benutzers vollständig ausgeschaltet.

Der Uhrbetrieb wurde in Proteus getestet:

Wenn sich während des Betriebs der Uhr herausstellt, dass die Uhr deutlich hinterherhinkt oder in Eile ist, können Sie versuchen, den Wert des Kondensators C1 zu verringern oder zu erhöhen.

(34,7 KB, Downloads: 1.923)

Auf ATmega8 ansehen.

  • 10 Alarme für jeden Wochentag.
  • Verzögerungssignal, wenn der Alarm nicht ausgeschaltet ist, ertönt nach etwa 5 Minuten.
  • Zwei Wecker auf einem separaten MK-Bein, Last ein/aus.
  • Zwei DS18B20-Temperatursensoren (zu Hause und im Freien).
  • Auswahl der Temperaturanzeige (Zero Blanking).
  • Timer 99 Stunden.
  • Die Helligkeit der Anzeige ist für Tag und Nacht einstellbar.
  • Der variable Parameter ändert die Helligkeit stufenlos.
  • Bei einem Verlust von 220 Volt beträgt der Batterieverbrauch weniger als 40 Mikroampere.
  • Der Alarm ertönt in jedem Energiemodus.
  • Die Uhr kann bis zu 8 Modi anzeigen.
  • Im Stromkreis können Indikatoren mit gemeinsamer Anode oder Kathode verwendet werden.

Die Uhr kann bis zu 8 Modi anzeigen, für die Sie eines von fünfzehn Anzeigeformaten, die Zeit, zu der es angezeigt wird, und die Häufigkeit, mit der es übersprungen wird, auswählen können.

Anzeigeformate.
0

Datum, Wochentag, Stunden-Minuten.

1

Stunden-Minuten-Sekunden.

2

Stunden und Minuten.

3

Stunden-Minuten, Wochentag.

4

Day_of_month_day der Woche.

5

Tag Monat Jahr.

6

Tag Monat Jahr Tag der Woche.

7
8

Temperatur 1 Sensor (Haussensor).

9

Temperatur 2 Sensor (Sensor außen).

A

Temperatur 1 Sensor, Stunden-Minuten.

B

Temperatur 2 Sensor, Stunden-Minuten.

C

Temperatursensor 1, Temperatursensor 2.

D

Temperatursensor 1, Temperatursensor 2.

E

Wochentag, Zahl, Monat, Jahr.

F

Tag Monat Jahr.

In Modi, in denen Zehntelgrad nicht angezeigt werden, bestimmt der Punkt mehr als 0,5 Grad.

Taste F – Modus verlassen. Auswahl aus 3 Hauptmodi.
SET-Taste – ruft den ausgewählten Modus auf. Gehen Sie anschließend zum nächsten Parameter (blinkendes Feld).
PLUS-Taste – Plus/Ein. Scrollen Sie im SETUP-Modus durch die Hauptmenüs.
MINUS-Taste – Minus/__(aus). Scrollen Sie im SETUP-Modus durch die Hauptmenüs.

Alle Modi, außer Null- und Timer-Modus, verfügen über eine Zeitterminierung. Erfolgt länger als 30 Sekunden kein Tastendruck, wird der Modus auf Null gesetzt.

ANRUFE-Modus

Konfigurations-Modus.
Um Werte in das EEPROM zu schreiben, müssen Sie alle Werte im Untermodus durch Drücken von SET bestätigen.
Beispiel: LICHT ->SET->L.ooooo ->SET->HO4b L.2 ->SET->LICHT .

PORT-Modus.

Uhrmodus.

Sekunden einstellen. Durch Drücken von MINUS werden die Sekunden auf Null zurückgesetzt. Bei mehr als 31 Sekunden werden die Minuten hochgezählt.
Als nächstes folgt die Einstellung der Minuten und Stunden.
Eingerichtet:
Tag, Monat, Jahr und Wochentag.
Uhrkorrektur. Dieser Wert wird stündlich addiert oder subtrahiert. Schritt 0,008 Sekunden. (50 Werte), Maximalwert 0,391. Rechenbeispiel: Bei einer Korrektur gleich Null wird die Uhrendrift gemessen, zum Beispiel in 5 Tagen ist die Uhr um 3 Sekunden davongelaufen, dann beträgt die Korrektur genau 3/(5*24)=0,025.

SEE-Modus einstellen.

Im Nullmodus zeigt die Uhr abwechselnd bis zu 8 Modi an, für die eines von zehn Anzeigeformaten und die Uhrzeit ihrer Anzeige ausgewählt werden (oberer Tisch).
1 Modusauswahl.
R 5 Wählen Sie eines von fünfzehn Anzeigeformaten.
Mit 03 Zeit in Sekunden, die der ausgewählte Modus sichtbar sein wird.
N 0 wie oft übersprungen werden soll (Zeig nicht) Modus. Beispiel:
1 r0 c03n0
2 r5 c03n0
3 r4 c02n1
r0; r5; r4; r0; r5; r4; r0; r5; r4; r0; r5; r4; ..
r4; — sichtbar, r4; - verpasst.
Wenn die Zeit 00 ist, ist der Modus deaktiviert.

Modus USt Bud. Alarmeinstellungen.

Bip Alarmsignal - PWM.
Stift Alarmsignal - Mund in 1 Ausgangsknospe.
Beide Shim und Ausgang.
Signalverzögerung.
Legt die Anzahl der Signalverzögerungen fest.
Wenn ausgeschaltet Snooze (00) schaltet den Alarm durch Drücken einer beliebigen Taste aus.
Wenn sie auf Alarm-Schlummerfunktion Taste F, beim Drücken der SET PLUS MINUS Tasten schaltet sich das Signal aus, funktioniert aber nach ca. 5 Minuten wieder.
Bei aktiver Signalverzögerung blinkt im Nullmodus der Punkt der letzten Ziffer.
Verzögerung deaktivieren (wenn kein Signal vorhanden ist). Im Modus 0 drücken Sie SET. diesen Modus. Das Vorhandensein einer aktiven Verzögerung löst das Symbol aus Ö am 4. Kennenlernplatz. Durch Drücken von PLUS MINUS wird die Verzögerung ausgeschaltet.

DS18B20-Modus.

Lichtmodus.

Signalmodus.

Reset-Modus.

Aktionen im Nullmodus.

F – Modusauswahl.
SET – Signalverzögerungs-Abbruchmodus
PLUS – SEE-Modus einstellen.
MINUS – Alarme einstellen.

Jede Stunde wird für eine Sekunde Pin PB2(16) gesetzt.

Um Geld zu sparen, ist die Signalverzögerung im Batteriebetrieb verboten. Der Timer stoppt ebenfalls.

Quelle WinAVR-20060421. Firmware-Anode, Kathode und Firmware für eine Schaltung mit großen Anzeigen. Mit automatischer Umstellung auf Sommer-/Winterzeit.
Keine Umstellung auf Sommer-/Winterzeit.
Diagramm für große Indikatoren. Gesendet von Alexey.



Ich mache Sie auf ein einfaches Diagramm und Design aufmerksam. Zweikanal-Thermometer, Uhr auf ATmega8, DS18B20, DS1307, LCD (ZhK) 1602«.
Das Design ermöglicht die Anzeige der aktuellen Uhrzeit, des Datums, des Monats, des Wochentags und der aktuellen Temperatur von zwei digitalen Temperatursensoren auf einer zweizeiligen Symbolanzeige.

Diagramm eines Zweikanal-Thermometers und einer Uhr

Das Design basiert auf einem ATmega8-16PU-Mikrocontroller, einem DS1307-Echtzeituhr-Chip in einem DIP-Gehäuse, digitalen Temperatursensoren DS18B20 und einer LCD1602-LCD-Anzeige


Das Gerätediagramm wurde im Programm erstellt
Temperatursensoren werden an die Anschlüsse DS1 und DS2 angeschlossen:
— Pin 1 — mit dem GND-Pin des Sensors
— Pin 2 — mit dem DQ-Pin des Sensors
– Pin 3 – mit dem Vcc-Pin des Sensors

Die Sensoranschlüsse im Diagramm entsprechen nicht der Leiterplatte.
Das Programm ist auf die Leiterplatte zugeschnitten, Sie müssen Folgendes anschließen:
— 1. Sensor an PB1 (15. Pin)
— 2. Sensor an PB2 (16. Pin)

Ich mache Sie darauf aufmerksam, die Pins von Port D des Mikrocontrollers mit den Pins der Anzeige zu verbinden:
- PD0 des Mikrocontrollers - an Pin D7 der Anzeige
- PD1 des Mikrocontrollers - an Pin D6 der Anzeige
- PD2 des Mikrocontrollers - an Pin D5 der Anzeige
- PD3 des Mikrocontrollers - an Pin D4 der Anzeige
Diese Verbindung wurde gewählt, um die Anordnung der Leiterbahnen auf der Leiterplatte zu vereinfachen.

Im Design verwendete Details:

Das LCD-Display besteht aus 2 Zeilen, 16 negativen, weißen Zeichen auf einem dunkelblauen Hintergrund mit weißer Hintergrundbeleuchtung. Sie können auch jeden ähnlichen zeichensynthetisierenden (symbolischen) zweizeiligen, 16-stelligen Indikator mit oder ohne kyrillischer Unterstützung verwenden, der das Befehlssystem des Controllers vom Typ HD44780 unterstützt:
— STN (FSTN) Negativ (blau oder schwarz) mit Hintergrundbeleuchtung (dies wird im Design verwendet) – solche Indikatoren funktionieren nur mit Hintergrundbeleuchtung
- FSTN-positiv, TN-positiv, HTN-positiv – mit oder ohne Hintergrundbeleuchtung
Der verwendete chinesische LCD-Indikator verfügt nicht über ein integriertes kyrillisches Alphabet. Aus Gründen der Klarheit der Anzeige des Wochentags auf dem Indikator werden daher benutzerdefinierte Zeichen in den Zeichengenerator-RAM (CGRAM) geschrieben – „P“, „n“ , „t“, „H“, „b“ und zwei Zeichen in umgekehrter Form „D“ und „U“.

Leiterplatte eines Zweikanal-Thermometers und einer Uhr

Das Design ist auf einer einseitigen Leiterplatte montiert, alle verwendeten Teile werden „ausgegeben“.
Die Leiterplatte des Geräts wurde im Programm erstellt.
Auf der Platine befinden sich drei Jumper – P1, P2, P3
Der Quarzresonator wird „liegend“ auf der Platine montiert; der Resonatorkörper wird mit einer Brücke mit dem Kontaktpad auf der Platine unter dem Resonator verlötet.

Beschreibung der Funktionsweise eines Zweikanal-Thermometers und einer Uhr

Die Basis des Designs „D“ Zweikanal-Thermometer, Uhr" ist ein Mikrocontroller ATmega8 im DIP-Gehäuse mit einer Taktfrequenz von 1 MHz aus einem eingebauten Oszillator mit interner RC-Schaltung. Das Festlegen der FUSE-Bits ist die Standardeinstellung, es ist keine Änderung erforderlich.
Zur Bestimmung der aktuellen Uhrzeit wird ein Echtzeituhrchip verwendet DS1307, das Sekunden, Minuten, Stunden, Datum des Monats, Monat, Wochentag und Jahr zählt, mit Schaltjahrkompensation, gültig bis 2100.
Es wird nur Folgendes angezeigt:
- aktuelle Uhrzeit - Stunden und Minuten
- Datum des Monats
- Monat
- Wochentag
Als Temperatursensoren kommen zwei digitale Temperatursensoren zum Einsatz DS18B20, mit denen Sie die aktuelle Temperatur im Bereich von -45 Grad bis +125 Grad Celsius mit einer Genauigkeit von 0,5 Grad messen können.
Die aktuelle Temperatur jedes Sensors wird mit einer Auflösung von 0,1 °C angezeigt
Vor dem Wert jeder Temperatur werden die Symbole „D“ und „U“ in umgekehrter Form angezeigt:
- „D“ – Temperatur im Haus
— „U“ — Außentemperatur

Der Betrieb des Programms wird durch Überlauf-Interrupts vom Timer T1 organisiert, die alle 4 Sekunden auftreten. Die aktuelle Uhrzeit wird alle 4 Sekunden aktualisiert, die aktuellen Temperaturen der Sensoren werden abwechselnd alle 4 Sekunden aktualisiert.

Das Gerät wird von einer stabilisierten Stromquelle mit einer Spannung von 5 Volt betrieben; Sie können ein Ladegerät von einem Mobiltelefon oder eine autonome Stromquelle – einen Akku – verwenden. Der Stromverbrauch hängt von der Helligkeit der Hintergrundbeleuchtung (Wert des Widerstands R3) ab und beträgt im Einzelfall 12 mA.

Das Gerät wird über zwei Tasten gesteuert:
— S1 — „Auswahl“
— S2 — „Installation“

Beim ersten Einschalten des Geräts (oder bei jedem Einschalten, wenn keine Notstromversorgung DS1307 - BAT1 vorhanden ist) wechselt das Gerät in den Installationsmodus „Vollständig“. In diesem Fall ist es notwendig, das aktuelle Jahr, den Monat, das Datum, den Wochentag und die aktuelle Uhrzeit (Stunden und Minuten) einzustellen. In diesem Modus wurden die erklärenden Informationen nicht ins Russische übersetzt (im Gegensatz zur Wochentagsanzeige), alle Erklärungen werden auf Englisch angezeigt (eine vollständige Installation wird äußerst selten durchgeführt, sie ist nicht schwer zu verstehen):

Einstellen des Jahres:
Ein blinkender Cursor in Form eines weißen Rechtecks ​​zeigt an, wo und was eingegeben werden muss:
— mit der Schaltfläche „Installieren“ stellen wir es auf Dutzende von Jahren ein
— Fahren Sie mit der Schaltfläche „Auswählen“ mit der Einstellung der Jahreseinheiten fort
— Stellen Sie mit der Schaltfläche „Setup“ den Wert der Jahreseinheiten ein
— mit der „Auswählen“-Taste — zur nächsten Einstellung wechseln

Den Monat auf „Monat“ einstellen
- ähnlich wie beim Einstellen des Jahres

Einstellen des Tages des Monats „Daten“:
- ähnlich wie beim Einstellen des Jahres

Wochentag einstellen „Woche“:
- Ähnlich wie beim Einstellen des Jahres, mit - 1 - Mo, 2 - Di, 3 - Mi, 4 - Do, 5 - Fr, 6 - Sa, 7 - So

Aktuelle Uhrzeit „Hour_Min“ einstellen
Die aktuelle Zeit beträgt beispielsweise 17 Stunden 39 Minuten:
— mit der Schaltfläche „Installieren“ — stellen wir Zehnerstunden ein — 1
— Fahren Sie mit der Schaltfläche „Auswählen“ mit der Einstellung der Stundeneinheiten fort
— mit der Schaltfläche „Setup“ — Stundeneinheiten einstellen — 7
— mit der Taste „Auswählen“ — zur Einstellung der Zehnerminuten gehen — 4
— Stellen Sie mit der Schaltfläche „Setup“ die Minuteneinheiten auf -0 ein
— Die Sekunden werden auf den Displays bereits als „00“ angezeigt.
— Drücken Sie bei genau 17 Stunden 40 Minuten die Taste „Auswählen“ und die aktuelle Zeit 17 Stunden 40 Minuten 00 Sekunden wird im DS1307 aufgezeichnet

Im Betriebsmodus können Sie über die Schaltflächen „Auswählen“ und „Installieren“ in die folgenden Modi wechseln:
Auswahlknopf— Zeitkorrektur (in diesem Fall wird nur die aktuelle Uhrzeit „Hour_Min“ wie oben beschrieben eingestellt)
Schaltfläche „Installieren“.- "Vollinstallation
Um in den gewünschten Modus zu gelangen, müssen Sie die entsprechende Taste drücken und gedrückt halten, bis der Bildschirm gelöscht wird. Nachdem Sie das Display gereinigt haben, lassen Sie die Taste los und nach einer Sekunde wechseln wir in den ausgewählten Modus.

Das Design wurde auf einem Steckbrett entwickelt und getestet; es wurde nicht in Hardware zusammengebaut.
Es gab viele Kommentare darüber, dass das Gerät nicht funktionierte und die Leiterplatte nicht mit dem Schaltplan übereinstimmte.
Es wurde beschlossen, das Gerät in Hardware neu zu erstellen.
Nachfolgend finden Sie Fotos des zusammengebauten Geräts gemäß der auf dieser Seite veröffentlichten Schaltung, Leiterplatte und Firmware.
Das Gerät funktionierte sofort, es konnten keine Probleme beobachtet werden.
Die Leiterplatte wird im LUT-Verfahren hergestellt. Aufgrund eines Fehlers bei der Installation der Mikroschaltungen auf der Platine mussten diese entlötet und neu angeordnet werden (und in der alten Frau ist ein Loch), was zu Schäden an den Leiterbahnen führte und dadurch das Erscheinungsbild nicht sehr gut ist gut, Jumper P2 ist auf der Seite der Leiterbahnen montiert (keine Löcher gebohrt), der DS1-Sensor ist mit einem ca. 1 Meter langen Kabel verbunden (so dass er sich in einer Höhe von ca. 30 cm über dem Boden befindet, der DS2 Der Sensor wird mit einem 5 Meter langen Kabel aus dem Fenster geführt. Die Anschlüsse zum Anschluss der Sensoren stammen von den Kühlern alter Computer.

Es gab ein Problem: Der RTC DS1307 startete nicht sofort, der Grund war Kolophonium zwischen den Quarzstiften. Nach dem Waschen des Bretts begann die Uhr zu funktionieren.

(10,8 KiB, 1.990 Treffer)

(27,3 KiB, 1.471 Treffer)

(390,1 KiB, 1.288 Treffer)

(51,7 KiB, 2.476 Treffer)

Von YandexDisk herunterladen (zusätzlich - Datenblätter auf Russisch)

Im Online-Shop der Website können Sie alle notwendigen Teile zum Zusammenbau eines „Zweikanal-Thermometers, Uhr auf ATmega8, DS18B20, Ds1307“, einschließlich eines programmierten Mikrocontrollers, bestellen