Accueil > Electronique > Arduino > Librairie pour afficheur 7 segments

Librairie pour afficheur 7 segments

mercredi 19 septembre 2012, par Laurent

PNG - 126 ko

Fonction :

SevenSeg()
Crée une variable de type SevenSeg en définissant le type (Anodes ou Cathodes communes), pilote (Direct ou Transistor) et les broches utilisées, gère de 2 à 8 afficheurs
syntaxe :
// 2 afficheurs
SevenSeg afficheur(type,pilote,a,b,c,d,e,f,g,dp,com1,com2)
// 8 afficheurs
SevenSeg afficheur(type,pilote,a,b,c,d,e,f,g,dp,c1,c2,c3,c4,c5,c6,c7,c8)
clear()
Efface l’écran et positionne le curseur sur le 1er afficheur
syntaxe :
afficheur.clear()
home()
Positionne le curseur sur le 1er afficheur
syntaxe :
afficheur.home()
setCursor()
Positionne le curseur sur un afficheur
syntaxe :
afficheur.setCursor(colonne)
cursor()
Affiche le curseur sous forme d’un trait de base (_)
syntaxe :
afficheur.cursor()
noCursor()
Masque le curseur (trait de base sous l’emplacement courant)
syntaxe :
afficheur.notCursor()
display()
Rallume l’écran de l’afficheur LCD , après qu’il ait été éteint avec l’instruction noDisplay() ?. Ceci réactive à l’identique le texte et le curseur de l’affichage tels qu’ils étaient.
syntaxe :
afficheur.display()
noDisplay()
Masque l’affichage
syntaxe :
afficheur.noDisplay()
write()
Ecrit un caractère sur l’afficheur
syntaxe :
afficheur.write(data)
print()
Affiche texte et nombre sur l’afficheur
syntaxe :
afficheur.print("texte")
afficheur.print(data)
afficheur.print(data, BASE)
multiplex()
gère le multiplexage de l’affichage des digit : éteint le digit qui était allumé, et allume le suivant. Doit être appelé au moins 50 fois/s * le nombre de digit, soit 200 fois par s pour 4 digit
syntaxe :
afficheur.multiplex()

exemple n°1 :

compteur 10ème de s

#include <SevenSeg.h>

SevenSeg afficheur(Anode,Direct,0,1,2,3,4,5,6,7,8,9,10,11);

void setup()
{
}

void loop()
{
    afficheur.println(millis()/100);
    afficheur.multiplex();
    delay(5);
}

exemple n°2 :

affichage OK avec curseur puis compteur de 10ème de s
utilisation de la librairie MsTimer2 pour la gestion du multiplexage

#include <SevenSeg.h>
#include <MsTimer2.h>

SevenSeg afficheur(Cathode,Transistor,0,1,2,3,4,5,6,7,8,9,10,11);

void setup()
{
 MsTimer2::set(5, interrupt); // 5ms*4=20ms -> 50Hz
 MsTimer2::start();
 afficheur.cursor();
 delay(5000);
 afficheur.setCursor(2);
 afficheur.print('O');
 delay(1000);
 afficheur.print('K');
 delay(1000);
 afficheur.print('.');
 delay(3000);
 afficheur.home();
 delay(3000);
 afficheur.noDisplay();
 delay(1000);
 afficheur.display();
 afficheur.noCursor();
 afficheur.clear();

}

void interrupt()
{
 afficheur.multiplex();
}

void loop()
{
 afficheur.println(millis()/100);
}

ci-joint la librairie :

Zip - 130.7 ko