Horloge LED sur Arduino Nano. Nous fabriquons une horloge électronique sur Arduino de nos propres mains. Horloge prête sur Arduino

La photo montre un prototype que j'ai assemblé pour déboguer le programme qui gérera l'ensemble de cette installation. Le deuxième arduino nano dans le coin supérieur droit de la planche à pain n'appartient pas au projet et dépasse comme ça, vous n'avez pas besoin d'y prêter attention.

Un peu sur le principe de fonctionnement : Arduino prend les données de la minuterie DS323, les traite, détermine le niveau de lumière à l'aide d'une photorésistance, puis envoie le tout au MAX7219, et celui-ci, à son tour, éclaire les segments requis avec la luminosité requise. De plus, à l’aide de trois boutons, vous pouvez régler l’année, le mois, le jour et l’heure comme vous le souhaitez. Sur la photo, les indicateurs affichent l'heure et la température, qui proviennent d'un capteur de température numérique.

La principale difficulté dans mon cas est que les indicateurs de 2,7 pouces ont une anode commune et qu'ils ont dû, d'une part, se lier d'amitié avec le max7219, qui est conçu pour les indicateurs avec une cathode commune, et d'autre part, résoudre le problème avec leur alimentation, car ils ont besoin de 7,2 volts pour la lueur, ce que le max7219 seul ne peut pas fournir. Après avoir demandé de l'aide sur un forum, j'ai reçu une réponse.

Solution dans la capture d'écran :


Un microcircuit est attaché aux sorties des segments du max7219, qui inverse le signal, et un circuit de trois transistors est attaché à chaque sortie, qui doit être connecté à la cathode commune de l'écran, qui inverse également son signal et augmente le tension. Ainsi, nous avons la possibilité de connecter des écrans avec une anode commune et une tension d'alimentation supérieure à 5 volts au max7219

J'ai branché un indicateur pour le test, tout fonctionne, rien ne fume

Commençons à collectionner.

J'ai décidé de diviser le circuit en 2 parties en raison du grand nombre de cavaliers dans la version séparée par mes pattes tordues, où tout était sur une seule carte. L'horloge sera composée d'une unité d'affichage et d'une unité d'alimentation et de contrôle. Il a été décidé de récupérer ces derniers en premier. Je demande aux esthètes et aux radioamateurs expérimentés de ne pas s'évanouir à cause du traitement cruel des pièces. Je n'ai aucune envie d'acheter une imprimante pour le bien de LUT, donc je le fais à l'ancienne - je m'entraîne sur un morceau de papier, je perce des trous selon un modèle, je trace des chemins avec un marqueur, puis je grave.

Le principe de fixation des indicateurs est resté le même que sur.

Nous marquons la position des indicateurs et des composants à l'aide d'un gabarit en plexiglas conçu pour plus de commodité.

Processus de balisage







Ensuite, à l'aide d'un gabarit, nous perçons des trous aux bons endroits et essayons tous les composants. Tout s'adapte parfaitement.

Nous dessinons des chemins et gravons.




se baigner dans du chlorure ferrique

Prêt!
tableau de contrôle:


panneau d'indication :


Le tableau de commande s'est avéré excellent, la piste sur le tableau d'affichage n'a pas été rongée de manière critique, elle peut être réparée, il est temps de souder. Cette fois, j'ai perdu ma virginité SMD et inclus des composants 0805 dans le circuit. Au minimum, les premières résistances et condensateurs ont été soudés. Je pense que je vais m'améliorer, ce sera plus facile.
Pour la soudure, j'ai utilisé le flux que j'ai acheté. Souder avec est un plaisir, maintenant j'utilise de la colophane alcoolisée uniquement pour l'étamage.

Voici les planches terminées. La carte de commande dispose d'un siège pour un Arduino nano, d'une horloge, ainsi que de sorties pour la connexion à la carte d'affichage et aux capteurs (une photorésistance pour la luminosité automatique et un thermomètre numérique ds18s20) et une alimentation avec tension de sortie réglable (pour les grands appareils à sept segments) et pour alimenter l'horloge et l'Arduino, sur la carte d'affichage se trouvent des prises de montage pour les écrans, des prises pour max2719 et uln2003a, une solution pour alimenter quatre grands appareils à sept segments et un tas de cavaliers.




tableau de commande arrière

Tableau d'affichage arrière :

Installation smd épouvantable :


Lancement

Après avoir soudé tous les câbles, boutons et capteurs, il est temps de tout allumer. Le premier lancement a révélé plusieurs problèmes. Le dernier grand indicateur ne s'allumait pas et le reste brillait faiblement. J'ai résolu le premier problème en soudant la patte du transistor SMD et le second en ajustant la tension produite par le LM317.
C'EST VIVANT!

L'un des premiers projets que les débutants construisent à l'aide d'une carte Arduino est une simple horloge qui garde l'heure. Fondamentalement, ces horloges sont basées sur un module RTC (Real Time Clock) connecté à Arduino. Aujourd'hui, des composants électroniques sont disponibles sur le marché différents modèles RTC dont la précision et le prix varient. Les modèles courants incluent DS1302, DS1307, DS3231.



Mais vous pouvez créer une horloge sur Arduino sans utiliser de RTC, surtout si vous ne pouvez pas obtenir de tels modules. Bien entendu, la précision dans ce cas sera faible, le projet doit donc plutôt être considéré comme un projet de formation.


Le principe de fonctionnement de telles montres est assez simple. Chaque fois que vous allumerez cette horloge Arduino, vous devrez la régler sur l'heure actuelle, comme n'importe quelle horloge analogique. Il est certainement préférable de ne pas utiliser de telles montres dans votre Vie courante avec leur activité pendant une longue période sans redémarrage ni configuration supplémentaire, car la désynchronisation avec l'heure actuelle lors d'un fonctionnement à long terme peut être importante.


Cette horloge peut être assemblée sur une maquette ordinaire, car elle ne nécessite pas beaucoup de composants. Notre lien principal ici sera la carte Arduino Uno. Pour afficher l'heure, vous pouvez prendre un écran LCD 16x2. Pour modifier les paramètres de l'heure, vous devez connecter deux boutons (pour les heures et les minutes). Les boutons sont connectés à Aduino via des résistances 10KΩ. Pour modifier la luminosité de l'écran, vous aurez besoin d'un potentiomètre de 10 kOhm. Le schéma de connexion de tous ces composants à la carte Arduino Uno est présenté ci-dessous.



Vous devez maintenant programmer l'Arduino. Un code simple (croquis) qui permet d'afficher l'heure sur l'écran LCD est donné ci-dessous.


#inclure LCD à cristaux liquides (12,11,5,4,3,2); entier h=12 ; entier m; int s ; drapeau international ; int TEMPS ; const int hs=8 ; const int ms=9 ; int état1 ; int état2 ; void setup() ( lcd.begin(16,2); ) void loop() ( lcd.setCursor(0,0); s=s+1; lcd.print("TIME:"); lcd.print(h ); lcd.print(":"); lcd.print(m); lcd.print(":"); lcd.print(s); if(drapeau<12)lcd.print("AM"); if(flag==12)lcd.print("PM"); if(flag>12)lcd.print("PM"); si(drapeau==24)drapeau=0; retard (1000); lcd.clear(); si(s==60)( s=0; m=m+1; ) si(m==60) ( m=0; h=h+1; flag=flag+1; ) if(h==13 ) ( h=1; ) lcd.setCursor(0,1); lcd.print("BONNE JOURNÉE"); //-------Heure // réglage-------// state1=digitalRead(hs); si(état1==1) ( h=h+1; drapeau=drapeau+1; si(drapeau<12)lcd.print("AM"); if(flag==12)lcd.print("PM"); if(flag>12)lcd.print("PM"); si(drapeau==24)drapeau=0; si(h==13)h=1; ) state2=digitalRead(ms); si(état2==1)( s=0; m=m+1; ) )

   Merci de votre intérêt pour projet d'information site web.
   Si vous souhaitez que des documents intéressants et utiles soient publiés plus souvent et avec moins de publicité,
   Vous pouvez soutenir notre projet en faisant un don pour son développement.

Horloge avec rétroéclairage LED et aiguille des minutes pulsée sur un microcontrôleur Arduino
Cette montre unique avec rétroéclairage LED et aiguille des minutes pulsée a été fabriquée à l'aide de la puce contrôleur PWM TLC5940. Sa tâche principale est d'augmenter le nombre de contacts de modulation PWM. Une autre caractéristique de cette montre est qu’elle a converti un voltmètre analogique en un appareil mesurant les minutes. Pour ce faire, une nouvelle échelle a été imprimée sur une imprimante standard et collée sur l'ancienne. A ce titre, la 5ème minute n'est pas comptée, c'est juste que pendant la cinquième minute le compteur de temps affiche la flèche pointant vers le bout de l'échelle (hors échelle). Le contrôle principal est implémenté sur le microcontrôleur Arduino Uno.

Pour garantir que le rétroéclairage de l'horloge ne brille pas trop fort dans une pièce sombre, un circuit a été mis en place pour ajuster automatiquement la luminosité en fonction de l'éclairage (une photorésistance a été utilisée).

Étape 1 : composants requis



Voici ce dont vous aurez besoin :

  • Module de voltmètre analogique 5 V CC ;
  • Microcontrôleur Arduino UNO ou autre Arduino approprié ;
  • Circuit imprimé Arduino (carte proto);
  • Module d'horloge en temps réel (RTC) DS1307 ;
  • Module avec contrôleur PWM TLC5940 ;
  • Rétroéclairage LED pétale – 12 pièces ;
  • Composants pour l'assemblage d'un circuit de contrôle automatique de la luminosité (LDR).

Aussi, pour la réalisation de certains autres composants du projet, il est souhaitable d'avoir accès à une imprimante 3D et à une machine de découpe laser. Il est supposé que vous disposez de cet accès, les instructions incluront donc des dessins de fabrication aux étapes appropriées.

Étape 2 : Composer




Le cadran se compose de trois parties (couches) découpées sur une machine de découpe laser à partir d'une feuille MDF de 3 mm, qui sont fixées ensemble avec des boulons. Une plaque sans fentes (en bas à droite sur la photo) est placée sous une autre plaque pour positionner les LED (en bas à gauche). Ensuite, des LED individuelles sont placées dans les emplacements appropriés et le panneau avant est placé sur le dessus (en haut sur la figure). Quatre trous sont percés le long du bord du cadran, à travers lesquels les trois parties sont boulonnées ensemble.

  • Pour tester les performances des LED à ce stade, une pile bouton CR2032 a été utilisée ;
  • Pour fixer les LED, de petites bandes de ruban adhésif ont été utilisées, qui ont été collées à l'arrière des LED ;
  • Tous les pieds LED ont été pré-courbés en conséquence ;
  • Les trous le long des bords ont été repercés, à travers lesquels le boulonnage a été effectué. Il s'est avéré que c'était beaucoup plus pratique.

Le dessin technique des pièces du cadran est disponible sur :

Étape 3 : Concevoir le circuit



A ce stade, il a été développé schéma électrique. Divers manuels et guides ont été utilisés à cet effet. Nous n’entrerons pas trop dans ce processus ; les deux fichiers ci-dessous montrent le circuit électrique fini qui a été utilisé dans ce projet.

Étape 4 : Connexion de la carte de circuit imprimé Arduino





  1. La première étape consiste à dessouder tous les contacts à aiguilles sur les circuits imprimés et les profilés ;
  2. De plus, étant donné que l'alimentation 5 V et GND sont utilisés par de nombreuses cartes et périphériques, pour plus de fiabilité, deux fils pour 5V et GND ont été soudés sur le circuit imprimé ;
  3. Ensuite, un contrôleur PWM TLC5940 a été installé à côté des contacts utilisés ;
  4. Ensuite, le contrôleur TLC5940 est connecté selon le schéma de connexion ;
  5. Afin de pouvoir utiliser la batterie, un module RTC a été installé sur le bord du circuit imprimé. Si vous le soudez au milieu de la carte, les marquages ​​des broches ne seront pas visibles ;
  6. Le module RTC a été connecté selon le schéma de connexion ;
  7. Un circuit de contrôle automatique de la luminosité (LDR) a été assemblé, vous pouvez le consulter sur le lien
  8. Les fils du voltmètre sont connectés en connectant les fils à la broche 6 et à GND.
  9. Au final, 13 fils pour les LED ont été soudés (en pratique, il s'est avéré qu'il valait mieux le faire avant de passer à l'étape 3).

Étape 5 : Coder

Le code ci-dessous a été compilé à partir de divers composants d'horloge trouvés sur Internet. Il a été entièrement débogué et est désormais entièrement fonctionnel, et des commentaires assez détaillés ont été ajoutés. Mais avant de charger dans le microcontrôleur, considérez les points suivants :

  • Avant de flasher le firmware Arduino, vous devez décommenter la ligne qui règle l'heure :
    rtc.adjust(DateTime(__DATE__, __TIME__))
    Après avoir flashé le contrôleur avec cette ligne (l'heure est réglée), vous devez la commenter à nouveau et flasher à nouveau le contrôleur. Cela permet au module RTC d'utiliser la batterie pour mémoriser l'heure en cas de perte de l'alimentation principale.
  • Chaque fois que vous utilisez "Tlc.set()", vous devez utiliser "Tlc.update"

Étape 6 : Bague extérieure

L’anneau extérieur de la montre a été imprimé en 3D à l’aide d’une imprimante Replicator Z18. Il se fixe à la montre à l'aide de vis situées sur le cadran de la montre. Vous trouverez ci-dessous un fichier avec un modèle 3D de la bague à imprimer sur une imprimante 3D.

Étape 7 : Assemblage de l'horloge


Le microcontrôleur Arduino avec tous les autres composants électroniques a été fixé à l'arrière de l'horloge à l'aide de vis et d'écrous comme entretoises. Ensuite, j'ai connecté toutes les LED, le voltmètre analogique et le LDR aux fils préalablement soudés au circuit imprimé. Toutes les LED sont interconnectées par une patte et connectées à la broche VCC du contrôleur TLC5940 (un morceau de fil est simplement soudé en cercle).

Jusqu'à présent, tout cela n'est pas très bien isolé des courts-circuits, mais les travaux se poursuivront dans les versions futures.




Haut