Lecture de l’écran à l’aide d’usage général IO directe (10 / 12 étapes)

Étape 10 : Firmware - principal-v1. 0

Comme mentionné, la première version du code va lire l’écran LCD de la balance et puis écrire ces données dans un écran LCD local. C’est simplement une preuve de concept... réécrire les données d’un écran à l’autre est assez inutile ! Je crois que j’ai commenté le code source assez bien pour vous de comprendre ce qui se passe si vous êtes familier du tout avec le code d’AVR, mais je vais aller sur quelques-uns des subtilités.

Quelques fichiers sont inclus :

  • modules/avr.h - j’inclure dans chaque projet AVR sur que je travaille
  • modules/lcd/SerLCD_2x16.h - Prototypes de fonctions et Macros pour l’écriture sur l’écran LCD local
  • definitions.h - tous nos principaux macros et définitions
  • util/delay.h - routines simple retard

Les modules matériels sont configurés dans la fonction de initialize_AVR() que se trouve sur la ligne 486.

Comparateur analogique

Le comparateur analogique est déclenché sur le front montant de COM 1. Il permet ensuite de Timer 0 qui simule le front descendant COM 1 et les 3 autres lignes COM.

Minuterie 0
Minuterie 0 est configuré pour déclencher un ISR de chaque 0.2ms. Un compteur dans l’ISR provoquera des événements se dérouler après une si longue (à savoir, jamais 4ms), et une instruction switch est utilisée pour exécuter des actions différentes pour chaque actif simulé ligne COM. L’état des broches LCD est enregistré pour chaque ligne de la COM, et à la fin du cycle, le Timer 0 est désactivé.

Lecture de l’écran LCD

Le cycle de lecture est démarré par la fonction readLCD() à la ligne 311. Cette fonction simple permet le comparateur analogique et se trouve dans un certain temps en boucle jusqu'à ce que le cycle de lecture terminée. La fonction de decodeDigit() se trouve sur la ligne 321 effectivement transforme toutes les données d’état de broche numériques numéros pour chacun des chiffres LCD.

Écriture de LCD

Les Routines d’écriture LCD trouvé à partir de la ligne 407 ont été écrites par moi tout à l’heure. Ils peuvent aussi se trouve dans le dossier modules/lcd, mais j’ai copié juste les fonctions que je voulais utiliser pour le fichier principal, donc je n’étais pas la compilation des fichiers de plusieurs emplacements. Je pense qu’ils sont assez explicites.

Principal

Dans la fonction Main, l’appareil AVR est initialisé et puis entre dans une boucle pour toujours. À l’intérieur de cette boucle, l’écran LCD est lu, et que les données sont décodées et imprimées à l’écran LCD local pour les tests. Chiffre 4 est ignorée, et je ne vous inquiétez pas le mode d’horloge de l’échelle parce que je ne suis pas suivi les segments de tige LCD AM/PM.

Dans une version antérieure du circuit, j’ai étais suivi toutes les broches de LCD, d'où ma capacité à imprimer les données de mode horloge ; Cependant, le firmware présenté cela est impossible. Notez également le symbole « & » dans les chiffres en raison de la ligne de transmission série utilisée pour imprimer à l’écran LCD qui m’empêche de lire une seule broche de LCD échelle particulière.

Articles Liés

Sauce d’usage général maison

Sauce d’usage général maison

De tomate crue à la sauce délicieuse en quelques étapes faciles. Cette recette vous donne une sauce d'usage général qui fonctionne très bien pour des pâtes, des pizzas et une trempette pour les autres expériences culinaires. À partir de 22 pintes de
Fond d’écran à l’aide de photographie simple et couche de mélange - tutoriel Photoshop

Fond d’écran à l’aide de photographie simple et couche de mélange - tutoriel Photoshop

faire un fond d'écran visuellement à l'aide d'une technique simple à l'intérieur de photoshop.Quelqu'un peut faire un fond d'écran de ce bien et il est beaucoup plus facile que vous ne le pensez !Donc, commençons tout d'abord aller à-Fichier > nouvea
Projecteur écran, à l’aide de matériaux recyclés

Projecteur écran, à l’aide de matériaux recyclés

ceci est mon entrée pour la « difficulté il & améliorer il Contest » dans lequel j'ai amélioré sur une simple feuille-dont nous avons accroché le long du plafond avec du poids sur le fond des choses - pour un écran de projection, de faire une version
Comment faire pour partager Images de votre écran à l’aide de Pixlr

Comment faire pour partager Images de votre écran à l’aide de Pixlr

parfois, lorsque vous rencontrez une conversation en ligne avec quelqu'un, vous voulez leur montrer une image de ce qui est sur votre écran.Si vous vous trouvez dans cette situation, vous avez quelques options :Part de l'écran vidéo sur Skype ou Goog
ESP8266 base de contrôle d’usage général web wifi configurables (partie I)

ESP8266 base de contrôle d’usage général web wifi configurables (partie I)

NOTE : Prêt à partir de planches peuvent être achetés iciD'AT commandes au firmware contrôléeLe genre de nouveau module wifi de ESP8266 n'est pas seulement bon marché, environ 3-4 dollars, son également un module assez polyvalent qui permet des tonne
ESP8266 base de contrôle web configurable wifi usage général (partie II)

ESP8266 base de contrôle web configurable wifi usage général (partie II)

Remarque : Un prêt à partir le Conseil d'administration peut être acheté iciSur la deuxième partie je vais aller sur comment programmer le ESP8266 donc une clé USB à module série et un terminal n'est pas nécessaire : il tous se fera via le web. Aussi
Signalisation de sécurité et de leur usage général

Signalisation de sécurité et de leur usage général

dans le début de 1890, lorsque les véhicules commençaient tout juste à être un spectacle commun, il y a des obstacles à surmonter. Accidents ont été sur l'élévation et le nombre de morts n'étaient pas rare. Prendre plusieurs mesures pour remédier à c
ESP8266 base de contrôle web configurable wifi usage général (partie III)

ESP8266 base de contrôle web configurable wifi usage général (partie III)

NOTE : Prêt à partir de planches peuvent être achetés iciLa partie électroniqueDans la partie I et II nous avons vu comment programmer et configurer à distance les ESP8266 pour qu'il devienne un processeur d'événements TCP et utiliser GPIO pour commu
Servo Feedback Hack (gratuit)

Servo Feedback Hack (gratuit)

ce Instructable présentée par le genre Electronics de gens une RachelVisitez www.rachelselectronics.com pour les kits Electronique cool et breadouts !Cette entaille de servo de passe-temps ajoutera la rétroaction de position arbre en puisant dans le
BT Portable multi-usage bande à l’aide de Linkit un

BT Portable multi-usage bande à l’aide de Linkit un

Nous sommes dans une programmation orientée objet, alors utilisez un projet unique pour usage multiple est le thème ici. Voilà, j'ai fait une bande numérique. Utiliser avec un téléphone intelligent pour parking et ruban portable pour mesurer la dista
3 a banc Variable bloc d’alimentation avec affichage numérique sur écran couleur à l’aide de ATMEGA8

3 a banc Variable bloc d’alimentation avec affichage numérique sur écran couleur à l’aide de ATMEGA8

Je joue avec l'électronique étant donné que j'étais un enfant et fait de nombreux circuits. Mais encore maintenant, j'ai n'a pas fait n'importe quel bloc d'alimentation pour usage général à utiliser. Tellement fatigué de faire bloc d'alimentation pou
Thermomètre intérieur avec écran LCD et de lecture de « Analogique » avec NeoPixels

Thermomètre intérieur avec écran LCD et de lecture de « Analogique » avec NeoPixels

Salut! Ce Instructable est un projet Arduino rapide, intermédiaire qui prend une température lecture à partir d'un TMP36, il lit sur un écran LCD et donne une lecture de « Analogique » sur un bâton de neopixel qui change de couleur et le nombre de lu
À l’aide de fichiers Batch pour faire un match amical à l’écran Ghost

À l’aide de fichiers Batch pour faire un match amical à l’écran Ghost

Bonjour ! Ce didacticiel vous apprend à fabriquer un petit fantôme lunatique sur votre écran à l'aide de la programmation de lot ! Amusez vous hanter votre ordinateur !Étape 1: 1. Ouvrez votre éditeur La première chose que nous devons faire pour comm
Lecture des capteurs avec un microprocesseur.

Lecture des capteurs avec un microprocesseur.

Dans mon précédent Instructable j'ai montré comment de simples commandes pourraient servir à une sortie de microprocesseur et allumera une LED.Je tiens à préciser je ne suis pas connecté avec Picaxe et ces projets sont ceux j'ai utilisé à l'école pou