Académique Documents
Professionnel Documents
Culture Documents
Introduction à la Numération : TP
1STI2D
Compteur hexadécimal
Pour la réalisation des maquettes, nous utiliserons TinkerCad outil de simulation de la plateforme Arduino.
Comme pour des LED standards, il faut une résistance de limitation du courant sur chaque anode des 8
LEDs composant cet afficheur.
1
/** Fonction setup() */
void setup()
{
/* toutes les broches utilisées en sortie */
for (int i=2; i<10; i++)
{
pinMode(i, OUTPUT);
}
}
/** Fonctionloop() */
Void loop()
{
digitalWrite (2, HIGH);
delay (1000);
digitalWrite (2, LOW);
delay (1000);
}
Modifier le programme pour identifier quelle broche allume quel segment, compléter le schéma
suivant :
Modifiez le code afin que chaque segment s’allume à tour de rôle pendant 200 ms ( pensez à
utiliser une boucle for … )
2
Etape 2 : comptage en hexadécimal
/** Fonctionloop() */
void loop() {
static byte chiffre = 0;
static byte etat_dp = 0;
/* Affiche le chiffre */
affiche_chiffre_7seg(chiffre, etat_dp);
/* Incrémente le chiffre de 0 à 9 */
if (++chiffre == 10) {
chiffre = 0;
}
/* Simple sécurité */
if (chiffre > 10)
return; // Accepte uniquement des valeurs de 0 à 10.
/* Affichage */
digitalWrite(PIN_SEGMENT_A, bitRead(segments, 0));
digitalWrite(PIN_SEGMENT_B, bitRead(segments, 1));
digitalWrite(PIN_SEGMENT_C, bitRead(segments, 2));
digitalWrite(PIN_SEGMENT_D, bitRead(segments, 3));
digitalWrite(PIN_SEGMENT_E, bitRead(segments, 4));
digitalWrite(PIN_SEGMENT_F, bitRead(segments, 5));
digitalWrite(PIN_SEGMENT_G, bitRead(segments, 6));
digitalWrite(PIN_SEGMENT_DP, dp);
}
3
- En cherchant sur le site de « Arduino », quel avantage à déclarer chaque PIN en type byte et non
int ?
-