LA CLOCHE

Il y a ceux qui ont lu cette nouvelle avant vous.
Abonnez-vous pour recevoir les derniers articles.
Email
Nom
Nom de famille
Comment voulez-vous lire The Bell
Pas de spam

Horloge simple sur matrices LED. De nombreux radioamateurs, débutants et non seulement aiment "réinventer la roue" - pour construire leur propre horloge électronique. Ce sort ne me passa pas non plus. Il existe certainement de nombreux modèles d'horloge sur Internet aujourd'hui, mais pour une raison quelconque, il n'y a que quelques horloges sur des matrices LED parmi elles. Sur Internet russophone, je n'ai trouvé qu'une seule construction complètement terminée et décrite. Dans le même temps, les matrices LED sont désormais beaucoup moins chères et leur coût n'est ni plus élevé, ni même inférieur à celui de indicateurs à sept segments la même taille. Par exemple, le GNM23881AD utilisé par moi à une taille de 60x60mm a été acheté pour 1,5u (3 indicateurs coûtent 4,5u), pour cet argent, vous pouvez difficilement acheter quatre appareils à sept segments de la même taille. Mais il y a beaucoup plus d'informations qui peuvent être placées sur l'indicateur matriciel. En plus des chiffres, ils peuvent afficher des lettres, des signes et, à l'aide d'une ligne rampante, du texte.

Sur cette base, il y avait un désir de construire une horloge sur des matrices LED, mais pour que le circuit ne se révèle pas plus compliqué que sur des appareils à sept segments. Je voulais aussi qu'il soit suffisamment fonctionnel et pas comme les autres. C'est ainsi qu'est né le schéma suivant.

La fonctionnalité de la montre est la suivante:

  • Compte à rebours, calendrier, jour de la semaine. (l'année bissextile est prise en compte, aucune heure d'été n'est appliquée).
  • Faire fonctionner l'horloge en cas de coupure de courant (la consommation est de 15 μA).
  • Correction de course + - 59,9 s / jour, par incréments de 0,1 s. 9 réveils. Dont 3 "jetables", et 6 "permanents", réglables individuellement selon le jour de la semaine.
  • Durée du signal sonore configurable individuellement pour chaque réveil (1-15 min).
  • Confirmation sonore de l'appui sur les boutons (peut être désactivé).
  • À l'heure signal sonore (il est possible de désactiver).
  • De 00h00 à 08h00, aucun signal n'est donné.
  • 1 ou 2 capteurs de température (rue et maison).
  • Ligne rampante personnalisable à travers laquelle toutes les informations sont affichées (sauf l'heure)
  • La valeur de la correction de course et les réglages de la "ligne rampante" sont enregistrés même en cas de perte de l'alimentation de secours.

AtMega16A a été choisie comme «cœur» de la montre, en raison de sa disponibilité, de son bon marché et de ses «jambes». Je voulais simplifier le circuit autant que possible, donc tout ce qui était possible était attribué au contrôleur. En conséquence, nous avons réussi à nous débrouiller avec seulement deux microcircuits, un contrôleur et un registre TPIC6B595. Si TPIC6B595 n'est pas disponible pour quelqu'un, vous pouvez le remplacer par 74HC595 + ULN2803. Les deux options ont été essayées. Vous pouvez également essayer d'utiliser TPIC6С595, il est un peu faible et réchauffé un peu, mais dans l'ensemble, cela a fonctionné de manière stable. Le temps est compté à l'aide d'une minuterie asynchrone - T2. L'horloge continue de fonctionner même lorsque l'alimentation est coupée. À ce moment, la majeure partie du circuit est hors tension et le contrôleur est alimenté par une batterie, un accumulateur ou un supercondensateur. J'étais intéressé à jouer avec le supercondensateur, alors je l'ai utilisé. La consommation de courant pendant des heures en mode veille est de 15 μA. Lorsqu'elle était alimentée par un supercondensateur 1F, la montre durait quatre jours. Ceci est suffisant pour maintenir l'alimentation pendant les pannes de courant. Si vous utilisez une batterie CR2032, alors théoriquement, selon les calculs, la charge devrait être suffisante pour 1,5 an. Le contrôleur «écoute» la présence de tension secteur via la broche PB.3 Cette broche est l'entrée inverseuse du comparateur. La tension d'alimentation, via le diviseur R2-R3, est fournie à la broche PB.3, et dans l'état normal est d'environ 1,5V. Si la tension externe chute en dessous de 4,1 volts, la tension à la broche PB.3 deviendra inférieure à 1,23 volts et une interruption du comparateur sera générée, et tous les nœuds de contrôleur «supplémentaires» sont désactivés dans le gestionnaire d'interruption et le contrôleur lui-même est mis en veille. Dans ce mode, seule la minuterie T2, comptant le temps, continue de fonctionner. Lorsqu'une alimentation externe apparaît, la tension sur PB.3 augmentera à nouveau au-dessus de 1,23v, le contrôleur "voyant" cela, transférera tous les nœuds dans un état de fonctionnement. Si au lieu d'un supercondensateur, une pile CR2032 est utilisée, elle doit être connectée via une diode (de préférence une diode Schottky). L'anode de la diode est reliée à la batterie +, et la cathode à la cathode VD1. DANS mode normal l'heure est affichée à l'écran au format heure-minute. Avec un intervalle d'une minute, la ligne rampante commence. Le jour de la semaine, la date, l'année, le rythme sont affichés sous forme de ligne courante. maison et rythme. dans la rue. La ligne rampante est personnalisable, c'est-à-dire vous pouvez activer / désactiver l'affichage de n'importe lequel des éléments. (par exemple, je désactive toujours l'affichage de l'année). Lorsque vous désactivez tous les éléments, la ligne de défilement ne démarre pas et l'horloge affiche constamment l'heure actuelle. 9 alarmes sont divisées en 3 jetables et 6 réutilisables. Lorsque vous activez les alarmes 1 à 3, elles ne fonctionnent qu'une seule fois. Pour qu'ils fonctionnent à nouveau, ils doivent être réactivés manuellement. Et les alarmes 4-9 sont réutilisables, c'est-à-dire ils seront déclenchés quotidiennement à l'heure fixée. De plus, ces alarmes peuvent être réglées pour sonner uniquement certains jours de la semaine. Ceci est pratique, par exemple, si vous ne voulez pas que l'alarme vous réveille le week-end. Ou, par exemple, vous devez vous réveiller jours de la semaine à 7h00, et le jeudi à 8h00, et le week-end, un réveil n'est pas nécessaire. Ensuite, nous en installons une réutilisable à 7h00 du lundi au mercredi et le vendredi, et la deuxième à 8h00 le jeudi ... De plus, toutes les alarmes ont un réglage de durée du signal, et si vous n'avez pas de signal pendant 1 minute pour vous réveiller , vous pouvez alors l'augmenter pendant une durée de 1 à 15 minutes. Le cours est corrigé une fois par jour, à 00h00. Si l'horloge est pressée, par exemple de 5 secondes par jour, alors à 00-00-00 l'heure sera réglée à 23-59-55, si l'horloge est en retard, alors à 00-00-00 l'heure sera réglée à 00-00-05. Étape de correction - 0,1 sec. La correction maximale est de 59,9 s / jour. Avec du quartz utilisable, il n'est plus nécessaire. La correction est également effectuée en mode veille avec alimentation par batterie. Les matrices de LED peuvent utiliser n'importe quelle LED à cathode 8 * 8 commune. Comme déjà indiqué, j'ai utilisé GNM23881AD. En principe, vous pouvez "composer" la matrice à partir de LED individuelles. Le microcontrôleur AtMega16a peut être remplacé par «l'ancien» AtMega16 avec la lettre L. Dans ce cas, théoriquement, la consommation de courant de la batterie devrait augmenter légèrement. Probablement seulement AtMega16 fonctionnera, mais des problèmes peuvent survenir lors de l'utilisation de la batterie. Diode D1 - de préférence n'importe quelle diode Schottky. Il fonctionne également avec un redresseur conventionnel, mais afin de se protéger des divers pépins liés au fait qu'une partie du circuit est alimentée par la tension «avant la diode», et la partie «après la diode», il vaut mieux chercher Schottky. Transistor VT1 - tout n-p-n... La montre est contrôlée par deux boutons. Leur nombre pourrait être augmenté à 8, sans ajouter aucun composant, à l'exception des boutons eux-mêmes, mais je voulais essayer de "sortir" avec seulement deux. Les boutons sont appelés par convention "OK" et "STEP". Le bouton "STEP" permet généralement de passer à l'élément de menu suivant et le bouton "OK" modifie les paramètres du menu actuel. Le signal d'un réveil déclenché est également désactivé en appuyant sur les boutons «OK» ou «STEP». Appuyez sur n'importe quel bouton pendant que l'alarme sonne pour la désactiver. Le schéma de contrôle s'est avéré comme ceci:

Vidéo comment tout fonctionne!






  • DS18b20).
  • Deuxième option, DS18b20).

Affichage défilant - date, mois, année et jour de la semaine.

Schéma général.


- Lorsque vous appuyez sur Kn2 Kn2


Kn1Kn3 Kn2


UA-EN-RU .


ds 18 b 20 n ° 1 ou n ° 2.

Des solutions de circuits sont possibles, avec des options de combinaison pour connecter des capteurs, ci-dessous sont des exemples d'options avec lesquelles ce programme fonctionnera correctement.

L'horloge Horloge + RF Horloge + RF + ds18b20



Montre + ds18b20 (2pcs.) Montre + ds18b20 Émetteur RF



Circuit Proteus

firmware du chargeur de démarrage ATmega328.)


FUSE, si quelqu'un utilise le programmeur ICSP pour le firmwareATmega328 dans ce circuit.

Avec des cavaliersJp -1, Jp -2, Jp RF

1 seconde.

2 sec.

4 sec.

8sec.

16 sec.

32 sec.

64sec.

128sec.

Jp -1

Jp -2

Jp -3

FUSIBLE, ATtiny24a sont installés sur l'oscillateur interne MK - 8 MHz.



dans les archives.

Capteur radio pour horloge matricielle, alimenté par batterie, circuit et firmware dans le forum.

DS18b20, RTCDS1307, capteur de lumière, boutons de commande, ensembleRF -modules, et une alimentation 5 volts (la consommation du circuit aux moments de pointe, à la luminosité maximale, peut atteindre 0,6 A et en moyenne 0,3 A, vous pouvez également utiliser un supplément à partir d'un téléphone portable, si disponible avec des paramètres appropriés)).
Quel est l'intérêt de l'applicationArduino Nano Atmega328.
Le fait qu'il y ait déjà un modem à bord avec une sortie mini USB, vous pouvez facilement flasher un tel contrôleur via le bootloader, en utilisant votre ordinateur et un cordon téléphonique pour le charger téléphone portable avec un connecteur mini USB.
Tout cela se fait facilement à l'aide d'un programme simpleXLoader.
Un peu plus de détails sur l'expérience du micrologiciel via le chargeur de démarrage, décrit ici " Nano volt - ampèremètre 2 canaux. ".
Si vous le souhaitez, tous les modules nécessaires peuvent être prix avantageux acheter sur Aliexpress.

Matrice de points MAX7219

Nano Atmega328

DS1307

DS18b20

Capteur de lumière

Source de courant

Après la commande, un peu de patience jusqu'à ce que toutes ces pièces arrivent par la poste, et vous pouvez être assuré d'assembler ce schéma très intéressant avec une horloge et un thermomètre.


En général, avec une base élémentaire, je pense qu'il ne devrait pas y avoir de questions, tout est standard ici.


La conception de l'affichage du type de fonctionnement de l'horloge - un thermomètre, est déjà une version amateur.
Le programme propose trois options pour la conception de l'horloge du thermomètre.

  • La première option est d'afficher en alternance l'heure (heures et minutes), la température extérieure et la température ambiante (deux capteursDS18b20).

Affichage défilant - date, mois, année et jour de la semaine.

  • Deuxième option, affichage de l'heure (heures et minutes), de la température ambiante (un capteurDS18b20).

Affichage défilant - date, mois, année et jour de la semaine.

  • La troisième option, juste les heures, l'affichage de l'heure (heures et minutes),

affichage défilant - date, mois, année et jour de la semaine (l'affichage de la température est désactivé).

En fait, les différences entre les options sont faibles et ne résident que dans les différences d'affichage de la température sur l'affichage matriciel de l'horloge du thermomètre, presque toutes les options peuvent être demandées.


Schème.


- Trois boutons de commande sont utilisés dans le schéma, avec une courte pression sur ces boutons, nous appelons une fois la rotation des lectures sur l'horloge de l'écran principal - date - jour de la semaine - température.


- Lorsque vous appuyez sur Kn2 plus de 2 secondes, vous entrez dans le menu des réglages (dans le menu, appuyez sur Kn2 plus de 2 secondes, quittez le menu de configuration).


- Après être entré dans le menu, utilisez les boutons Kn1Kn3la date et l'heure peuvent être corrigées, le déplacement dans le menu est effectué Kn2 , le paramètre modifié sera en lumière inverse.


- Toujours dans le menu, il est possible, si nécessaire, de régler la correction de l'imprécision de l'horloge, en un jour ± 9 sec.


- L'élément suivant dans le menu sera, c'est le choix de la langue utilisée, un firmware prévoit l'utilisation des langues UA-EN-RU .


- Un élément de l'option animation à l'écran, l'un des trois qui est décrit au début de l'article.


- Capteur radio, lorsque la valeur est "0", le capteur radio n'est pas utilisé dans le programme, lorsque vous sélectionnez 1 ou 2, les lectures de température du capteur radio auront lieu sur l'écran, au lieu deds 18 b 20 n ° 1 ou n ° 2.

Photo d'une horloge en cours de débogage sur une maquette.

Circuit Proteus

Schéma de l'émetteur pour cette montre.

Avec des cavaliersJp -1, Jp -2, Jp -3, sélectionnable, fréquence de transmissionRF -module de paquets d'informations avec température du capteur n ° 3.

1 seconde.

2 sec.

4 sec.

8sec.

16 sec.

32 sec.

64sec.

128sec.

Jp -1

Jp -2

Jp -3

(1 - cavalier fermé, 0 - non)

Circuit imprimé pour horloge et capteur radio.

FUSE pour que ATmega328 fonctionne avec le chargeur de démarrage (archiver avec firmware du chargeur de démarrage ATmega328.)

FUSE si quelqu'un va utiliser un programmeur ICSP pour flasher un ATmega328 dans ce circuit.

Firmware "Horloge - thermomètre sur modules matriciels", circuits imprimés, proteus, dans l'archive.

Cette ligne rampante vous permet de lire du texte jusqu'à 8 192 lettres, espaces compris.Le texte est entré dans la mémoire de lignes rampantes 24C64 à l'aide du clavier de l'ordinateur sans connecter l'ordinateur lui-même. Lors de la saisie de texte, il est possible d'effacer des lettres à l'aide de la touche (Retour arrière) tout en observant cette action de suppression de lettres sur le tableau de bord.

Il est possible de régler la vitesse des lettres à l'aide des deux touches à côté des chiffres du clavier (+ et -). La vitesse de la ligne en cours d'exécution est enregistrée dans la toute dernière cellule de mémoire du 24C64, donc lorsque vous l'allumez pour la première fois sans ajuster la vitesse, les lettres fonctionneront lentement et vous devez donc effectuer le premier réglage. La vitesse de défilement varie considérablement lors du réglage du nombre d'enregistrement dans la dernière cellule des nombres 24C64 de 1 à .30 en décimal ou hexadécimal1..1E, ce qui peut être vérifié à l'aide du programmateur PICKIT2, mais ce n'est pas nécessaire.

La mémoire de ligne contient un générateur de caractères qui a en mémoire tout l'alphabet des lettres russes en majuscules et minuscules, ainsi que certains caractères et tous les nombres.

Indication de ligne dynamique ligne par ligne composée de 8 lignes qui sont éclairées de haut en bas tour à tour 300 fois par seconde tout le cycle de 8 lignes est exécuté, ce qui vous permet d'observer l'image sans scintillement.

Les microcircuits de la carte 74NS595 jouent le rôle d'allumage de l'horizontale de l'afficheur ou d'une rangée de 160 LED, et les transistors permettent de changer l'horizontale ou les rangées de haut en bas tour à tour, c'est-à-dire que l'afficheur est allumé ligne par ligne de haut en bas tour à tour à une vitesse de 300 images par seconde.

Le microcircuit 74NS595 lui-même est un registre à décalage normal avec la sortie de chaque registre vers la matrice LED, mais il y a une grande matrice NO avec les registres qui sont connectés non pas directement, mais à travers les registres qui fixent l'état logique.

Pourquoi est-ce nécessaire? Ceci est nécessaire pour l'instant chargement en cours des registres à décalage MK dans une chaîne de l'un à l'autre avec chaque signal d'horloge à la broche 11 et en même temps, il a été observé sur des matrices de LED, dont nous n'avons pas du tout besoin, car l'image était éclairée par des LED aux mauvais endroits. Par conséquent, des registres de verrouillage supplémentaires bloquent la sortie d'informations vers les matrices pendant le chargement des données et ne sont mis à jour qu'après l'apparition du signal d'horloge aux bornes 12, menant des registres à décalage aux données de verrouillage, et le verrouillage est transmis aux matrices.

Les données de la carte qui crée l'image entière de la ligne proviennent du MK de la broche 34 à l'entrée du registre 14 du microcircuit 74HC595 du premier microcircuit 74HC595 au second, les données sont transmises de la sortie 9 à l'entrée 14 et ainsi de suite le long de la chaîne jusqu'au 20 dernier microcircuit.

Je le répète, les données se déplacent à chaque cycle d'horloge à l'entrée 11 de tous les microcircuits 74HC595 le long de la chaîne vers le dernier microcircuit 74HC595 et après le chargement des 20 microcircuits, une horloge apparaît sur la broche 12 des registres de verrouillage, mettant ainsi à jour l'image de la ligne entière, et non l'affichage complet de la carte. Les lignes sont mises à jour chaque fois qu'elles passent à une ligne inférieure.

Lors de l'assemblage du tableau de bord, il est très pratique de fabriquer des tableaux à partir de deux matrices 8x8 ou pour que le tableau contienne deux matrices chacune avec la possibilité d'augmenter le nombre de tableaux, en connectant le premier tableau d'affichage à la carte microcontrôleur, vous pouvez vous assurer qu'il fonctionne sans le reste des tableaux d'affichage et seulement après cela, vérifiez les tableaux suivants, donc ce sera il est plus facile de rechercher les défauts et les boursouflures lors de la soudure.

Pour vérifier le premier panneau d'affichage, vous devez connecter le clavier à la carte MK, mettre sous tension, appuyer sur une ou plusieurs lettres, donner la commande de fin de ligne, que le texte est entré en appuyant sur la touche ENTRÉE, puis la ligne fonctionnera à faible vitesse, car la vitesse de fonctionnement doit également être ajustée en appuyant sur la touche jusqu'à ce que la constante de 5..1E soit écrite sous forme hexadécimale dans la mémoire 24C64.

Si vous n'avez pas besoin d'une chaîne d'une si grande longueur composée de 20 matrices 8x8, alors je peux vous envoyer le firmware avec un nombre plus petit de 2 à 19, cela se fait simplement et rapidement je vous enverrai une lettre avec le firmware mon adresse est evgen100777 (sobaka) rambler.ru.

Les cartes d'affichage sont divorcées pour des matrices de 6x6 centimètres de lueur rouge avec le marquage QFT 2388ASR.La carte microcontrôleur est faite avec la condition de moderniser l'ajout d'une horloge et d'une ligne de thermomètre, mais comme le firmware de ce boîtier n'est pas terminé, je ne recommande pas d'ajouter des boutons afin de ne pas brûler le port MK.

Boutons de commande.

(Décalage) - le bouton pour passer aux grandes lettres, en appuyant dessus et en relâchant la lettre est enfoncé et une lettre majuscule s'affiche à l'écran si vous appuyez sur la lettre suivante sans appuyer d'abord sur Shift, une petite lettre s'affiche, c'est-à-dire qu'avant chaque entrée d'une majuscule, vous devez appuyer et relâcher Shift.

(+ et - ) - ces touches fonctionnent lorsque vous activez la ligne de défilement avant de taper et ajustez la vitesse de déplacement des lettres sur le tableau de bord + augmente la vitesse diminue la vitesse à laquelle les lettres se déplacent.

Retour arrière- la touche pour effacer le texte pendant la saisie, ne fonctionne qu'en mode de saisie, affichant la lettre supprimée à l'écran en déplaçant le texte vers la gauche.

Entrer cette touche commence à exécuter la ligne après la saisie, indiquant la fin du texte dans la mémoire 24C64 et indique que vous devez commencer à exécuter la ligne depuis le début à partir de cet endroit dans le texte.

Pour un nouvel ensemble de texte, la ligne rampante doit être désactivée puis réactivée avec le clavier connecté, sélectionnez la vitesse d'exécution du texte avec les touches plus et moins, et lorsque vous cliquez pour la première fois sur une lettre, le tableau de bord est effacé avec l'affichage sur le côté droit de la ligne de la première lettre, lors de la saisie, il se déplace vers la gauche, puis la touche Entrée est enfoncée et la ligne passe en mode exécution sans répondre au clavier.

Pour ressaisir le texte, n'oubliez pas d'activer et de désactiver la ligne.

Ligne rampante avec horloge, calendrier et saisie sur clavier PS / 2

La ligne de défilement montre l'heure heures minutes secondes jour en chiffres, et le mois et le jour de la semaine en mots par exemple HEURE 12.30.10 20 JANVIER MERCREDI.

Exactement la même ligne rampante avec la saisie sur le clavier n'a qu'une horloge avec un calendrier. Dans cette ligne, vous ne pouvez pas modifier le nombre de matrices LED, car toutes les 20 sont impliquées dans le réglage de l'heure de la date et du mois et du jour de la semaine.

Lors de la saisie, appuyez sur la touche CTRL gauche pour insérer une horloge avec un calendrier dans le texte d'analyse. Cette ligne a toutes les mêmes fonctions que les lignes précédentes sur les PIC16F628 et PIC16F877 et est contrôlée de la même manière.

Pour régler l'heure, vous devez appuyer sur le bouton de sélection sur la carte avec le microcontrôleur, et la carte de réglage de l'heure apparaît, les secondes commencent à clignoter en appuyant sur le bouton de changement, les secondes sont remises à zéro. Appuyez à nouveau sur le bouton de sélection, les minutes commencent à clignoter en appuyant sur le bouton de changement, nous augmentons les minutes, de même avec l'horloge, la date, le mois et le jour de la semaine.

Dans les paramètres d'heure, le jour de la semaine et le mois sont affichés sous forme de nombres.

Voici un circuit légèrement modifié de cette ligne, deux boutons ont été ajoutés avec des résistances de rappel pour changer l'heure et un quartz d'horloge à 32768 Hz et une autre résistance tirant vers le haut l'entrée du contrôleur responsable de la saisie du clavier.

Pour un fonctionnement plus stable, il est préférable d'alimenter le PIC16F877 via une résistance de 11 ohms de 0,25 W à l'alimentation positive afin de réduire le bruit provenant des transistors qui commutent les lignes de l'affichage.

Ligne rampante avec une horloge et un thermomètre pour la rue et à la maison.

La ligne rampante fonctionne sur les capteurs DS1820 et indique la température dans la maison et dans la rue en insérant une ligne rampante dans le texte de l'affichage des lectures sur l'écran.

Les lectures sont affichées sous la forme de l'inscription TEMPÉRATURE MAISON 25.2 RUE -12.4 Les lectures de température ont un indicateur inférieur sous la forme d'un dixième de degré.

Pour insérer un thermomètre dans le texte, appuyez sur la touche ALT gauche sur clavier d'ordinateurconnecté à la ligne rampante.

La plage de température du thermomètre affichée est de -55 à 99 degrés, mais il n'est pas recommandé de chauffer le capteur au-dessus de 70 degrés afin d'éviter de l'endommager.

La longueur du fil allant au capteur à l'extérieur ne doit pas dépasser 4 mètres.

Il existe un firmware avec trois lettres ukrainiennes.
Le signal d'alarme est supprimé comme un journal 0 pendant le signal de la broche 38 de PIC16F877

Liste des radioéléments

La désignation Un type Dénomination montant RemarqueButMon cahier
Schéma 1
IC MK PIC 8 bits

PIC16F877

1 Dans le bloc-notes
IC1 Puce mémoire24C641 Dans le bloc-notes
IC2, IC3 Registre à décalage

CD74HC595

20 Dans le bloc-notes
VT1-VT8 Transistor bipolaire

BD140

8 Dans le bloc-notes
C1, C2 Condensateur100 nF2 Dans le bloc-notes
C3, C4 Condensateur15 pF2 Dans le bloc-notes
C5 Condensateur3,3 nF1 Dans le bloc-notes
R1-R16, R18, R19, R21-R24, R30, R31 Résistance

330 ohms

24 Dans le bloc-notes
Résistance

330 ohms

144 Dans le bloc-notes
R26, R27 Résistance

5,1 k Ohm

2 Dans le bloc-notes
R28, R29 Résistance

4,7 k Ohm

2 Dans le bloc-notes
Cr1 Résonateur à quartz20 000 MHz1 Dans le bloc-notes
Matrice LED8x820 Dans le bloc-notes
ConnecteurPS / 21 Dans le bloc-notes
Schéma 2
IC MK PIC 8 bits

PIC16F877

1 Dans le bloc-notes
IC1 Puce mémoire24C641 Dans le bloc-notes
Registre à décalage

CD74HC595

20 Dans le bloc-notes
Transistor bipolaire

BD140

8 Dans le bloc-notes
C2 Condensateur100 nF1 Dans le bloc-notes
C3, C4 Condensateur15 pF2 Dans le bloc-notes
C5 Condensateur3,3 nF1 Dans le bloc-notes
C6, C7 Condensateur33 pF2 Dans le bloc-notes
C8 Condensateur électrolytique47 uF1 Dans le bloc-notes
R18, R19, R21-R24, R30, R31 Résistance

330 ohms

24 Dans le bloc-notes
Résistance

330 ohms

144 Dans le bloc-notes
R26, R27, R32, R33 Résistance

5,1 k Ohm

4 Dans le bloc-notes
R29, R34, R35 Résistance

4,7 k Ohm

3 Dans le bloc-notes
R36 Résistance

11 ohms

1 Dans le bloc-notes
Cr1 Résonateur à quartz20 000 MHz1 Dans le bloc-notes
Cr2 Résonateur à quartz32768 Hz1 Dans le bloc-notes
S1, S2 Bouton horloge 2 Dans le bloc-notes
Matrice LED8x820 Dans le bloc-notes
ConnecteurPS / 21 Dans le bloc-notes
Schéma 3
IC MK PIC 8 bits

PIC16F877

1 Dans le bloc-notes
IC1 Puce mémoire24C641 Dans le bloc-notes
Registre à décalage

CD74HC595

20 Dans le bloc-notes
capteur de température

DS18B20

2





  • DS18b20).
  • Deuxième option, DS18b20).

Affichage défilant - date, mois, année et jour de la semaine.

Schéma général.


- Lorsque vous appuyez sur Kn2 Kn2


Kn1Kn3 Kn2


UA-EN-RU .


ds 18 b 20 n ° 1 ou n ° 2.

Des solutions de circuit sont possibles, avec des options de combinaison pour connecter des capteurs, ci-dessous sont des exemples d'options avec lesquelles ce programme fonctionnera correctement.

L'horloge Horloge + RF Horloge + RF + ds18b20



Montre + ds18b20 (2pcs.) Montre + ds18b20 Émetteur RF



Circuit Proteus

firmware du chargeur de démarrage ATmega328.)


FUSE, si quelqu'un utilise le programmeur ICSP pour le firmwareATmega328 dans ce circuit.

Avec des cavaliersJp -1, Jp -2, Jp RF

1 seconde.

2 sec.

4 sec.

8sec.

16 sec.

32 sec.

64sec.

128sec.

Jp -1

Jp -2

Jp -3

FUSIBLE, ATtiny24a sont installés sur l'oscillateur interne MK - 8 MHz.



dans les archives.

Capteur radio pour horloge matricielle, alimenté par batterie, circuit et firmware dans le forum.

DS18b20, RTCDS1307, capteur de lumière, boutons de commande, ensembleRF -modules, et une alimentation 5 volts (la consommation du circuit aux moments de pointe, à la luminosité maximale, peut atteindre 0,6 A et en moyenne 0,3 A, vous pouvez également utiliser un supplément à partir d'un téléphone portable, si disponible avec des paramètres appropriés)).
Quel est l'intérêt de l'applicationArduino Nano Atmega328.
Le fait que cette carte dispose déjà d'un modem avec une connexion mini USB à bord, vous pouvez facilement flasher un tel contrôleur via le chargeur de démarrage, en utilisant votre ordinateur et un cordon téléphonique pour charger un téléphone portable avec un connecteur mini USB.
Tout cela se fait facilement à l'aide d'un programme simpleXLoader.
Un peu plus de détails sur l'expérience du micrologiciel via le chargeur de démarrage, décrit ici " Nano volt - ampèremètre 2 canaux. ".
Si vous le souhaitez, tous les modules nécessaires peuvent être achetés à un prix avantageux sur Aliexpress.

Matrice de points MAX7219

Nano Atmega328

DS1307

DS18b20

Capteur de lumière

Source de courant

Après la commande, un peu de patience jusqu'à ce que toutes ces pièces arrivent par la poste, et vous pouvez être assuré d'assembler ce schéma très intéressant avec une horloge et un thermomètre.


En général, avec une base élémentaire, je pense qu'il ne devrait pas y avoir de questions, tout est standard ici.


La conception de l'affichage du type de fonctionnement de l'horloge - un thermomètre, est déjà une version amateur.
Le programme propose trois options pour la conception de l'horloge du thermomètre.

  • La première option est d'afficher en alternance l'heure (heures et minutes), la température extérieure et la température ambiante (deux capteursDS18b20).

Affichage défilant - date, mois, année et jour de la semaine.

  • Deuxième option, affichage de l'heure (heures et minutes), de la température ambiante (un capteurDS18b20).

Affichage défilant - date, mois, année et jour de la semaine.

  • La troisième option, juste les heures, l'affichage de l'heure (heures et minutes),

affichage défilant - date, mois, année et jour de la semaine (l'affichage de la température est désactivé).

En fait, les différences entre les options sont faibles et ne résident que dans les différences d'affichage de la température sur l'affichage matriciel de l'horloge du thermomètre, presque toutes les options peuvent être demandées.


Schème.


- Trois boutons de commande sont utilisés dans le schéma, avec une courte pression sur ces boutons, nous appelons une fois la rotation des lectures sur l'horloge de l'écran principal - date - jour de la semaine - température.


- Lorsque vous appuyez sur Kn2 plus de 2 secondes, vous entrez dans le menu des réglages (dans le menu, appuyez sur Kn2 plus de 2 secondes, quittez le menu de configuration).


- Après être entré dans le menu, utilisez les boutons Kn1Kn3la date et l'heure peuvent être corrigées, le déplacement dans le menu est effectué Kn2 , le paramètre modifié sera en lumière inverse.


- Toujours dans le menu, il est possible, si nécessaire, de régler la correction de l'imprécision de l'horloge, en un jour ± 9 sec.


- L'élément suivant dans le menu sera, c'est le choix de la langue utilisée, un firmware prévoit l'utilisation des langues UA-EN-RU .


- Un élément de l'option animation à l'écran, l'un des trois qui est décrit au début de l'article.


- Capteur radio, lorsque la valeur est "0", le capteur radio n'est pas utilisé dans le programme, lorsque vous sélectionnez 1 ou 2, les lectures de température du capteur radio auront lieu sur l'écran, au lieu deds 18 b 20 n ° 1 ou n ° 2.

Photo d'une horloge en cours de débogage sur une maquette.

Circuit Proteus

Schéma de l'émetteur pour cette montre.

Avec des cavaliersJp -1, Jp -2, Jp -3, sélectionnable, fréquence de transmissionRF -module de paquets d'informations avec température du capteur n ° 3.

1 seconde.

2 sec.

4 sec.

8sec.

16 sec.

32 sec.

64sec.

128sec.

Jp -1

Jp -2

Jp -3

(1 - cavalier fermé, 0 - non)

Circuit imprimé pour horloge et capteur radio.

FUSE pour que ATmega328 fonctionne avec le chargeur de démarrage (archiver avec firmware du chargeur de démarrage ATmega328.)

FUSE si quelqu'un va utiliser un programmeur ICSP pour flasher un ATmega328 dans ce circuit.

Firmware "Horloge - thermomètre sur modules matriciels", circuits imprimés, proteus, dans l'archive.


Le dispositif proposé utilise des voyants LED PSA08-11 à seize éléments avec des anodes communes. Le choix s'est porté sur eux en raison de leur faible coût, de la grande taille du symbole affiché et de leur luminosité élevée. Afin d'afficher autant d'informations utiles que possible, le texte se déplace de droite à gauche. Six lieux de familiarité affichent en alternance l'heure actuelle, la température dans la pièce, la température extérieure, la date, le jour de la semaine et le mois en mots, par exemple «18 MARS JEUDI.

L'heure est conservée par le microcircuit DS1307. Il s'agit d'une horloge en temps réel (RTC) avec un calendrier intégré. Avec la mise hors tension générale, ce microcircuit continue de fonctionner à partir d'une source de secours - une pile au lithium CR2032 avec une tension de 3 V.En l'absence d'appels externes, le courant consommé par le microcircuit DS1307 ne dépasse pas 300 nA, le décompte du temps dans ce mode peut durer jusqu'à dix ans. Le générateur d'horloge de ce microcircuit est construit à l'aide d'un résonateur à quartz externe d'une fréquence de 32768 Hz, ce qui garantit une grande précision. Le microcircuit compte les secondes, les minutes, les heures, les jours du mois (en tenant compte des années bissextiles), les mois, les jours de la semaine et les années. Son calendrier est valable jusqu'en 2100. Plus d'informations à son sujet peuvent être obtenues sur.

Pour mesurer la température dans l'appareil, des capteurs de température numériques LM75 sont utilisés, avec une erreur ne dépassant pas 2 ° С dans la plage de température de -25 à + 100 ° С. Vous trouverez plus d'informations à leur sujet dans.
Schéma d'une horloge et d'un thermomètre avec une ligne rampante illustré à la fig. 1. Toutes les fonctions, à l'exception du comptage du temps, sont exécutées par le microcontrôleur DD2 (PIC16F873A-20I / P), cadencé par un oscillateur intégré avec un résonateur à quartz ZQ2. Les touches SB1-SB5 sont conçues pour contrôler l'appareil. Lorsque leurs contacts sont ouverts, les résistances R4-R8 fournissent un niveau logique haut aux entrées correspondantes du microcontrôleur. La résistance R11 maintient un niveau élevé au réglage initial du microcontrôleur, empêchant le bruit accidentel de redémarrer le programme.

Pour alimenter l'horloge, une source de tension stabilisée de 5 V avec un courant de charge maximal d'au moins 600 mA est nécessaire. Il est connecté au connecteur XS1. La version de l'auteur utilise chargeur de téléphone portable... Condensateurs C1 et C2 - lissage, et la capacité du condensateur C1 doit être d'au moins 1000 μF.
La montre a un réveil. Son signal sonore est donné par un émetteur piézo avec un générateur intégré HA1 (HRA24AX). Selon les signaux du microcontrôleur, il est contrôlé par une touche sur le transistor VT7. En sélectionnant la résistance R18 dans le circuit de base de ce transistor, vous pouvez régler le volume sonore dans certaines limites.

Les LED rouges HL1-HL3 sont utilisées pour indiquer les modes de fonctionnement. Leur luminosité est modifiée en sélectionnant les résistances R15-R17.
Pour programmer le microcontrôleur installé sur la carte, il y a un connecteur XP1 dessus. Pendant la durée de cette opération, un programmeur y est attaché, par exemple PICkit2, EXTRAPIC ou autre similaire. Ce connecteur n'est pas nécessaire dans un appareil sous tension. Il peut être omis si le microcontrôleur est programmé dans le panneau du programmateur avant le montage sur la carte.


La programmation du microcontrôleur consiste à charger le code programme du fichier HEX dans sa mémoire FLASH. Cela nécessite un programme de contrôle du programmeur, tel que WinPic800, qui est disponible gratuitement sur www.winpic800.com/descargas/WinPic800.zip sur Internet. Des instructions détaillées lors de la programmation, le microcontrôleur peut également être lu.
Pour simplifier le programme du microcontrôleur et de l'appareil dans son ensemble, le microcircuit RTC DD1 et les capteurs de température BK1 et BK2 sont connectés au microcontrôleur via le même bus I2C. Le capteur VK2 est connecté au connecteur XP2 avec un câble d'une longueur maximale de plusieurs mètres selon le schéma illustré à la Fig. 2.

Les résistances R2 et R9 connectent les lignes SCL et SDA du bus I 2 C à l'alimentation plus, les maintiennent à un niveau élevé dans les pauses de transfert d'informations, comme l'exige la spécification du bus. Vous pouvez en savoir plus sur l'utilisation de ce bus à partir de. Les entrées d'adresse des capteurs de température BK1 et BK2 sont connectées différemment à l'alimentation plus et au fil commun, ce qui permet au microcontrôleur de distinguer par programmation les capteurs.

Des codes parallèles à seize bits pour afficher des informations sur des indicateurs sont formés aux sorties des microcircuits DD3 et DD4. Le microcontrôleur DD2 entre les informations dans ces microcircuits avec un code séquentiel, en utilisant seulement trois lignes de ses ports B et C pour cela. RC7 et entrées d'horloge des deux microcircuits augmentant la différence de niveau. Dans ce cas, le code déjà contenu dans les registres à décalage connectés en série se déplace d'une position vers le bit de poids fort du registre DD4, et la valeur fixée par le microcontrôleur à son entrée est écrite dans le bit de poids faible libéré du registre DD3.

Après seize opérations de ce type, le code entier est écrit dans le registre à décalage de seize bits formé par les microcircuits DD3 et DD4. Cependant, ce code n'est pas encore apparu aux sorties des microcircuits, celui qui était affiché au cycle précédent continue de fonctionner sur eux. Pour mettre à jour l'état des sorties, le microcontrôleur génère une différence de niveau croissante sur sa ligne RB0 et les entrées d'écriture du code des registres à décalage des microcircuits DD3 et DD4 vers leurs registres de stockage. Pour plus de détails sur le fonctionnement du microcircuit de convertisseur série-parallèle 74HC595, veuillez lire.

Après avoir écrit le code sur les microcircuits DD3 et DD4, le microcontrôleur donne l'ordre d'allumer l'un des six voyants, pour les cathodes des éléments auxquels ce code est destiné. Afin de ne pas surcharger les sorties du microcontrôleur, les anodes des indicateurs leur sont reliées par des touches sur les transistors VT1-VT6. Le diagramme du tableau indicateur est illustré à la Fig. 3, et la légende des éléments de l'indicateur PSA08-11SRW est sur la Fig. 4. Les connecteurs ХР1 et ХР2 de la carte indicatrice sont respectivement connectés aux connecteurs XS3 et XS2 de la carte principale.

Les dessins de la carte principale et le placement des éléments dessus sont illustrés à la Fig. 5. Il est fait d'une feuille de fibre de verre d'un côté. La carte est conçue pour installer un capteur de température BK1 dans un boîtier DIP8, mais le capteur LM75AD est produit dans un boîtier SO8 pour un montage en surface, il doit donc être installé via une carte adaptateur (Fig.6). En figue. 5, le contour de l'adaptateur est représenté par une ligne de tirets et de points. Dans les trous correspondants de l'adaptateur et de la carte, des segments de fil sont insérés et soudés des deux côtés. Vous pouvez bien entendu modifier la topologie des conducteurs imprimés sur la carte principale et vous passer d'adaptateur.

Le PCB LED double face est illustré à la Fig. 7. Veuillez noter que les connecteurs qui s'y trouvent sont installés du côté opposé à celui où se trouvent les indicateurs. Lorsque les connecteurs sont accouplés, les deux cartes sont situées l'une au-dessus de l'autre "pile", comme on peut le voir sur la photo de la Fig. 8.
Les transistors KT502B peuvent être remplacés par n'importe lequel de la même série. Au lieu des LED AL307BM, d'autres couleurs rougeoyantes de faible puissance, par exemple AL310A, conviennent également.
Un appareil correctement assemblé avec un microcontrôleur correctement programmé n'a pas besoin d'être réglé et commence à fonctionner immédiatement après la mise sous tension.

Après la mise sous tension, le premier des indicateurs est un message de bienvenue. Elle est suivie de l'heure au format 12 ou 24 heures, qui peut être sélectionnée dans l'élément de menu correspondant. En outre, la ligne de défilement avec l'heure actuelle s'arrête pendant 10 secondes. Après leur expiration, la température ambiante (lectures du capteur BK1), la température extérieure (lectures du capteur BK2) sont affichées, et une autre pause de dix secondes est maintenue, pendant laquelle l'indicateur indique la température extérieure. Après cela, le numéro s'affiche, suivi du mois et du jour de la semaine en mots, après quoi le cycle (sauf pour le message d'accueil) est répété.

Pour régler l'heure actuelle et d'autres paramètres, passez en mode «Menu» en appuyant brièvement sur la touche SB3 «M». Le voyant HL2 s'allume, indiquant que ce mode est activé. Sur l'indicateur après le message «SETTING», la ligne «HOUR XX» s'affiche et s'arrête, où XX est la valeur actuelle de l'heure, qui peut être augmentée en appuyant sur la touche SB1 «+» ou diminuée en appuyant sur la touche SB5 «-».
Pour passer à l'élément de menu suivant, appuyez sur la touche SB2 «\u003e». Avec son aide, vous pouvez "faire défiler" le menu dans l'ordre suivant, en utilisant le bouton SB4 "<” – в противоположном. После первого нажатия на кнопку SB2 “>"La ligne" MIN XX "s'affiche, puis" YEAR 20XX "(par défaut 2011), puis" MONTH XX "," NUMBER XX "," DAY OF THE WEEK XX "," WEEK_HOUR XX "(heure de l'alarme)," BUD_MIN XX " (minutes pendant lesquelles l'alarme se déclenche).

Ensuite, une des lignes «BUD OFF» ou «BUD ON» apparaît sur l'indicateur, affichant l'état actuel de l'alarme. Il peut être modifié en appuyant sur la touche SB1 «+» ou SB5 «-». Lorsque l'alarme est activée, la LED HL1 est allumée, ce qui le signale.
Ensuite, la ligne «FORMAT XX» s'affiche, où XX vaut 12 ou 24, selon le format d'affichage de l'heure sélectionné en appuyant sur la touche SB1 «+» ou SB5 ». Après la prochaine pression sur SB2 «\u003e», la ligne «BYE» s'affiche, la LED HL2 s'éteint, l'horloge passe en mode de fonctionnement normal.


Lorsque l'heure actuelle coïncide avec l'heure d'alarme préréglée, la LED HL3 et l'émetteur de son HA1 s'allument. Pour désactiver les alarmes lumineuses et sonores, appuyez simplement sur n'importe quel bouton. Le signal électrique pour commander un actionneur externe, si nécessaire, peut être retiré de la sortie RB5 du microcontrôleur, à laquelle la LED HL3 est connectée via une résistance R17.
Lorsque l'alimentation externe est coupée, l'appareil continue à compter le temps - le microcircuit DD1 fonctionne à partir de la pile au lithium G1.

Fichiers joints: source.zip

LITTÉRATURE
1. DS1307 - Horloge temps réel série 64 X 8. - www.piclist.ru/D-DS-DSB1 “+” 307-RUS / D-DS-DS1307-RUS.html
2. LM75A Capteur de température numérique et chien de garde thermique. www.alldatasheet.com/datasheet-pdf/pdf/100962/PHILIPS/LM75AD.html
3. Dolgiy A. Programmeurs et programmation de microcontrôleurs. - Radio, 2004, n ° 1, p. 53.
4. Semyonov B. Yu. Bus I2C dans les conceptions techniques radio. - M.: "SOLON-R", 2002.
5. 74HC595; 74NST595 Registre à décalage 8 bits entrée série, série ou sortie parallèle avec verrous de sortie; 3 états. - www.nxp.com/documents/data_sheet/74HC_HCT595.pdf

V. BALANDIN, p. Petrovskoe, région de Tambov
«Radio» n ° 9 2012

LA CLOCHE

Il y a ceux qui ont lu cette nouvelle avant vous.
Abonnez-vous pour recevoir les derniers articles.
Email
Nom
Nom de famille
Comment voulez-vous lire The Bell
Pas de spam