Exercice : Chenillard
Simulateur

Cet exercice est à réaliser avec le simulateur en ligne Wokwi
Schéma
Nous utiliserons le schéma suivant :
Les 8 diodes électroluminescentes (LED) sont connectées aux bits de ports allant de 0 à 7
Question
Il est demandé de réaliser le schéma ci-dessus sur la plate-forme Wokwi ou d'importer le fichier ci-dessous dans le simulateur.
Fonctionnement du port
Il y a plusieurs moyens d’accéder à un port sur Arduino : soit par bit à l'aide d'instructions comme digitalRead()
ou digitalWrite()
soit par octet en utilisant des variables prédéfinies. Dans ce dernier cas, et pour le port correspondant aux broches 0 à 7, il faut :
tout d'abord fixer la direction du port avec la variable
DDRD
,utiliser la variable
PORTD
pour écrire ou lire (pour les bits de port placés en sortie),ou la variable
PIND
pour lire uniquement (pour le bits de port placés en entrée).
Question
Quelle est, d'après la documentation, la valeur à écrire dans DDRD
pour mettre le port (broches 0 à 7) entièrement en sortie ?
Question
Écrivez un programme permettant de faire clignoter toutes les LEDs en même temps
Remarque : il est interdit d'utiliser ici l'instruction digitalWrite()
, il faudra obligatoirement passer par les variables prédéfinies de gestion du port.
Solution
void setup(){
DDRD = B11111111;
}
void loop(){
PORTD = ALLUME;
delay(1000);
PORTD = ~PORTD;
delay(1000);
}
Question
En utilisant la fonction de décalage gauche, réalisez un programme allumant successivement chaque LED pendant une seconde.
Solution
void setup(){
DDRD = B11111111;
PORTD = B00000001;
}
void loop(){
delay(1000); // Wait for 1000 millisecond(s)
PORTD = PORTD << 1;
}