Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/LocalSettings.php on line 193

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/LocalSettings.php on line 197

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338
[ Wikidébrouillard ] Compteur binaire 8 bits

Compteur binaire 8 bits

De Wikidebrouillard.

(Présentation du projet arduino)
Ligne 19 : Ligne 19 :
==réalisation du projet==
==réalisation du projet==
===Explication===
===Explication===
 +
 +
Ce compteur binaire possède deux modes de fonctionnement qu'on sélectionne avec le bouton poussoir connecté sur la broche 2 de l'arduino. Un mode manuel qui est sélectionné par défaut et qui incrémente le comptage à l'aide du bouton pousoir connecté sur la broche 11.Un mode automatique qu'on sélectionne/déselectionne par pression sur le bouton en question.
 +
===Schéma Fritzing===
===Schéma Fritzing===
Ligne 28 : Ligne 31 :
************************************* Compteur binaire 8 bits *************************************
************************************* Compteur binaire 8 bits *************************************
-
**                                                                                              **
 
-
**                                                                                              **
 
-
** Ce compteur binaire possède deux modes de fonctionnement qu'on sélectionne avec le bouton    **
 
-
** poussoir connecté sur la broche 2 de l'arduino. Un mode manuel qui est sélectionné par        **
 
-
** défaut et qui incrémente le comptage à l'aide du bouton pousoir connecté sur la broche 11.    **
 
-
** Un mode automatique qu'on sélectionne/déselectionne par pression sur le bouton en question.  **
 
-
**                                                                                              **
 
-
**                                                                                              **
 
-
***************************************************************************************************
 
*/
*/

Version du 26 janvier 2014 à 20:40

Article incomplet en cours de rédaction
Modèle:Vidéo

Sommaire

Présentation du projet arduino

Ce programme réalise un affichage d'un compteur binaire sur 8 LEDs. Chaque LED visualise directement l'état d'un bit de l'octet utilisé pour le comptage. On peut le faire manuellement ou automatiquement en utilisant un bouton, pour passer d'un mode à l'autre.

Liste du matériel

réalisation du projet

Explication

Ce compteur binaire possède deux modes de fonctionnement qu'on sélectionne avec le bouton poussoir connecté sur la broche 2 de l'arduino. Un mode manuel qui est sélectionné par défaut et qui incrémente le comptage à l'aide du bouton pousoir connecté sur la broche 11.Un mode automatique qu'on sélectionne/déselectionne par pression sur le bouton en question.

Schéma Fritzing

Code

/*

************************************* Compteur binaire 8 bits *************************************

*/

//************************************ Déclaration des broches ************************************

const int btn_increment = 11;        // le bouton est connecté à la broche 11 de la carte arduino      
const int LED[8]={3,4,5,6,7,8,9,10}; // déclare un tableau de 8 constantes de broches
                             // la broche 3 correspond au bit de poids faible (index 0 du tableau)
                             // la broche 10 correspond au bit de poids fort (index 8 du tableau)

//****************************** Déclaration des variables globales ******************************

int compteur = 0;                      // variable de comptage
int etat_btn = HIGH;                   // variable qui enregistre l'état du bouton
int dernier_etat_btn = HIGH;           // variable qui enregiste le dernier état du bouton
int btn_mode = 1;                      // variable qui permet de passer d'un mode à l'autre

//*************************************** Fonction setup ***************************************
// La fonction setup() est exécutée en premier et une seule fois au démarrage du programme

void setup()   
{
  pinMode (btn_increment, INPUT);     // le bouton d'incrémentation est une entrée
  for (int i=0; i<=7; i++)            // met les 8 LEDs en sortie
  { 
    pinMode(LED[i], OUTPUT);           
  }
  attachInterrupt(0, changement_mode, RISING); // on initialise l'interruption
}

//********************************** Programme d'interruption **********************************
// La fonction void changement_mode() est exécutée à chaque pression du bouton qui permet de changer de mode

void changement_mode()
{
  btn_mode = !btn_mode;               // change la variable par son opposé
}

//*************************************** Fonction loop ***************************************
// La fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension

void loop()                            // début de la fonction loop
{
  while (btn_mode == 1)                // tant que btn_mode = 1, on exécute cette boucle
  {
    etat_btn = digitalRead (11);       // lit l'état actuel du bouton poussoir et le mémorise dans la variable etat_btn

    if (etat_btn != dernier_etat_btn)  // si l'état du bouton est différent du dernier état, on exécute la boucle
    {
      if (etat_btn == LOW )            // si l'état du bouton est 0
      {
        compteur++;                    // on incrémente le compteur
       
        if (compteur>=256) compteur = 0; // RAZ de la variable compteur lorsque qu'on dépasse la valeur 255
      }

      for (int i=0; i<=7; i++) 
      { 
        digitalWrite(LED[i],bitRead(compteur,i));
      }
      dernier_etat_btn = etat_btn;
      delay (60);
    }
  }

  while (btn_mode == 0 )
  {
    for (int i=0; i<=7; i++) // boucle de défilement des 8 bits / broches    
    {   
      digitalWrite(LED[i],bitRead(compteur,i));// met la broche LED[i] dans l'état du bit de rang i de la variable compteur
    }

    compteur++;                        // on incrémente le compteur
     
    if (compteur>=256) compteur=  0;   // RAZ de la variable compteur lorsque qu'on dépasse la valeur 255

    delay (250);                       // pause de 250ms fixant la vitesse du comptage
  }
}                                      // le programme recommence au début de la fonction loop()


Liens avec d'autres projets arduino

chercher ici : http://wikidebrouillard.org/index.php/Catégorie:Arduino

Pour aller plus loin

Liens avec le quotidien

quelles peuvent être les applications technologique de ce montage, ou est-ce qu'on retrouve des programme qui y ressemble ?
Portail des ExplorateursWikidébrouillardLéon DitFLOGPhoto mystèreJ'ai FaitPortraits
AR
CO

Compteur binaire 8 bits

Rechercher

Page Discussion Historique
Powered by MediaWiki
Creative Commons - Paternite Partage a l

© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique