FabCache : Un système de casiers modulaires, évolutives et traçables (8 / 12 étapes)

Etape 8: Logiciel - avec l’explication technique (partie 1) !

Dans notre projet, nous avons créé 2 versions de notre code pour les casiers.

TL; DR :

Si vous souhaitez ignorer l’explication technique, voici ce qu’il faut faire :

1. Téléchargez le code maître à l’unité avec un clavier et l’écran LCD connecté. Le fichier c’est « Master.ino ».

2. Télécharger le code de l’esclave de l’esclave. Le fichier c’est « Slave.ino ».

Explication technique :

Pour l’unité principale, le codage a obtenu un peu compliqué. Pour le bénéfice de ceux qui ce Instructable, voici une brève explication sur le fonctionne du code.

1. l’obtention de données à partir du tableau :

-Maintenant, ce projet était initialement prévu pour le microcontrôleur PIC 18 utilisé dans Polytechnique de Singapour, mais que nous avons constaté que la fonction Serial Monitor qui a fourni la plate-forme Arduino a été plus facile pour l’exportation des données que l’ancien, nous avons donc opté pour aller avec ce dernier pour notre projet.

-Cela signifie que nous avons un dilemme : le clavier qui l’école qui nous utilise le décodeur 74C922, ce qui signifie que nous avons dû faire quelques ingénierie inverse pour le faire fonctionner avec l’ONU. Cela vaut la peine, car il nous permet d’économiser 2 broches sur les 7 broches requis par défaut dans la bibliothèque de clavier. En substance, le clavier dispose de 5 sorties - un disponible des données de sortie, qui va haut qu’une touche est pressée et D, C, B, des bits, qui composent une représentation de 4 bits de quelle touche a été enfoncée.

Par conséquent, la partie initiale du code fonctionne en lisant les sorties du décodeur clavier uniquement lorsque la broche de données disponibles est élevée, mais rappelez-vous de ceci - la fonction digitalRead est couplée à une variable, et avec les bits de 4 données, cela signifie que nous avons 4 variables. C’est très bien, mais ils sont tous en position LSB !

Dans ce cas, quelques rudiments de programmation contribue - accéder à la fonction de déplacement au niveau du bit. En faisant usage de l’opérateur shifting fonction, nous sommes en mesure de restaurer la sortie de données 4 bits qui fournit le décodeur. Comme bit D est le MSB, nous procédons à un déplacement vers la gauche au niveau du bit, déplaçant par 3 positions, B et C par 2 positions, en 1 position.

Pour l’essentiel, voici ce qui arrive :

Légende :

|3|2|1|0| = Se réfère à des positions de bits individuels dans les données binaires. |3| désigne le bit 3, ou la quatrième position. |0| se rapportent au bit 0, la première position.

Entrée originale :

|3|2|1|0|

| NIL| NIL| NIL| D, C, B, POINTS A| (Comme vous pouvez le voir, bits D, C, B et A sont tous dans la position de bit 0, qui est incorrecte!)

Après un décalage au niveau du bit :

|3|2|1|0|

| D | C | B| POINTS A|

(Il s’agit de la forme originale des données, et cela signifie que nous pouvons faire maintenant utiliser cela pour lire à partir du clavier!)

Maintenant, remarquez que notre clavier est organisé selon le format suivant :

1, 2, 3, F,

4, 5, 6, E

7, 8, 9, D

A, 0, B, C

Ce que cela signifie, c’est qu’il faut organiser ces derniers en un modèle que nous pouvons utiliser pour correspondre au nombre de bit 4 unique généré par le décodeur pour chaque clé de la clé actuelle.

Par conséquent, à l’aide d’un tableau de caractères, nous avons

char de charSet [17] = « 123F456E789DA0BC »

(Ceci est extrait à partir du code)

Cela veut dire que lorsque vous appuyez sur la touche « 1 », le décodeur retourne la valeur de 4 bits « 0000 », ce qui correspond à la position 0 dans le tableau de caractères, ce qui est « 1 ». Si vous appuyez sur « C », le décodeur retourne « 1111 », ce qui correspond à la position 16 dans le tableau de caractères, qui est « C ». Si vous remarquez que notre tableau de caractères est 1 chiffre plus élevé qu’il doit être si cela se fait en C++, frettes pas, car cela fait partie de la syntaxe dans l’IDE Arduino.

Félicitations pour ce qui en fait ici ! Vous avez maintenant compris la méthode derrière l’interfaçage avec un clavier à l’aide d’un décodeur de clavier 74C922 !

Articles Liés

Système de montage modulaire Lego vaisseau

Système de montage modulaire Lego vaisseau

Oui, le MSAS est simple. Profitez-en !Étape 1: Modules Le plaisir commence quand vous obtenez un tas d'entre eux. J'espère que vous njoyed !
Système de mobilier modulaire

Système de mobilier modulaire

matériaux :1-1 x 10" chambre pin1 - paire de jeans usagés1 - un morceau de carte mère, lettre taille aprox.fil pour la coutureoutils utilisés :1 - tenon vu (sierra de costilla)-papier sablé, 50,80,100,220 grain (en feuille chacun environ)1-4" pi
Système de soutien vital 00 - Kit de survie/voyage modulaire A 3 partie

Système de soutien vital 00 - Kit de survie/voyage modulaire A 3 partie

non seulement pour survivre mais pour la vie.* C'est au concours être préparé, si vous aimez ce que vous voyez donnez-lui un vote !Composants du système1. EDC2. sac ultralight 003. complète G.O.O.D. sac (Get Out de Dodge) rentre aka sac, B.O.B.Après
Modulaires « dipneustes » reflux et débit des systèmes de culture hydroponique ou aquaponique.  Plus facile ?

Modulaires « dipneustes » reflux et débit des systèmes de culture hydroponique ou aquaponique. Plus facile ?

Culture hydroponique dipneustes vise à produire un système modulaire ponics où chaque module peut être indépendant et facilement commutables. Il utilise une pompe à air externe afin de simplifier l'ensemble du système. Filtres de blocage sera une cho
(En développement) Casiers en bois modulaire personnalisé Hight

(En développement) Casiers en bois modulaire personnalisé Hight

Oui Oui je sais... J'AI MAL ORTHOGRAPHIÉ « HAUTEUR »et je ne savais pas que je ne pouvais pas modifier le titre...Hey tout le monde, ce sera mon premier Instructible jamais et après lecture et/ou après des dizaines d'autres ' ibles je pense que je sa
Organisez votre atelier avec rayonnage modulaire faible coût (AKA la cale de Français).

Organisez votre atelier avec rayonnage modulaire faible coût (AKA la cale de Français).

Obtenir votre atelier organisé peut être une tâche difficile et coûteuse. Vous pouvez passer des heures suspendus armoires ou étagères murale seulement d'avoir à tout refaire lorsque vous ajoutez une nouvelle pièce d'équipement. Et à peine plus de 3,
PlayCase v1.5 : console portable modulaire, sacoche, Full HD 19 pouces, ajouté haut-parleurs !

PlayCase v1.5 : console portable modulaire, sacoche, Full HD 19 pouces, ajouté haut-parleurs !

Obtenir un moniteur full HD dans le plus petit facteur de forme possible : 19,5 poucesEnlever la lunette et mettre le châssis dans un flight-caseAjouter un système de fixation modulaire pour tenir compte de la plupart des consoles ; PlayStation 3, ou
PVC modulaire support de canne à pêche

PVC modulaire support de canne à pêche

mon premier Instructable!!!  Enfin a fait quelque chose d'intéressant à écrire jusqu'à... au moins, je pense qu'il vaut la rédaction.  Je vous laisse juger...Que mon intérêt pour la pêche a augmenté, et la qualité (et quantité) de l'engin a augmenté,
Comment construire une serre intérieure de quatre étagère modulaire

Comment construire une serre intérieure de quatre étagère modulaire

J'ai conçu le système d'étagère est construit pour tenir quatre semences de taille standard (10 po x 20 po) à partir de plateaux. Les étagères se sont chacun 25 pouces long par 11 1/4 pouces de profondeur étant donné que les plateaux de semences stan
Paqueter stockage modulaire

Paqueter stockage modulaire

Meubles devrait avoir la flexibilité et la polyvalence d'un jouet de bonne construction. Empilement, combinant et re-configuration des éléments discrets pour faire stockage pour n'importe quel espace pourraient économiser de l'argent et réduire les d
Déguster une bonne tasse de thé de cerf-volant propulsé

Déguster une bonne tasse de thé de cerf-volant propulsé

Cerf-volant utilisation généré électricité faire bouillir une bouilloire d'eau. Versez l'eau dans une tasse avec un sachet de thé. Boire le thé.Étape 1: Raisons pour cela. Cerfs-volants peuvent d'extraire l'énergie éolienne énorme. (appelée AWE L'éne
Environnement de développement de ghetto

Environnement de développement de ghetto

un certain temps, j'ai posté un rapide et sale « el cheapo » méthode d'obtention de programmation a commencé les AVR d'Atmel série puces : Ghetto programmeur (version 1.0)Depuis lors, j'ai restructurés, re-vamped et sinon amélioré ma configuration. P
Banque courbe Slip N' glisser

Banque courbe Slip N' glisser

Si à l'époque où j'ai vécu à Portland, Oregon, depuis quelques années, mon ami et moi parlions un jour et il a pensé que ce serait cool de faire un feuillet et une diapositive qui a fait un tour autour de notre feu de camp. Bien sûr, je l'ai dit, « J
Créer votre première Table multi-touch

Créer votre première Table multi-touch

ça fait longtemps que j'ai contribué à ce site Web--passait à une année près--j'essayais d'atteindre un objectif personnel qui était en gestation depuis mes premières années de lycée. Cette instructable a pris 2 ans de recherches indépendantes et des