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.
Liste du matériel :
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
}
}