0% ont trouvé ce document utile (0 vote)
26 vues4 pages

TD Programmation Embarqué 1

Le document décrit plusieurs exercices en langage C pour contrôler des LEDs et un afficheur 7 segments à l'aide d'un microcontrôleur. Chaque exercice inclut la création de variables pour les pins, la configuration des sorties, et l'implémentation de fonctions pour gérer les états des LEDs ou afficher des chiffres. Les exercices varient de la gestion d'états d'alerte à des effets de défilement lumineux, en intégrant également la lecture d'un bouton pour déclencher certaines actions.

Transféré par

Wa Jih
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
26 vues4 pages

TD Programmation Embarqué 1

Le document décrit plusieurs exercices en langage C pour contrôler des LEDs et un afficheur 7 segments à l'aide d'un microcontrôleur. Chaque exercice inclut la création de variables pour les pins, la configuration des sorties, et l'implémentation de fonctions pour gérer les états des LEDs ou afficher des chiffres. Les exercices varient de la gestion d'états d'alerte à des effets de défilement lumineux, en intégrant également la lecture d'un bouton pour déclencher certaines actions.

Transféré par

Wa Jih
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 4

Exercice 1 : Fonction avec paramètre de retour

Écrire un programme en langage C pour contrôler trois LEDs connectées aux pins 17, 4, et
2 de votre microcontrôleur.

1. Créez et initialisez les variables LedPin1, LedPin2, et LedPin3 avec les valeurs
respectives 23, 22, et 21.
2. Implémentez une fonction obtenirEtatFeu(int etat) qui retourne une chaîne de
caractères indiquant quel feu est allumé, selon le tableau suivant :

Table de vérité :

3. Dans la fonction setup(), configurez les pins comme sorties et ajoutez


Serial.begin(9600); pour initialiser la communication série.
4. Dans la fonction loop(), appelez obtenirEtatFeu(etat) et affichez le message
correspondant à l'état actuel du feu. Ajoutez également des instructions pour allumer
et éteindre les LEDs en fonction de l'état, et affichez des messages indiquant quel feu
est actif

Exercice 2 : "Système de Surveillance "

Écrire un programme en langage C qui utilise quatre LEDs pour indiquer différents
états d'alerte dans un système de surveillance.

1. Créez et initialisez les variables LedPin1, LedPin2, LedPin3, et LedPin4 avec les valeurs
respectives 22, 23, 21, et 17. Déclarez également une variable pour le bouton,
pinBouton, et initialisez-la à 34.
2. Implémentez une fonction indicateurAlerte(int etat) qui allume les LEDs
correspondantes et retourne une chaîne indiquant l'état, selon le tableau suivant :

Table de vérité :
3. Dans la fonction setup(), configurez les pins comme sorties pour les LEDs et comme
entrée pour le bouton. Ajoutez Serial.begin(9600); pour initialiser la communication
série.
4. Dans la fonction loop(), utilisez digitalRead(pinBouton) pour lire l'état du bouton
connecté à la pin 34. En fonction de l'état du bouton, appelez indicateurAlerte(etat)
et affichez le message retourné par cette fonction dans la console série. Assurez-vous
d'allumer la LED appropriée et d'éteindre les autres.

Exercice 3 : Utilisation d'un Afficheur 7 Segments pour Afficher des Nombres

Écrire un programme en langage C qui utilise un afficheur 7 segments pour afficher des
chiffres de 0 à 9.

1. Créez et initialisez les variables pour les segments de l'afficheur 7 segments. Par
exemple, utilisez les variables a, b, c, d, e, f, et g pour représenter les connexions
des segments, avec les valeurs respectives 2, 3, 4, 5, 6, 7, et 8.
2. Implémentez une fonction afficherChiffre(int chiffre) qui prend un chiffre en entrée
et active les segments correspondants pour afficher ce chiffre. Utilisez le tableau
suivant pour déterminer quels segments activer :
3. Dans la fonction setup(), configurez les pins des segments comme sorties et ajoutez
Serial.begin(9600); pour initialiser la communication série.
4. Dans la fonction loop(), utilisez une boucle pour afficher les chiffres de 0 à 9 sur
l'afficheur 7 segments. Appelez afficherChiffre(chiffre) pour chaque chiffre et
insérez un délai (par exemple, delay(1000);) entre les affichages.

Messages à afficher : Utilisez Serial.println() pour afficher des messages dans la


console série indiquant quel chiffre est actuellement affiché. Par exemple, "Affichage : 0",
"Affichage : 1", etc.

Exercice 4 : Défilement Lumineux

Écrire un programme en langage C qui utilise 5 LEDs pour créer un effet de défilement
lumineux.

1. Créez et initialisez les variables pour les LEDs, LedPin1, LedPin2, LedPin3,
LedPin4, et LedPin5 avec les valeurs respectives 23, 22, 21, 17, et 18.
2. Implémentez une fonction defilerLEDs(int direction) qui prend en paramètre une
direction (1 pour droite, -1 pour gauche) et qui allume les LEDs dans cette direction.
Utilisez une structure if-else pour déterminer la direction du défilement.

Logique de défilement :

o Si direction est 1 (droite) : allumez les LEDs de gauche à droite.


o Si direction est -1 (gauche) : allumez les LEDs de droite à gauche.
3. Setup : Dans la fonction setup(), configurez les pins des LEDs comme sorties.
4. Loop : Dans la fonction loop(), utilisez une boucle pour faire défiler les LEDs dans
les deux directions. Par exemple, commencez par défiler vers la droite, puis vers la
gauche. Ajoutez un délai (par exemple, delay(500);) entre chaque défilement.
o Utilisez digitalWrite() pour allumer et éteindre les LEDs dans la fonction
defilerLEDs().
o Assurez-vous que toutes les LEDs sont éteintes avant de commencer le
prochain défilement.

Exercice 5 : Défilement Lumineux Contrôlé par un Bouton

Écrire un programme en langage C qui utilise 5 LEDs pour créer un effet de défilement
lumineux, déclenché par l'appui sur un bouton. Les étudiants apprendront à utiliser
digitalWrite, digitalRead, delay, et des structures de contrôle if-else.

1.
o Créez et initialisez les variables pour les LEDs, LedPin1, LedPin2, LedPin3,
LedPin4, et LedPin5 avec les valeurs respectives 23, 22, 21, 17, et 18.
o Déclarez une variable pour le bouton, pinBouton, et initialisez-la à 34.
2.
o Implémentez une fonction defilerLEDs(int direction) qui prend en
paramètre une direction (1 pour droite, -1 pour gauche) et qui allume les LEDs
dans cette direction. Utilisez une structure if-else pour déterminer la
direction du défilement.
3. Dans la fonction setup(), configurez les pins des LEDs comme sorties et le pin du
bouton comme entrée. Utilisez Serial.begin(9600); pour initialiser la
communication série.
4.
o Dans la fonction loop(), utilisez digitalRead(pinBouton) pour vérifier si le
bouton est pressé.
o Si le bouton est pressé, commencez le défilement des LEDs dans une direction
(par exemple, à droite). Ajoutez un délai (par exemple, delay(500);) entre
chaque défilement.
o Assurez-vous que toutes les LEDs sont éteintes avant de commencer le
prochain défilement.

Vous aimerez peut-être aussi