TD Programmation Embarqué 1
TD Programmation Embarqué 1
É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é :
É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.
É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.
É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 :
É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.