ChronosMEGA ; une montre-bracelet (5 / 16 étapes)

Étape 5: Logiciel montage

Le flux de la logique du SW pour la montre est représenté ci-dessus. La programmation a été fait entièrement en Assemblée, mettre en œuvre les fonctionnalités Interrupt, convertisseurs a/n, Power Management, GPIO et Timer de la ATmega328P. Les raisons que j’ai choisi que l’Assemblée pour mon langage de programmation a été d’optimiser mon programme le meilleur que j’ai pu et parce que je suis fier de moi en travaillant dans les plus difficiles, niveaux inférieurs pour les projets.

5.1. premier Prototype

Un système de développement qui imitait grossièrement le ChronosMEGA final a été construit pour mettre en œuvre le SW qui course sur la montre. L’alimentation de la montre a été créée tout d’abord séparément sur un PCB fabriqué, j’ai conçu et a été utilisée pour alimenter le circuit. Cette unité a été ensuite incorporée au produit final.

Une vidéo montrant le circuit de la maquette est illustrée ci-dessous :

5.2. interruptions

Il y a 4 routines d’interruption différentes pour le ChronosMEGA : un pour les RH + et MIN + boutons, un pour le sommeil et la dernière pour le Timer1 comparer match afficher les boutons, un pour le Timer2 comparer match.

Le module Timer2 de 8 bits est programmé pour compter les 10èmes de seconde manière asynchrone à partir du système. Quand ça compte un 10ème de seconde il interrompt et incrémente le 10e jour d’une seconde valeur.

Le module de Timer1 16 bits est utilisé pour aller dans les 5 secondes lorsque l’utilisateur appuie sur la touche time Display pour voir le temps. Lorsque cette minuterie coupe, il désactive l’affichage et le ChronosMEGA revient à son état de repos.

5.3. power Management et Mode veille

Un grand objectif était de faire le ChronosMEGA aussi efficace que possible, avec une grande 400mAh batterie, la montre a la capacité de durer très longtemps sur une seule charge. Avec le projet terminé, la ChronosMEGA attire un microampères 4 désintéressé dans son mode "veille" et est calculée pour une durée de 11 ans sur une seule charge.

Le ChronosMEGA suit toujours temps dans cette étape de sommeil, réveillant seulement d’incrémenter le compteur de second et pour les touches. L’horloge système est complètement stoppé, et seul le module Timer2 avec son cristal de 32,768 kHz asynchrone continue à fonctionner.

Lorsque l’utilisateur appuie sur la touche « Sleep », le programme définit un indicateur et désactive l’affichage LED. Dans la boucle principale, le programme vérifie l’indicateur de sommeil et commence les préparatifs de couchage si c’est 0 x 01. Voici la boucle principale :


Les registres de sommeil sont mis en place avant la boucle principale quant à entrer dans le mode "Économie d’énergie" en attribuant à la SM bits [2:0] 0b011. Mode « Économie d’énergie » désactive le ATmega328P mais permet le Timer2 de courir à la condition qu’il soit asynchrone. Comparez match et les interruptions externes seront réveillera le ATmega328P temporairement, afin de la routine d’interruption de service et de se pour rendormir si nécessaire.

5.4. un problème de clignotement de la LED et la gigue

Après avoir téléchargé le programme initial de la ChronosMEGA, j’ai remarqué certains faible scintillement dans certains des LEDs quand ils ne devaient pas être sur. Cela m’a dérangé et je suis venu à la conclusion qu’il doit y avoir quelque chose de mal avec mes conventions de programmation qui a provoqué le problème.

La source du problème a été découvert lorsque j’ai constaté la pile lors de simulations et remarqué que mon généraliste registres étaient ne pas être poussé et dépilé, vissage donc mon traitement. Ceci a été résolu en poussant les registres dans la pile lorsqu’une routine d’interruption du service est appelée et éclater les registres au terme de la procédure. Un exemple d’interruption est illustré ci-dessous :


Lorsque la fonction « IncSec10 » est appelée, la pile s’affiche comme ci-dessous :


Après que « IncSec10 » est terminée, les registres sont sautés hors de la pile afin de restaurer leur valeur d’origine.

Articles Liés

Contrôler un Arduino avec une montre-bracelet (TI eZ430 Chronos)

Contrôler un Arduino avec une montre-bracelet (TI eZ430 Chronos)

la montreLe Texas Instruments eZ430 Chronos est un gadget sympa. Il a la communication radio bidirectionnelle et tout un tas de capteurs : température, pression, accélération.En fait, c'est un kit de développement pour la MSP de 430 (un microcontrôle
Montre-bracelet de Tube Nixie simple

Montre-bracelet de Tube Nixie simple

Il s'agit d'une montre-bracelet de tube nixie roman que j'ai fait il y a quelques années qui utilise un microcontrôleur de MSP430f169 et de deux tubes nixie de IN-17. Elle a un accéléromètre afin que vous ne devez faire tourner votre poignet afin d'a
Montre-bracelet unique Tube Nixie de IN-2

Montre-bracelet unique Tube Nixie de IN-2

Il y a quelques années, j'ai découvert les Nixes et me suis acheté une horloge de Nixie à 4 chiffres, il n'a pas fallu longtemps avant que je voulais aussi faire une montre-bracelet avec un Nixie.Après une longue période de navigation sur internet po
Générer/modifier une montre au poignet ! Un grand cadeau ou tout simplement pour vous-même !

Générer/modifier une montre au poignet ! Un grand cadeau ou tout simplement pour vous-même !

Fatigué de course ennuyeuse de l'usine de montres-bracelets ? Faire un vous-même ! Impressionner cela spécial quelqu'un ou faire un pour vous. Bon marché et facile. Tout ce dont vous avez besoin est une montre au poignet cassé ou de travail, une mont
Lampe tactique montre-bracelet

Lampe tactique montre-bracelet

Montres de poche sont une façon cool, mains-libres permettant d'éclairer, mais ils peuvent être assez coûteux. Cette montre de poche bricolage est un moyen bon marché, facile à transformer les choses que vous avez couché autour de la maison dans une
Montre-bracelet de Steampunk - camarade nuageux le

Montre-bracelet de Steampunk - camarade nuageux le

qui aujourd'hui oserait ensemble au large en quête d'aventure sans une bonne veille sur lui ? Pour ceux qui rêvent de collines embrumées, pics inexplorés, nous vous présentons le camarade nuageux, une montre-bracelet robuste et pratique.Chers clients
Custom, fonctionnement montre-bracelet cadran solaire TJT2/6

Custom, fonctionnement montre-bracelet cadran solaire TJT2/6

cette montre-bracelet de cadran solaire précis est 2 outil Time-voyage de 6. Héraclite décrit temps comme un fleuve se précipiter vers nous. imprimantes 3D de vitesse vers le haut de la rivière, mais à quel taux ? Les outils de bon moment nous aident
Peacock montre-bracelet

Peacock montre-bracelet

je suis tombé sur une montre-bracelet avec ce cadran beau paon. Acheté ; enlevé la courroie donnée ; joué avec quelques perles.
MONTRE-bracelet de réparation : Comment réparer une montre Pierre, perle, cristal, diamant, est tombé

MONTRE-bracelet de réparation : Comment réparer une montre Pierre, perle, cristal, diamant, est tombé

vous avez une montre de mode sympa, pas trop cher, mais une pierre a allez, si vous avez encore le cristal, vous pouvez très facilement obtenir ce retour avec pas trop de bruit
Apple montre bracelet en cuir

Apple montre bracelet en cuir

Mon ami Mat et je fais cuir DIY kits, donc quand il a obtenu une montre Apple pour Noël, devinez ce que nous avons fait? !Il y a des tonnes de Instructables grand sur l'apport des projets de cuir avec des outils traditionnels - ici celle qui nous ont
Montre bracelet

Montre bracelet

Cette instructable contribue à vous faire belle et séduisante bijoux chaîne pour votre montre à petit prix.Étape 1: Éléments requisGrosses perles blanchesPetites perles de couleur orFil enduit d'orSerrure de montre de poignet orCadran de la montreÉta
Montre-bracelet talkie-walkie

Montre-bracelet talkie-walkie

Alrighty, j'ai toujours voulu faire un talkie-walkie montre-bracelet pour émuler les communicateurs utilisés dans Mighty Morphin Power Rangers. Mon intérêt a récemment été rajeuni après avoir trouvé un cool Power Rangers communicator prop et par le d
Comment faire une montre Iris Diaphram

Comment faire une montre Iris Diaphram

tout d'abord je dois enlever mon chapeau haut de forme et s'incliner devant Gogglerman pour ses merveilleuses créations et d'inspiration. Il est un véritable artiste et ce projet n'aurait pas été imaginé si pas pour lui et il n'aurait pas été tenté s
Platines de montre-bracelet

Platines de montre-bracelet

rayer des registres est beaucoup de plaisir, même si vous n'êtes pas un platiniste. Ne vous souhaite pas que vous pouvez abandonner beats phat et zéro partout où vous allez ? Eh bien maintenant vous le pouvez ; être un DJ Hero avec platines montre-br