Vous êtes sur la page 1sur 7

I2D info – Séquence 1 – Activité 2

Lanterne de jardin
Problématique : On vous demande de concevoir un prototype permettant à un
propriétaire de maison de connaître l’état de son éclairage variable de jardin.

Comment est constitué la chaîne d’information de la lanterne de jardin ? Comment


afficher l’état de l’éclairage variable de jardin à l’aide d’un module microprogrammé ?

1 Éclairage d’ambiance
La lanterne que vous aller créer comportera :
• une LED ;
• une photorésistance, pour déterminer la luminosité ;
• un microcontrôleur, placé sur une carte Arduino UNO.

2 Chaîne d’information
Compléter la chaîne d’information de la lanterne, en fonction des composants indiqués
précédemment.

Rendez-vous ensuite sur le site de Tinkercad, et connectez-vous à votre compte.


Aller ensuite dans la section Circuit de Tinkercad.

3 Photorésistance
Vous allez apprendre à utiliser une photorésistance et à la programmer. Cela vous servira à
récupérer la luminosité.

1
I2D info – Séquence 1 – Activité 2

3.1 Composant
La plupart des capteurs de luminosité sont
basés sur un composant nommé
photorésistance. La photorésistance est une
résistance dont la valeur en ohms varie en
fonction de la luminosité qu’elle reçoit.
La photorésistance est accompagnée d’une
autre résistance, de valeur fixe cette fois-ci,
afin de créer un pont diviseur de tension. La
tension en sortie du pont diviseur de tension
varie en fonction de la luminosité.

3.2 Montage
Réaliser le montage ci-contre, avec la broche d’entrée analogique A0 connectée au pont diviseur
de tension. Le pont est formé par une photorésistance et une résistance fixe de 160Ω.

Les broches d’entrées analogiques de la cartre Arduino comportent un CAN de résolution n=10
et de tension de pleine échelle V ref =5 V . Ce CAN produit une valeur numérique N,
proportionnelle à la tension qu’il reçoit.

3.3 Programmation
Réaliser le programme bloc ci-dessous.

2
I2D info – Séquence 1 – Activité 2

Lancer la simulation et ouvrez le moniteur-série. En faisant varier la luminosité au niveau de la


photorésistance, vous devriez voir s’afficher dans le moniteur série une valeur allant de 1 (aucune
luminosité) à 246 (le plus lumineux).
Le moniteur-série est un outil très utile, il permet au microcontrôleur d’afficher des indications sur
son état, qui ne seraient pas visibles autrement. Essayez aussi le programme ci-contre.

4 Éclairage variable
Vous allez maintenant apprendre à contrôler une LED de manière analogique. Vous vous en servirez
pour créer un éclairage variable en fonction de la luminosité.

4.1 Modulation de largeur d’impulsion


La modulation de largeur d’impulsion, MLI, est l’opération qui consiste à produire un signal
logique périodique comportant plusieurs impulsions, plus ou moins longues. La durée des
impulsions est contrôlable.

3
I2D info – Séquence 1 – Activité 2

Toutes les broches digitales de la carte Arduino annotées par le symbole ~ possèdent la fonction
MLI. On peut s’en servir pour contrôler la luminosité d’une LED ou la vitesse d’un moteur par
exemple.

4.2 Montage
Ajouter une LED jaune, protégée par une résistance de 110Ω à votre montage. Elle fera office de
lampe et sera connectée à la broche 9 qui possède la fonction MLI.

4.3 Programmation
Réaliser le programme bloc ci-dessous.
Lancer la simulation et vérifier que la LED s’allume plus ou moins fortement en fonction de la
luminosité.
Observer aussi ce qui se passe dans le moniteur-série.

4
I2D info – Séquence 1 – Activité 2

4.4 Appropriation
Ajouter au montage un autre composant qui s’appelle le potentiomètre que vous
connecterez à la broche d’entrée analogique A2. Le potentiomètre est un composant
d’IHM.
Essayer ensuite, avec le même principe que pour la photorésistance, de contrôler la LED
à l’aide du potentiomètre. Utiliser le moniteur-série pour vous rendre compte des valeurs
numériques produites par le CAN en fonction de la position du potentiomètre.
Conclusion

Votre professeur vous a remis du matériel.

• Raccorder la photorésistance et les LED sur le module Arduino.

• Implanter votre programme dans le module Arduino.

• Simuler et valider le fonctionnement.

5 Des blocs aux lignes de code


Tinkercad permet aussi de programmer les cartes Arduino directement dans leur langage de
programmation en ligne de code : le C++. Dans cette dernière partie de l’activité, vous allez voir à
quoi ressemble un programme écrit en C++, et comment le modifier.

5
I2D info – Séquence 1 – Activité 2

5.1 Duplication du circuit


Sur Tinkercad, quitter le circuit actuel et revenir dans votre espace projet (en cliquant sur l’icône
Tinkercad en haut à gauche). Passer la souris au dessus de votre circuit, cliquer sur la roue dentée
et choisir Duplicate.

Remarque : un nouveau circuit s’ouvre ; c’est une copie du précédent. On peut le


modifier sans affecter l’ancien circuit.

5.2 Affichage des lignes de code


Supprimer tous les blocs et reproduire le groupe de blocs ci-contre. Ensuite, cliquer sur la liste
déroulante Blocks, et choisir Blocks+Text. Le programme, écrit en lignes de code, devrait
s’afficher à côté du programme en blocs. Comparer le programme en blocs avec le programme en
texte afin de repérer les similitudes et les différences entre les deux.

5.3 Programme Arduino


Un programme Arduino se décompose en deux parties :
• La fonction setup(), qui comporte les instructions d’initialisation du micro-contrôleur.
Ces instructions seront exécutées une seul fois au démarrage du micro-contrôleur. Ici, elles
servent à préciser qu’on utilise la brochae A0 en mode entrée (INPUT) et la broche 9 en
mode sortie (OUTPUT).

• La fonction loop(), qui comporte toutes les instructions du programme principal du


micro-contrôleur. Ces instructions seront exécutées en boucle, juste après celle de la
fonction setup, tant que le micro-contrôleur sera alimenté. Ici, elles servent à contrôler la
broche 9, par MLI, et donc de manière analogique (analogWrite), en lui donnant la
valeur 246−analogRead ( A 0) . La valeur de la luminosité, sur la broche A0 est lue de
manière analogique grâce à analogRead. Enfin, on a aussi une pause (delay) de 10 ms,
qui permet au simulateur de Tinkercad de fonctionner de manière plus fluide.
Remarque : ce qui se trouve après les symboles // est un commentaire. Il ne fait pas
partie de l’algorithme, il sert juste à donner une indication sur ce que fait le code.

5.4 Programmation en C++


Les lignes de code sont en lecture seule pour le moment ; on ne peut donc pas les modifier. Pour les
modifier, il va falloir cliquer de nouveau sur la liste déroulante Blocks+Text et choisir Text.
Cela aura pour effet de faire disparaître le programme en blocs et de rendre le texte éditable.

6
I2D info – Séquence 1 – Activité 2

Pour terminer cette activité, effectuer les modifications suivantes, en modifiant le montage et le
programme directement en lignes de code. Pour chaque modification, la tester avant de passer à
l’étape suivante :
• Changer la broche de la photorésistance en la mettant sur la broche A3 ;
• Changer la broche de la LED en la mettant sur une broche ayant la MLI ;
• Utiliser le potentiomètre à la place de la photorésistance pour contrôler la LED.
Remarque : vous pouvez reprendre l’activité 1 et de la même manière passer en lignes
de code, analyser le code-source et effectuer quelques modifications pour comprendre
comment coder en C++.

Recopier ci-dessous le code de l’activité 1 « feu tricolore ».


Entourer :
• en noir la partie initialisation ;
• en rouge le programme principal ;
• en vert les lignes de code qui gèrent l’allumage de la LED verte ;
• en bleu les lignes de code qui gèrent l’état du commutateur.

Vous aimerez peut-être aussi