top of page

LE MODULE ME AFFICHEUR 7 SEGMENTS

Le module "Me Afficheur 7 segment" comporte 4 afficheurs 7 segments à anodes communes pilotés par un driver TM1637. Les fonctions contenues dans la bibliothèque Makeblock sont :

  • Me7SegmentDisplay afficheur(PORT_X) où PORT_X est le port sur lequel est branché le module. Cette fonction permet de créer l'objet.

  • afficheur.init() initialise l'objet afficheur.

  • afficheur.set(BRIGHTNESS_0) où BRIGHTNESS représente la luminosité des afficheurs. Le paramètre varie de BRIGHTNESS_0 à BRIGHTNESS_7.

  • afficheur.clearDisplay() éteind les afficheurs.

  • afficheur.display(nombre) affiche le nombre sur les 4 afficheurs. Nombre peut être une variable de type integer, long et float.

  • afficheur.display(chiffre,tableau[0]) affiche le chiffre sur le premier afficheur. Il faut déclarer un tableau à 4 variables sous la forme :

        int tableau[]={ 0x00, 0x00, 0x00, 0x00 }.

Le tableau ci- dessous donne les ports des cartes "Me Orion" et "Me Auriga" pouvant être connectés à ce module.

Exemple :

Nous souhaitons réaliser un compteur qui s'incrémente à chaque appui sur un bouton poussoir d'un module "Me Bouton". Un autre bouton du module "Me Bouton" permet de remettre le compteur à 0.

Programme :

/* Afficheur_Makeblock est un programme qui compte les impulsions d'un des 4 boutons du module "Me Bouton".
Un autre bouton permet de remettre à 0 l'affichage */

// #include "MeAuriga.h"                                         // appel de la bibliothèque si carte Me Auriga
#include "MeOrion.h"                                               // appel de la bibliothèque si carte Me Orion                                                  

Me7SegmentDisplay afficheur(PORT_6);              // création de l'objet afficheur
(module branché sur le PORT 6)
Me4Button bouton(PORT_8);                                  // création de l'objet bouton (module branché sur le PORT 8)

int touche;
int compt=0;
int affiche_compt=0;


void setup()
{                                                 

}

void loop()
{
afficheur.display(affiche_compt);                            // on affiche compt
touche=bouton.pressed();
delay(25);                                                                   // anti-rebonds
if (touche==1)
  {
  compt=compt+1;                                                    // on compte
  affiche_compt=compt/5;                                       // le module bouton envoie 5 impulsions à chaque appui même si on supprime les rebonds
  }
if (touche==3)
  {
  compt=0;                                                                  // on remet compt à 0
  }                                                                                              
}

bottom of page