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.

(Liste du matériel)
(Liste du matériel)
Ligne 6 : Ligne 6 :
==Liste du matériel==
==Liste du matériel==
-
* [[Image:Arduino_Diecimila.jpg|50px]] La carte [[Arduino]] Uno
+
* [[Image:Ordi.jpg|50px]] Un [[ordinateur]] pour programmer
* [[Image:Arduino_Uno_logo.png|50px]] Le logiciel Arduino
* [[Image:Arduino_Uno_logo.png|50px]] Le logiciel Arduino
-
* [[Image:Fils1.jpg|50px]] Du [[fil électrique]] (noir, rouge…)
+
* [[Image:Arduino_Diecimila.jpg|50px]] La carte [[Arduino]] Uno
* [[Image:Plaque2.jpg|50px]] Une plaque labdec ou [[Breadboard]]
* [[Image:Plaque2.jpg|50px]] Une plaque labdec ou [[Breadboard]]
-
* [[Image:Résistance.jpg|50px]] 8 [[résistances]] de 220 Ohm
+
* [[Image:Fils1.jpg|50px]] Du [[fil électrique]] (noir, rouge…)
-
* [[Image:Résistance.jpg|50px]] 2 [[résistances]] de 10 kilo Ohm
+
* [[Image:DEL.png‎ |50px]] 8 [[leds]]
* [[Image:DEL.png‎ |50px]] 8 [[leds]]
-
* [[Image:Ordi.jpg|50px]] Un [[ordinateur]] pour programmer
+
* [[Image:Résistance.jpg|50px]] 8 [[résistances]] de 220 Ω
* [[Image:Bp.jpg|50px]] 2 [[bouton poussoir]]
* [[Image:Bp.jpg|50px]] 2 [[bouton poussoir]]
 +
* [[Image:Résistance.jpg|50px]] 2 [[résistances]] de 10 kΩ
 +
* [[Image:Condensateur.jpg|50px]] 2 [[Condensateur]] de 10 nF
==réalisation du projet==
==réalisation du projet==

Version du 13 janvier 2014 à 22:27

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

Schéma Fritzing

Code

/*

************************************* 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.   **
**                                                                                               **
**                                                                                               ** 
***************************************************************************************************

*/

//************************************ 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 ?
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