Cours:Shieldinfo
Révision datée du 18 juin 2013 à 20:00 par Bjacquot (discussion | contributions)
Sommaire
Composition
Boutons
description
Le shield comporte 4 boutons, dont 2 possèdent une interruption spécifique comme indiqué dans le tableau suivant :
Bouton | Position | Arduino Pin | Port | Interruption | Résistance de tirage |
---|---|---|---|---|---|
bp0 | Bas Gauche | 2 | PD2 | 0 | Pull Up |
bp1 | Haut Gauche | 3 | PD3 | 1 | Pull Up |
bp2 | Bas Droite | A0 | PC0 | Pull Down | |
bp3 | Haut Droite | A1 | PC1 | Pull Down |
Principe d'utilisation
const char bpPin[4]={2,3,A0,A1}; // Position physique des boutons
char bpEtat[4];
char bpAncien[4];
void setup()
{
char i;
for (i=0;i<4;i++) pinMode(bpPin[i],INPUT); // Déclaration des 4 entrées
}
void loop()
{
char i;
for (i=0;i<4;i++)
{
bpAncien[i]=bpEtat[i]; // Conservation des états précédents
bpEtat[i]=digitalRead(bpPin[i]); // Lecture des nouveaux états
}
if ((bpEtat[0]==0)&&(bpAncien[0]==1)) // En cas d'appui sur bp0
{
......
}
.....
}
Leds
Description
6 leds connectées en "cathodes communes" sont présentes sur la carte. Attention, le commutateur permet de choisir entre les Leds et les afficheurs 7 segments. Leur position et couleur sont données dans le tableau suivant
Numéro | l5 | l4 | l3 | l2 | l1 | l0 |
---|---|---|---|---|---|---|
Couleur | r | o | v | r | o | v |
Arduino Pin | 13 | 12 | 11 | 10 | 9 | 8 |
Port | PB5 | PB4 | PB3 | PB2 | PB1 | PB0 |
Principe d'utilisation
void setup()
{
char i;
for (i=8;i<=13;i++) pinMode(i,OUTPUT); // Déclaration des 6 sorties
}
void loop()
{
char i;
for (i=8;i<=13;i++) digitalWrite(i,HIGH); // Les Leds s'allument
delay(500); // Attente pendant 500ms
for (i=8;i<=13;i++) digitalWrite(i,LOW); // Les Leds s'éteignent
delay(500); // Attente pendant 500ms
}
Afficheurs 7 segments
Description
Les 2 afficheurs ne peuvent pas être utilisés simultanément. L'état de la sortie mux (arduino port 4 ou PD4) permet de sélectionner l'un ou l'autre. En allumant successivement l'un puis l'autre rapidement, on a l'illusion qu'ils sont tous 2 allumés.
Les segments des afficheurs sont câblés de façon analogue comme décrit ci dessous :
Segment | a | b | c | d | e | f | g | pt |
---|---|---|---|---|---|---|---|---|
Arduino Pin | 13 | 12 | 6 | 7 | 8 | 10 | 9 | 11 |
Port | PB5 | PB4 | PD6 | PD7 | PB0 | PB2 | PB1 | PB3 |
Principe d'utilisation
const char pinMux = 4;
const char pinAff[8]={13,12,6,7,8,10,9,11};
void setup()
{
char i;
for (i=0;i<8;i++) pinMode(pinAff[i],OUTPUT); // Déclaration des 8 sorties des afficheurs
pinMode(pinMux,OUTPUT); // + sortie de multiplexage (choix de l'afficheur)
}
void loop()
{
delay(500); // Attente pendant 500ms
delay(500); // Attente pendant 500ms
}