33

Horloge-calendrier-thermomètre sur ATMega8

Je veux introduire une autre montre avec un thermomètre sur le microcontrôleur. L'appareil est basé sur un microcontrôleur ATMEL de la série AVR – ATMega8. Le microcontrôleur fonctionne avec une puce en temps réel DS1307 et un capteur de température numérique DS18B20.

La puce DS1307 est une horloge économique en temps réel avec une interface série, qui contient une horloge de calendrier avec des informations en code décimal binaire et 56 octet de RAM statique non volatile. L'adresse et les données sont transmises sur un bus série bidirectionnel à deux fils. Les informations en temps réel et de calendrier sont affichées en secondes minutes, regarder, en bas, la date, mois et année. Si le mois en cours contient moins de 31 du jour, alors la puce déterminera automatiquement le nombre de jours dans un mois, en tenant compte de la hauteur de l'année en cours. La montre fonctionne au format 24 heures ou 12 heures avec un indicateur AM / PM (après-midi / après-midi). Le DS1307 contient un circuit intégré pour contrôler le niveau de la source d'alimentation principale et, lorsque sa valeur n'est pas valide, il passe automatiquement à la batterie de secours.

Capteur DS18B20 - Thermomètre numérique à résolution programmable, par 9 jusqu'à 12 bits, qui peut être stocké dans la mémoire EEPROM de l'appareil. Le DS18B20 communique sur un bus 1 fil et peut être le seul appareil sur la ligne., et travailler en groupe. Tous les processus sur le bus sont contrôlés par un microprocesseur central..

Plage de mesure de –55 ° C à + 125 ° C et précision de 0,5 ° C dans la plage de –10 ° C à + 85 ° C. En plus, DS18B20 peut être alimenté par la tension de la ligne de données («Pouvoir parasitaire»), en l'absence d'une source de tension externe.

L'indication est implémentée sur un écran LED à sept segments avec une anode commune. Un diagramme schématique d'une horloge de thermomètre est montré dans la figure..

circuit d'horloge

Horloge thermomètre. Schéma du circuit

En appuyant brièvement sur le bouton S1, les chiffres clignotent alternativement pour régler l'heure et la date. Pour ce faire, utilisez les boutons S2 et S3 (“+” et “-” en conséquence). Lorsque vous appuyez sur le bouton S3, l'écran affiche la température ambiante.

1

Horloge thermomètre. Indication de l'heure

Ainsi, en mode normal, l'appareil affiche alternativement l'heure et la date. Et lorsque vous appuyez sur le bouton S3 affiche la température. Au début de chaque heure, la montre émet un bip bref.

La précision de la montre dépend principalement du quartz utilisé.. J'ai une erreur de temps d'environ deux secondes par mois (pressé).

Les accessoires “Horloge-calendrier-thermomètre sur ATMega8” assemblé sur deux circuits imprimés (voir. photo).

3 4 5 6 7À l'avenir, l'appareil sera amélioré, des fonctions d'alarme et de minuterie seront ajoutées.

Fusion pour le firmware du microcontrôleur:

1Archive du projet (cartes de circuits imprimés, firmware, source):
Firmware et PCB;

Attention! Il existe un travail scientifique sur ce projet écrit en 25 pages (en ukrainien). La conception est idéale pour une thèse ou un mémoire. télécharger le contenu.

Contact avec l'auteur

33 commentaires

  1. dis moi, dont deux indicateurs à retirer pour que vous puissiez regarder l'heure et la température

    • Sans deux indicateurs, regarder la température et le temps ne fonctionneront pas. La température est affichée sur les deux derniers indicateurs. Voir. image.

  2. S'il te plait dis moi, où puis-je obtenir le code source du firmware?
    J'adorerais finaliser la fonctionnalité de la montre.
    Je vous remercie!

    • Source jointe à la fin de l'article.
      Nous attendons un firmware avec une nouvelle fonctionnalité d'appareil. Bonne chance!

  3. Bonjour Uw admin. Est-il possible de firmware avec une cathode commune. J'ai collecté selon votre projet mais sans thermomètre sur de grandes LED. fonctionne bien secondes par secondes mais la date change de façon aléatoire, sur ce que je voulais courir avec ce firmware

  4. J'ai demandé. Oeuvres, mais les nombres sont affichés en négatif.
    à savoir. là, où les segments doivent briller – ils ne brillent pas, et ceux qui brillent, qui ne doit pas briller.
    par exemple, au lieu de “1” brille “Et bien”, au lieu de “8” – rien.
    Comment guérir?

      • Indicateurs 1.8″ avec OA.
        Segments connectés à MK via ULN2803.
        Transistors anodiques BC557 (PNP).

        • Sans ULN2803, normalement affiché?
          Avec ULN2803, changez les transistors en une autre structure.

          • Sans ULN2803, les chiffres s'affichent correctement.
            Avec transistors ULN2803 et 2N3904 (NPN), émetteurs commutés aux anodes des indicateurs, image disgracieuse (la luminosité baisse une fois par 8-10, les chiffres de changement ne peuvent pas être analysés).
            Il est possible de changer le code pour fonctionner avec les transistors ULN2803 et PNP?
            Et bien plus, indication scintillement (10 secondes – temps, 4 secondes – date, et ainsi de suite en cercle) très fatigué.
            Je voudrais le désactiver, et, si nécessaire, afficher la date avec le bouton.
            Je ne suis moi-même pas du tout fort pour écrire et éditer le code..
            Le seul espoir pour ceux qui savent et savent comment.

  5. Et la date de la température est recherchée uniquement en appuyant sur le bouton ou la recherche automatique ?

    • Indication scintillement (10 secondes – temps, 4 secondes – date) – recherche automatique.
      La température – du bouton.
      L'heure et la date sont affichées en mode dynamique, et température – en statique.
      la “fer” ça a l'air sauvage:
      – afficher la luminosité aux heures de sortie de la température 3 au dessus, que lors de l'affichage de la date et de l'heure.
      – la température est affichée d'une manière étrange: pas toute la rangée en même temps, type 20C, et sur 1 chiffre en chiffres à son tour, au début 2, alors 0, puis C et l'icône de degré (2->0->C->icône de degré.
      en général, L'impression du firmware est sombre.

  6. Bonjour. Euh. l'auteur, pourriez-vous partager la source du schéma pour proteus?

  7. Bonjour. Dites-moi s'il est possible d'utiliser des indicateurs LED de 26 mm par 45 mm dans ce circuit –
    E11801-G-UR3-8-W et quels changements apporter dans ce cas. Je vous remercie.

    • Votre indicateur E11801-G-UR3-8-W avec une anode commune, alors il peut être utilisé dans le circuit. Et comme il s'agit d'un seul chiffre, alors vous devez faire la disposition du PCB selon la fiche technique sur E11801-G-UR3-8-W.

      • Je vous ai posé une question sur cet indicateur à propos du fait que le circuit ne fonctionne pratiquement pas. S'allume
        010110. Et le voyant est très faible. J'ai fait ma planche selon le schéma ci-joint. Et après avoir expliqué que même avec ce grand indicateur, cela devrait fonctionner. J'ai regardé vos fichiers .lay tout le monde n'a pas regardé, et a trouvé un décalage. Dans le circuit, les émetteurs sont alimentés +5 , et une alimentation négative est fournie au fichier .lay. Où est l'erreur? Merci d'écrire.

  8. Bonjour !
    Ou peut-on adapter un thermomètre numérique pour un chauffe-aquarium ???
    Au travail, une horloge ordinaire sur IK1901 est assemblée , mais ils ne peuvent qu'allumer et éteindre la lumière .

  9. J'ai fait une planche selon votre schéma en utilisant les indicateurs E11801-G-UR3-8-W. Indications que je n'ai pas vraiment atteintes, s'allume 03 01 15. Peut-être la date. Et les indicateurs brillent à peine. Même dans le noir faiblement. Que chercher pour une raison?

  10. Une autre question sur l'indicateur E11801-G-UR3-8-W. Lorsque j'ai appliqué plus de cinq volts aux indicateurs, la luminosité de la lueur a augmenté. Dans le même temps, des segments qui ne brillaient pas auparavant. Il devrait en être ainsi? Sinon, pourquoi cela peut-il arriver.

  11. Je ne comprends pas ce qu'est le circuit avec une anode commune. Et la carte pour une cathode commune. Comment tout assembler en tas. Le joint et le micrologiciel correspondent à quel circuit,,

  12. Bonjour. Dans le commentaire ci-dessus, vous avez écrit que ce projet n'a pas été développé dans le proteus. Il y a une telle base élémentaire dans le proteus. Et le circuit là-bas ne fonctionne pratiquement pas. Quelle est la raison ici.

  13. Il est possible de faire en sorte que seules les heures sans date soient affichées.

  14. Faire sa montre. Deux questions:
    – il y a un nouveau firmware pour les indicateurs avec OA?

    – Puis-je flasher le contrôleur dans le programme prog poney en utilisant l'image avec des fusibles donnée dans l'article?

    Je vous remercie!

  15. Mon premier message est en attente de vérification. J'y ajouterai mon avis sur cet article.. Il semble que l'article ait été écrit pour être. Circuit d'anode commun, chevalière appliquée avec une cathode commune. Correction du sceau- l'horloge a fonctionné pendant cinq minutes. Le fer va bien. De tous les commentaires, je ne comprenais pas qui avait gagné ce régime. Vraiment personne n'a mis à jour le firmware? Dans l'archive, le firmware pour quelles heures? Il existe deux fichiers .her et .rom. Contrôleur Flash et EEPROM? Désolé pour le temps passé.

  16. L'horloge a encore commencé. Les impressions sont médiocres. Ce qui est dans le rouge:
    – les chiffres brûlent assez sombres;
    – pour afficher la température, appuyez sur le bouton n ° 3;
    – changement de date- heures toutes les 10 secondes;
    – plus de firmware réussi.
    Pour un usage quotidien, je ne partirai probablement pas- pas de glace!

    • comment courir?ma lueur 01.01.10 et ils ne veulent pas y aller. Les résistances de pull-up sont passées à 4.7k le résultat est le même. c'est une sorte de jambage dans le firmware,sans flash ds1307 65.65.65

Laisser un commentaire

Votre adresse email ne sera pas publiée.