Accueil > Electronique > Arduino > Librairie pour afficheur 7 segments
Librairie pour afficheur 7 segments
mercredi 19 septembre 2012, par
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 :