Numitron horloge & thermomètre (1 / 8 étapes)

Etape 1: Le DS1307 en temps réel horloge

Le chronométrage se fera par un IC DS1307. Il s’agit d’un IC peu pratique, car il non seulement assure le suivi des temps mais aussi de la date et le jour de la semaine.

Pour ce petit projet, nous allons seulement il utiliser pour garder une trace de l’époque. C’est pourquoi il a besoin d’un cristal de quartz 32,768 kHz connecté entre les broches 1 et 2. Nous pouvons également ajouter une batterie avec + à la broche 3 et - à la borne 4. Cette mesure de ci à continuer à travailler lorsque le CC est éteint. Si vous ne voulez pas utiliser cette fonctionnalité, vous pouvez juste connecter la broche 3 à la borne 4 et tout fonctionne parfaitement.

Broche 5 et la broche 6 servira à transférer les données vers notre microprocesseur. Elles doivent être connectées aux broches SCL et SDA votre microprocesseur. Ces lignes doivent être tiré en haut par une résistance de 4K 7 pullup.

Bascom, travail avec les périphériques I2C est facile. Il faut seulement savoir 4 commandes :

  1. I2cstart: cette commant va communications démarrage I2c
  2. I2cstop: cette commande s’arrête la communication I2c
  3. Var I2crbyte : cette commande lit un octet à partir de l’appareil et le stocke dans 'var'
  4. Var I2cwbyte : cette commande écrit la variable "var" dans le dispositif

À l’aide de la commande d’écriture ou de lecture n’est pas suffisant, nous devrons également dire le dispositif si nous voulons écrire ou lire. Nous faisons cela en utilisant la bonne adresse. Ces adresses se trouvent dans la fiche technique. L’écriture-adresse du DS1307 est D0H et la lecture-adresse D1H (le H derrière elle nous disent que ce sont des chiffres hexadécimaux).

Le DS1307 envoie et souhaite recevoir des données en format BCD. Il s’agit d’une variante sur binaire pour diplays où chaque chiffre est représenté par quatre bits. Plus d’infos sur ce ici. Heureusement la conversion de BCD décimale et vice versa est très facile à Bascom.

  • var = Makebcd(var) convertira décimale, hexadécimale et binaire en BCD
  • var = Makedec(var) convertira hexadécimal, binaire et BCD en décimal

Les données sont stockées sur l’EI dans le registre. Vous pouvez les imaginer comme ces filingcabinets démodé. Chaque tiroir a son numéro et contient quelques infos :

H 00 secondes
01H Minutes
02H heures
Jour 03H
04 H Date le H nous disent que ce sont des chiffres hexadécimaux.
05H mois
06H an
07H contrôle
08H à 3FH Ram

Si nous voulons lire ou stocker des données va tout d’abord falloir dire le dispositif dans quel tiroir, nous voulons être. Nous pouvons le faire en écrivant le code hexadécimal pour ce tiroir à l’appareil. L’appareil puis nous accordera accès au tiroir. Après que vous écrivez ou lisez quelque chose d’ou à ce registre, que l’appareil va automatiquement sauter à la suivante. Il n’y a donc pas besoin d’envoyer l’emplacement chaque fois

Maintenant passons mettent ce code :

Pour ce code, vous aurez besoin estomper les heures comme octet, minutes comme octet et secondes tant que byte.

Tout d’abord, nous allons définir l’horloge :

Secondes = Makebcd(Seconds) nous convertir nos variables en format BCD
Minutes = Makebcd(Minutes)
Heures = Makebcd(Hours)

réinitialiser le hours.6 nous réinitialisons bit 6 de la hoursbyte pour s’assurer que
notre horloge fonctionne en mode 24h. Si le bit 6 est 1 alors le
horloge tourne en mode 12h et le bit 5 sera alors
contient les données de AM/PM.

I2cstart
I2cwbyte & HD0 nous dire le dispositif que nous voulons écrire un octet
2cwbyte & H00 nous partons sur la caisse enregistreuse pour secondes hex 00
I2cwbyte secondes secondes d’ajout
I2cwbyte Minutes minutes ajout
I2cwbyte heures heures ajout
I2cstop

Maintenant notre horloge est réglée ! Permet de lire de lui maintenant.

I2cstart
I2cwbyte & HD0 nous dire le dispositif que nous voulons écrire un octet.
I2cwbyte & H00 nous demandons l’appareil pour aller au registre secondes.
I2cstop
I2cstart                                                                       
I2cwbyte & HD1 nous dire le dispositif que nous voulons lire octets.
I2crbyte secondes, Ack nous lire les données et reconnaissez que nous voulons
pour lire l’octet suivant trop.

I2crbyte Minutes, Ack
I2crbyte heures, Nack nous n’avons pas hommage ici afin que l’appareil sait
que nous sommes fait lecture.

I2cstop

Heures = heures et & B00111111 supprimons bits 6 et 7, car ils contiennent d’autres
données. Si vous êtes en mode 12h, puis vous devrez
supprimer le bit 5 trop

Heures = Makedec(Hours) nous convertir au format décimal.
Minutes = Makedec(minutes)
Secondes = Makedec(seconds)

Maintenant, nous savons quelle heure il est.

Dans la prochaine étape, nous prendrons regarder de plus près le DS18B20.

Articles Liés

Bureau horloge/thermomètre issus de noyer, ferraille, pièce tronçonnée.

Bureau horloge/thermomètre issus de noyer, ferraille, pièce tronçonnée.

J'utilise un vieux morceau de noyer pour faire de ce bureau horloge/thermomètre. Un morceau sinon inutile de bois. Beaucoup de fun et fonctionnel.S'il vous plaît vous abonner à ma chaîne !http://www.youtube.com/Channel/UCoiFVDvzJX8tXXF5GsUPc_QFaceboo
À l’aide d’une seule LED RVB (ou une bande LED) pour afficher les informations : horloge, thermomètre et un communicateur bizarre

À l’aide d’une seule LED RVB (ou une bande LED) pour afficher les informations : horloge, thermomètre et un communicateur bizarre

L'un des premiers projets que j'ai fait avec un Arduino était Noël guirlande de lumières. En fait, elle a été faite d'une simple bande de RVB LED coupée en deux, comme Arduino a seulement 6 sorties PWM de matériel. Je ne voulais pas qu'il affiche des
Construisez vous-même une horloge et thermomètre

Construisez vous-même une horloge et thermomètre

Bonjour les gars,Dans la présente instruction étape par étape,Je veux partager mon expérience sur la création d'une horloge et thermomètre avecArduino Mega 2560, LCD 16 x 2, capteur de résistance thermique et DS1307 horloge en temps réelPlus de proje
Thermomètre intérieur/extérieur de horloge/Nixie VFD rétro Fit Linden Mantle Clock

Thermomètre intérieur/extérieur de horloge/Nixie VFD rétro Fit Linden Mantle Clock

J'ai décidé de faire quelque chose que je n'avais pas encore vu et combiné (2) séparer électronique l'utilisation d'écrans de tube à vide (2) différents types de faire cet affichage unique. Les tubes Nixie pour le thermomètre et le VFD (affichage vid
Faites-vous une horloge faite maison avec thermomètre utilisant ATMEGA128

Faites-vous une horloge faite maison avec thermomètre utilisant ATMEGA128

dans cette étape par étape que je tiens à partager mon expérience avec minuterie ATMEGA128 et interrompre l'utilisation DS1307 et NTC pour afficher la maison horloge et thermomètre.Il affiche l'heure, minute, seconde, jour de la semaine, jour, mois,
Horloge avec thermomètre en utilisant Arduino, i2c 16 x 2 lcd, capteur RTC DS1307 et DHT11.

Horloge avec thermomètre en utilisant Arduino, i2c 16 x 2 lcd, capteur RTC DS1307 et DHT11.

Hello! Il a été un moment j'ai n'a pas posté quelque chose sur Instructables, mais maintenant que j'ai fait un projet simple que j'ai vu sur internet sous diverses formes. J'ai réussi à générer un code à l'aide d'autres codes que j'ai trouvé sur inte
Arduino à partir de zéro - thermomètre numérique

Arduino à partir de zéro - thermomètre numérique

J'ai aimé faire des projets avec Arduinos, mais 30 $ un morceau vos projets peuvent coûter chers. Je tiens donc à vous montrer comment vous pouvez faire votre propre Arduino à partir de zéro et faire des économies. Faites votre propre Arduino pour en
Sept segments affichage thermomètre - Arduino basé

Sept segments affichage thermomètre - Arduino basé

Aujourd'hui, je vais vous montrer comment faire votre propre thermomètre 7 segments - 2 chiffres - avec Arduino uno et capteur de température DS18B20.Je préfère construire mon propre circuit arduino basé en utilisant le possesseur d'uno ATmega328p, m
Binaire thermomètre USB Powered

Binaire thermomètre USB Powered

instructions de montage du Kit thermomètre binaire que j'ai conçu.Vous pouvez en acheter un à :http://www.Etsy.com/Listing/122729791/Étape 1: Téléchargez votre fer chaud j'ai utiliser la soudure sans plomb avec mon fer à 320 degrés Celsius.  C'est un
Maison thermomètre de précision de 6 chiffres avec Réamur, Kelvin, Fahrenheit et Celsius

Maison thermomètre de précision de 6 chiffres avec Réamur, Kelvin, Fahrenheit et Celsius

les gars,Dans cet article, je tiens à partager mon expérience sur la construction d'un maison thermomètre numérique avec une précision de 6 chiffres,J'ai utilisé un simple ATMEGA128 et NTC.Nous allons commencer à préparer les pièces...Étape 1: Les pi
Thermomètre numérique bon marché et facile

Thermomètre numérique bon marché et facile

j'ai eu surveiller la température de l'aquarium. À cet effet, l'idée vint à mon esprit, pourquoi pas l'horloge de table numérique utilisation qui peut également afficher la température de l'environnement. La plupart d'entre vous auront telle une horl
Écharpe de thermomètre géant Neopixel

Écharpe de thermomètre géant Neopixel

Plume de moteur, il fait froid dehors.Faire cette écharpe portable High-Tech, low tech avec un thermomètre intégré.N'est plus vous vous demanderez comment vraiment froid, c'est quand vous sortez.Ceci est adapté comme un projet débutant agréable de se
Thermomètre de l’Arduino + LCD I2C

Thermomètre de l’Arduino + LCD I2C

J'ai décidé d'offrir un thermomètre drôle de concept Arduino dans le cas où c'est au milieu de la nuit, les pharmacies ne fonctionnent pas, vous ne vous sentez pas bien et vous voulez vérifier la température de votre corps. Si vous avez Arduino à vos
Thermomètre en interrupteur mural

Thermomètre en interrupteur mural

Projet simpleIl s'agit d'un projet très simple sans n'importe quel microprocesseur.J'avais besoin d'indiquer et de surveiller l'humidité, la température dans certaines chambres de la maison familiale. Pour trouver le bon endroit pour installer le the