Table des matières:

LCD DATE/HORLOGE Oubliez le RTC : 9 étapes
LCD DATE/HORLOGE Oubliez le RTC : 9 étapes

Vidéo: LCD DATE/HORLOGE Oubliez le RTC : 9 étapes

Vidéo: LCD DATE/HORLOGE Oubliez le RTC : 9 étapes
Vidéo: ARDUINO RTC DS1307 LCD 16x02 I2C 2024, Novembre
Anonim
LCD DATE/HORLOGE Oubliez le RTC
LCD DATE/HORLOGE Oubliez le RTC

Une horloge logique quantique NIST 2010 basée sur un seul ion aluminium.

En 2010, une expérience a placé deux horloges quantiques à ions aluminium proches l'une de l'autre, mais avec la seconde surélevée de 30,5 cm (12 pouces) par rapport à la première, rendant l'effet de dilatation du temps gravitationnel visible dans les échelles de laboratoire de tous les jours. Reprouvant ainsi les théories de la gravité d'Einstein. Les horloges ont été inversées dans les positions et ont montré les mêmes décalages horaires. James Chin-wen Chou, chercheur postdoctoral du NIST, avec l'horloge la plus précise au monde, basée sur les vibrations d'un seul ion aluminium (atome chargé électriquement). L'ion est piégé à l'intérieur du cylindre métallique (au centre à droite). Il dit "d'1 seconde en 3,7 milliards d'années"… attendons de voir !

SUPER DUPER WOW.

Donc, en utilisant des vibrations quantiques qui sont vraiment rapides, vous pensez que plus vite c'est mieux. La puce 328 dans Unos est en quelque sorte rapide à 16 MHz. C'est beaucoup plus rapide que le cristal d'horloge (montre) typique qui est de 32,768 kHz. C'est 500 fois plus rapide ! Et le 328 a un capteur de température pour compenser l'horloge.

Alors pourquoi le 328 ne peut-il pas préformer un cristal de montre bon marché ?

Étape 1: À QUOI S'ATTENDRE

À QUOI S'ATTENDRE
À QUOI S'ATTENDRE

C'est ma deuxième tentative de faire une horloge en utilisant UNIQUEMENT la puce 328. Chaque 328 fonctionne à des moments différents même s'ils ont un cristal de 16 MHz. Vous obtenez donc de mauvais résultats en comptant simplement les millis(). Qui fonctionne à 1 000 Hz. Cela donne une moyenne d'UN millis (1) à environ +- 3,6 secondes par heure de précision. Les moulins Arduino () ne comptent pas les moulins factionnels ou n'utilisent pas de flotteurs. Cela rend impossible le comptage des fractions d'un moulin. Donc, utiliser Arduino micros () est le prochain choix. Mais l'utilisation de micros() s'exécute en seulement 71 minutes. (ce n'est vraiment pas un problème). Le problème pour moi est de gérer les grands nombres et de faire des ajustements répétés en fonction de l'heure gps. Un autre choix est une interruption. Cela compte les secondes, peu importe où le code s'exécute dans la boucle. Cela rend le 328 aussi bon qu'un RTC. Même si les taches des 'micros()' sont prises en compte, à +- 4 uS, cela correspond à une horloge de 250 kHz. C'est 7 fois mieux que le 32.768khz.

Voici donc mon horloge lcd Arduino basée sur une minuterie 16 bits Une interruption utilisant des microsecondes. Ce n'est pas aussi bon que de compter les ions aluminium ! Mais c'est facile et avec certains étalonnages, cela peut être aussi bon qu'un RTC. J'ai fait 3 versions de cette horloge. De la connexion à l'ordinateur USB. A poser seul avec 4 boutons. Vers gps extérieur avec température à l'aide d'un HC12. Cette instructable couvrira les 2 premières horloges et j'écrirai un autre « en profondeur » pour le HC12.

Voir mon autre instructable sur les problèmes de gamme HC12.

Ce à quoi vous pouvez vous attendre, c'est une horloge/date LCD simple utilisant UNO et un écran LCD 16x2. J'ai fait des numéros personnalisés pour l'écran LCD. La bibliothèque 'BIG Numbers' occupe 3 espaces, la mienne n'en occupe qu'un. Les 4 boutons ont un pull up interne pour que la construction soit facile. J'ai un étui pour cela et un 2 écrans lcd et dos.

La bibliothèque publique ici dans ma petite ville a une imprimante 3D que tout le monde peut utiliser. Alors consultez une bibliothèque près de chez vous pour fabriquer le boîtier lcd.

Mes tests montrent -+ seconde toutes les 24-48 heures. C'est environ une minute de repos en deux mois. Trois ou quatre réglages mettent l'horloge en marche. Ne s'éteint que pendant environ 12 secondes avant le MOIS. Tentatives répétées de « calibrage » des coutures pour ne faire que courir après des chiffres. La seule fonctionnalité MAUVAISE utilise N'IMPORTE QUEL "menu" réinitialise les secondes à 00. Cela change l'heure actuelle. J'ai laissé un délai de 60 secondes pour la pression du bouton afin de permettre la synchronisation avec une autre horloge.

Étape 2: LES ÉCROUS ET LES BOULONS

LES ÉCROUS ET LES BOULONS
LES ÉCROUS ET LES BOULONS
LES ÉCROUS ET LES BOULONS
LES ÉCROUS ET LES BOULONS
LES ÉCROUS ET LES BOULONS
LES ÉCROUS ET LES BOULONS
LES ÉCROUS ET LES BOULONS
LES ÉCROUS ET LES BOULONS

Ce projet est une horloge STAND ALONE sans RTC juste un uno et un lcd. Les 4 boutons permettent de régler l'heure/la date, de régler le fuseau horaire et de calibrer.

Les fichiers d'imprimante 3D ont un et deux boîtiers LCD pour d'autres projets.

L'écran LCD a de GRANDS CHIFFRES qui occupent seulement UN espace de large. Cela m'a pris pas mal de temps à faire

Le boîtier a 8 trous pour les boutons pour d'autres projets.

Il suffit de connecter une verrue murale 5v pour l'alimentation.

Vérifiez votre BIBLIOTHÈQUE locale pour l'utilisation d'une imprimante 3D !!

Étape 3: À PROPOS DE LA CONSTRUCTION

À PROPOS DE LA CONSTRUCTION
À PROPOS DE LA CONSTRUCTION
À PROPOS DE LA CONSTRUCTION
À PROPOS DE LA CONSTRUCTION
À PROPOS DE LA CONSTRUCTION
À PROPOS DE LA CONSTRUCTION

Toutes les cartes Arduino avec MEGA 328 micros devraient fonctionner. Il a besoin d'un cristal de 16 MHz et doit fonctionner à cette vitesse. Un 3,3 volts à 8 mhz peut ne pas fonctionner avec la synchronisation d'interruption. Pour le boîtier, un pro-mini convient mieux, mais vous pouvez insérer un nano, mais le câble USB peut poser problème. Il s'agit d'un écran LCD Hitachi 16x2, très populaire. Certains moins chers sont ternes et juste faibles. Un connecteur de bord est nécessaire pour s'adapter à un module convertisseur I2c populaire. Seuls 4 fils sont nécessaires pour brancher l'uno. Il existe de nombreux tutoriels pour montrer comment brancher l'écran lcd sans module convertisseur si vous n'en voulez pas. Pour l'horloge sans bouton, c'est tout ce que vous faites.

L'écran LCD a un caractère personnalisé GRAND NOMBRE. Les grands nombres n'occupent qu'UNE largeur.

Étape 4: 4 BOUTONS et ÉTUI

4 BOUTONS et ÉTUI
4 BOUTONS et ÉTUI
4 BOUTONS et ÉTUI
4 BOUTONS et ÉTUI
4 BOUTONS et ÉTUI
4 BOUTONS et ÉTUI

La même chose que ci-dessus mais ajoutez les 4 interrupteurs. Une carte à circuit imprimé standard de 2 pouces x 2,5 pouces est utilisée pour s'adapter au boîtier. Il suffit de couper en deux et d'installer les interrupteurs de manière à ce que les pieds aillent de gauche à droite. Si vous placez les interrupteurs avec les pattes vers le haut, les trous ne s'aligneront pas dans le boîtier. Vérifiez qu'ils s'alignent sur les trous du boîtier AVANT de souder. Mettez à la terre les pieds inférieurs (tous) et exécutez chaque pied supérieur jusqu'à une broche sur l'uno. Voir schéma ci-joint. Si vous imprimez le boîtier en 3D, la partie bouton doit être COLLÉE au boîtier lcd. Il ne s'enclenche PAS comme le fait le dos. Toutes les petites vis auto-adhésives maintiendront l'écran LCD en place. TROP gros et vous ferez craquer l'affaire. Le bâton de colle chaude peut être le meilleur. Avant de monter l'écran LCD… noircissez la zone LED avec du ruban adhésif noir. Sinon, il brillera à travers le boîtier. J'utilise du ruban mousse 2 faces en 2 couches pour monter le pro mini. Cette bande est une bonne affaire dans les « magasins d'arbres à dollars ». J'utilise un fil magnétique à revêtement solide d'environ 26 jauges. J'ai un excellent instructable sur « un pot de soudure d'homme pauvre » pour utiliser ce fil dans les branchements.

Étape 5: L'écran LCD

L'écran LCD
L'écran LCD
L'écran LCD
L'écran LCD
L'écran LCD
L'écran LCD

problèmes d'affichage à cristaux liquides

Une fois la construction terminée, téléchargez et installez le croquis. L'écran LCD peut ne pas allumer l'écran. Voici quelques conseils. L'écran LCD 'led' doit être allumé et rendre l'écran bleuté. S'il n'y a pas de led, vérifiez les broches du cavalier en face du pot de résistance. Cela nécessite le cavalier ou une résistance de 150 ohms. Le pot bleu est toujours le problème. Tournez donc le pot jusqu'à ce que l'écran affiche 2 rangées de carrés. Puis reculez jusqu'à ce que les carrés s'estompent à peine. Si toujours pas d'affichage, vérifiez les connexions SDA et SCL. Trop facile de les faire reculer. C'est A4 à SDA et A5 à SCL. Ce sont des broches A et non des broches D et certains pro minis ont ces broches à l'intérieur du PC et non sur les bords. La dernière option est de vérifier l'adresse. Certains modules convertisseurs LCD ont des adresses différentes. Ou en utilisant plus d'un appareil, tous ont besoin d'adresses différentes. La plupart des modules ont 3 broches à souder pour configurer 3 adresses différentes. N'oubliez pas que l'I2c ne fait passer que 2 fils vers tous les appareils. Ainsi, chaque appareil DOIT avoir une adresse unique. Un scanner d'adresses I2c est inclus. Téléchargez l'installation du scanner et lisez le moniteur série. L'écran affiche l'adresse de TOUT appareil I2c. Cochez L'esquisse de l'horloge pour la ligne en haut de l'esquisse. 'LiquidCrystal_I2C lcd (0x3F, 16, 2); ' 0x3F est la bonne adresse pour mon convertisseur. Si votre adresse diffère, remplacez-la par la bonne à partir du scanner. Attention: le copier-coller de la nouvelle adresse comporte parfois des fins de ligne ou des retours chariot. Tapez simplement l'autre adresse. Les premières lettres sont toujours zéro et minuscule x 0x. Cela indique à C++ qu'il s'agit d'un hexadécimal. Après 0x, toute lettre est en majuscule.

Étape 6: RACCORDS

CROCHETS
CROCHETS
CROCHETS
CROCHETS
CROCHETS
CROCHETS

suivre le schéma et câbler l'unité.

Étape 7: AUTRES PHOTOS

D'AUTRES PHOTOS
D'AUTRES PHOTOS
D'AUTRES PHOTOS
D'AUTRES PHOTOS
D'AUTRES PHOTOS
D'AUTRES PHOTOS

bonne chance S'IL VOUS PLAÎT voir mes autres instructables

Étape 8: LE CROQUIS

instructables ne me laissera pas télécharger un fichier Arduino !!!! j'ai donc utilisé du texte. Vous devrez copier et coller le texte dans un NOUVEAU fichier ouvert arduino à l'IDE……. Désolé

et les fichiers texte ne se chargeront pas non plus !!! et j'ai essayé de coller ici mais je l'ai brouillé !!

finalement !!! obtenu mon croquis à télécharger ici. 26-3-2020 Correction de quelques petites choses aussi.

Les gens qui sont payés pour écrire du code se roulent par terre quand ils voient mon code. Mes croquis commencent généralement simplement. Ensuite, j'ajoute plus de choses à faire. Ainsi, le croquis se tord dans un gâchis. J'espère que vous apprendrez de mes deux plus grosses erreurs. Il devrait y avoir un plan et un objectif définis au début. Ne pas ajouter des tonnes de trucs tout au long du croquis. Ma pire erreur est d'abuser d'une FONCTION. Il doit être bref et renvoyer une somme, et utilisé uniquement lorsqu'il remplace des lignes de code répétées tout au long de l'esquisse. delay(100) est un bon exemple.

Mon utilisation d'une FONCTION est de séparer les sections de l'esquisse. Cela me permet de suivre facilement le corps principal et de déboguer des sections séparées simplement en appelant la fonction. Je pense que GOTO avait l'habitude de le faire, mais il est tombé en disgrâce et ne s'y habitue JAMAIS. dit Nuff. J'ai vérifié les dates et les heures du mieux que j'ai pu. Les mêmes parties du croquis font fonctionner mes horloges « TIME SQUARED » pendant des années. Si j'ai raté quelque chose ou s'il y a un bug, merci de me le faire savoir. Pour calibrer les « pas de boutons », esquissez la ligne avec « unsigned long tSec = 1000122; ' (ligne 34) est ce que vous changez. La constante de 277 par seconde par heure est correcte. Mais en pratique, je n'apporte que 2 à 8 modifications de montant à la valeur 'tSec'. À 1000122 beaucoup de mes horloges fonctionnaient aussi bien qu'un RTC. Soyez patient, un petit changement de seulement 2-8 peut devenir une horloge parfaite. L'inconvénient de tout changement pour l'une ou l'autre horloge signifie que l'heure actuelle SERA modifiée. Vous devrez modifier l'heure/la date actuelle correcte.

//// easy_one_lcd_clock_no_buttons // // horloge arduino et lcd // utilisez timerOne 16 bit timer // pour calibrer cette horloge: // utilisez une bonne horloge de secondes comme un GPS. // utilise les heures comme référence. Compter les secondes // CECI est désactivé. Si CECI est derrière un GPS // GPS=00.. THIS=58 soustrayez 277 pour chaque // seconde/heure. Donc si plus lent de 2 sec en // 3 heures… (277 * 2)/3 = 184 // SOUSTRAIT de tSec. // si CECI est en avance GPS=00…THIS=03 // même calcul AJOUTER à tSec. // attention, la plupart des horloges sont correctes à 00. // 20 secondes est une meilleure vérification de la minuterie.

Étape 9: Fichiers CASE STL

Voici les fichiers du boîtier de l'imprimante 3D. Le clavier doit être collé au boîtier lcd. L'arrière s'enclenche à la fois sur l'avant du boîtier à un et deux écrans LCD. Enfilez d'abord le haut, puis descendez pour obtenir un bon ajustement.

VÉRIFIEZ votre BIBLIOTHÈQUE locale pour l'utilisation d'une imprimante 3D.

Conseillé: