KeyChainino - le premier jeu trousseau Programmable avec Arduino (3 / 14 étapes)

Etape 3: Analyser l’Init de croquis

Maintenant je vous expliquer, étape par étape, toutes les lignes de l’esquisse.

Les premières lignes #include sont utilisés pour importer le code spécifique de l’avr pour poignée, dans l’ordre :

  • Bibliothèque d’interruption pour gérer l’interruption du timer 1 et boutons. Les interruptions des deux boutons servent à réveiller le microcontrôleur après qu’il se met en veille pour réduire la consommation d’énergie.
  • PROGMEM bibliothèque est utilisée pour mettre la variable constante à la mémoire FLASH au lieu de la mémoire RAM. Il est utilisé car toutes les variables utilisées sur le croquis sont stockés dans la mémoire RAM du micro-contrôleur et, habituellement, le Bélier est inférieure à la mémoire FLASH.
    Alors, lorsque j’utilise un grand nombre de variables constantes - comme la matrice de nombres - je dois mettre dans le FLASH pour économiser de la mémoire RAM.
    Je tiens à vous informer que l’IDE d’Arduino, habituellement, ne montre pas si la mémoire RAM du microcontrôleur est pleine. Si vous avez rempli l’ensemble de la RAM, simplement le croquis va planter à un certain moment et vous serez fou parce que vous ne pas comprendre pourquoi il arrive.
    Donc, si vous utilisez de grandes variables constantes, comme un tableau multidimensionnel, utilisent s’il vous plaît PROGMEM.
  • Bibliothèque de dormir est utilisée pour mettre le microcontrôleur dans un état de profond où il consomme d’énergie très faible.
  • Bibliothèque de puissance est utilisé pour gérer la puissance des périphériques dans le microcontrôleur - comme l’ADC, timers, etc.. Lorsque nous n’avez pas besoin de ces périphériques nous fermons d’eux.

Ensuite, nous avons la valeur de constante pour la matrice, les broches et les boutons :

Dans l’ordre :

  • MATRIX_ROW est le nombre de LEDs lignes. Dans ce cas 5 LEDspar ligne.
  • MATRIX_COL est le nombre des LEDs cols. Dans ce cas 6 LEDs par colonne.
  • PIN_NUMBER est le nombre de broches , utilisé pour la matrice de Charlieplexing 6 x 5 LEDs.
  • Button_A est le nombre de broches du bouton gauche. Ce bouton déclenche l’interruption PCINT6
  • Bouton _B est le nombre de broches du bouton droit. Ce bouton déclenche l’interruption INT0 .

Maintenant, nous avons les variables utilisées pour la matrice de LEDs de Charlieplexing :

  • pins [PIN_NUMBER] est un tableau qui stocke les 7 broches utilisées pour le Charlieplexing.
  • connectionMatrix [MATRIX_ROW] [MATRIX_COL] [2] est un tableau multidimensionnel qui montre la seule connexion de chaque LED dans la matrice Charlieplexing.
    Le premier numéro de deux chiffres entre les accolades, est l’Anode.
    Le deuxième numéro est la Cathode.

  • matrixState [MATRIX_ROW] [MATRIX_COL] est le tableau multidimensionnel qui indique quel LEDs doivent être activées ou désactivée. Si vous modifiez un seul bit de cette matrice, la LED correspondante est en marche de l’arrêt selon laquelle bit vous insérez: 1 est activé, 0 est défini sur OFF.
    Cette matrice est toujours utilisée dans le sketch, parce que pour montrer l’objet, comme le pad et le ballon, on doit être écrit dans cette matrice. Si vous devez supprimer la position précédente en mettant les coordonnées de l’objet dans le matrixState à 0, et alors vous pouvez écrire la nouvelle position en mettant 1 pour les nouvelles coordonnées. Toujours dans le matrixState.

    Si vous souhaitez afficher un visage dans la matrice de LED, vous devrez passer tous les bits de votre matrice de visage à la matrixState. Comme par magie les LEDs suppose votre matrice de visage ! :)
    Ceci parce que la matrice Charlieplexing est automatiquement actualisée - avec interruption de débordement timer 1 - selon uniquement à la matrixState de matrice.

Articles Liés

Programmation avec arduino : Introduction

Programmation avec arduino : Introduction

Progduino est un programme gratuit pour les utilisateurs de l'Arduino. Progduino construit pour aider les utilisateurs de Arduino qui veulent construire leur propre logiciel d'ordinateur qui pourrait communiquer avec Arduino dans une manière très sim
Faire votre premier jeu vidéo (avec flash)

Faire votre premier jeu vidéo (avec flash)

tout d'abord désactiver ce Instructable suppose que vous n'avez aucune expérience en utilisant flash. I'f vous connaissez un peu, mais je n'avez jamais fait un jeu avant de sauter les premières étapes impliquant l'utilisation d'outils.J'ai été maudir
Controller(Joystick) jeu de Bluetooth avec Arduino et Jetpack

Controller(Joystick) jeu de Bluetooth avec Arduino et Jetpack

Hey, je veux montrer une façon simple de construire un base contrôleur de jeu avec joystick. Le Jetpack transmet les données par manette en série via Bluetooth. Vous pouvez jouer n'importe quel jeu sur votre PC avec ceci, vous avez juste besoin de ch
Jeu de Tetris avec Arduino

Jeu de Tetris avec Arduino

Développer Tetris jeu via Arduino et apprendre à développer un jeu de simulation rapidement pour reproduire le classique. Tetris Jeux aide maker pour étudier l'utilisation de l'écran LCD et le programme Arduino.Démo de :Arduino advanced kit fourni pa
ATtiny programmation avec Arduino

ATtiny programmation avec Arduino

après ce Instructable, vous devriez être en mesure de programmer une A Ttiny85/45 avec un arduino. Il peut sembler complexe, mais il n'est pas vraiment. Après quelques recherches, je ne pouvais pas trouver à beaucoup d'infos sur comment cela pourrait
BRICOLAGE à la main Hexapod avec arduino (Hexdrake)

BRICOLAGE à la main Hexapod avec arduino (Hexdrake)

Bonjour, je suis David, et dans ce instructable je vais montrer comment j'ai fait cette hexapode dont le nom est Hexdrake.Étant donné que j'avais 16 ans je me suis intéressé en électronique et en robotique. Après être certaine et programmation de com
Construire un circuit transistor pour contrôle télécommande de climatiseur avec Arduino

Construire un circuit transistor pour contrôle télécommande de climatiseur avec Arduino

je soutenais un groupe d'étudiants sur leur projet de remise des diplômes. Une des difficultés qu'ils rencontrent est sur le contrôle d'une unité de climatisation avec microcontrôleur Arduino.La première expérience, que nous avons essayé de s'en sort
LED Cube avec Arduino et PCB personnalisé

LED Cube avec Arduino et PCB personnalisé

cette instructable détaille la conception et la construction des processus pour une 5 x 5 x 5 cube LED, contrôlée avec un Arduino, qui réside sur un circuits imprimés personnalisés.Vidéos, photos et informations supplémentaires se trouvent sur mon si
Esp8266 12e avec Arduino IDE avec des exemples de solutions +

Esp8266 12e avec Arduino IDE avec des exemples de solutions +

ABOUT- NodeMCU est une plate-forme open source de l'ITO. Il utilise le langage de script Lua, mais ce Conseil de développement est maintenant compatible à programmer avec Arduino IDEesp8266 12e est un excellent moyen pour atteindre ITO avec quoi que
Programmer un Arduino en déplacement avec votre Android phone ou une tablette

Programmer un Arduino en déplacement avec votre Android phone ou une tablette

au fil des ans, Android est devenu une formidable plate-forme mobile qui offre beaucoup de fonctionnalités seulement auparavant sur les PC. Aujourd'hui je vous apporte une façon d'écrire, compiler et télécharger des programmes Arduino sur l'aller ave
Programmation des AVR avec Arduino comme ISP sans Bootloader et Crystal externe

Programmation des AVR avec Arduino comme ISP sans Bootloader et Crystal externe

Salut!!. Je suis Avra et c'est mon premier instructable. Ici je vais vous expliquer comment graver les codes sur autonome AVR ICs sans utiliser n'importe quel USBASP, tout cristal externe et un chargeur de démarrage. Vous avez seulement besoin d'une
8 x 8 x 8 LED Cube avec Arduino Mega (+ Sound + PS contrôleur + jeu)

8 x 8 x 8 LED Cube avec Arduino Mega (+ Sound + PS contrôleur + jeu)

il s'agit d'une instructable qui repose sur le CubeChr, (par SuperTech-IT, (et par das-labor.org, (http://www.das-labor.org/wiki/Borg3d_Bauanleitung...)mais je pense que sa meilleure et plus facile.J'ai commencé ce projet sans aucune qualification de
Tactile clavier / contrôleur avec Arduino et la transformation de jeu

Tactile clavier / contrôleur avec Arduino et la transformation de jeu

cette instructable décrit une manière simple et rapide pour créer un clavier tactile ou contrôleur de jeu à l'aide-carton,-papier d'aluminium,- et un Arduino.Il fournit également les codes Arduino et traitement immédiatement commencer à jouer !Idéal
Ajouter des boutons de votre manette de jeu X52-Pro avec un Arduino Micro

Ajouter des boutons de votre manette de jeu X52-Pro avec un Arduino Micro

J'ai une configuration HOTAS Saitek X52-Pro dont je me sers pour Elite : dangereux. C'est une manette de jeu fantastique mais il pourrait faire avec juste quelques boutons de plus. À l'aide d'un Arduino Micro, vous pouvez étendre (ou toute autre) joy