Vous êtes sur la page 1sur 35

Nom : Prénom : TP d’Initiation à Arduino

Index des TPs


TPs réalisés
Préambule Quelques Bases de Programmation

ARD-01 Le Clignotant de Voiture 


 la PWM (Modulation de largeur d’Impulsion)

ARD-02 La Guirlande Lumineuse de Noël 


 la Boucle FOR

ARD-03 Le Déplacement de La Voiture Télécommandée 


 l’Interface de Puissance

ARD-04 La Direction de la Voiture Télécommandée 


 le Servomoteur

ARD-05 Le Réverbère 
 l’Entrée Analogique

ARD-06 La Porte de Garage 


 l’Interface de Puissance avec Relais

ARD-07 L’Affichage Municipal 


 l’Afficheur LCD

Pensez à sauvegarder tous vos algorigramme sous la forme « ARD-01_cligno-


DUPONT » sur le Bureau puis à le glisser dans : \\ampere\SI_Premiere\A Rendre.
Vous pouvez alors l’effacer du Bureau.

1
Nom : Prénom : TP d’Initiation à Arduino

Préambule Quelques Bases de Programmation Index des TPs

2
Nom : Prénom : TP d’Initiation à Arduino

3
Nom : Prénom : TP d’Initiation à Arduino

Préambule Quelques Bases d’Electronique Index des TPs

4
Nom : Prénom : TP d’Initiation à Arduino

5
Nom : Prénom : TP d’Initiation à Arduino

ARD-01 Le Clignotant de Voiture In


d
ex
d
es
T
P
s

Le scénario : Créer un clignotant pour la voiture !

LE CIRCUIT A CABLER

LE CODE A TAPER

Lancez Arduino et démarrez un nouveau programme. Tapez le code et testez.

Pour Compiler Pour Compiler et Transférer le Programme

/* Blink
Allume une LED pendant une seconde puis l’éteint pendant une seconde, de façon répétée.
*/
int ledPin = 13; // LED connectée sur la patte numérique 13
void setup() // La fonction setup() s’exécute une fois,
{ // lorsque le programme se lance
pinMode(13, OUTPUT); //initialise la patte numérique en tant que sortie
}
void loop() // La fonction loop() s’exécute encore et encore, aussi longtemps
{ // que l’Arduino est alimentée
digitalWrite(13, HIGH); // allume la LED (HIGH=5V)
6
Nom : Prénom : TP d’Initiation à Arduino
delay(1000); // attend une seconde
digitalWrite(13, LOW); // éteint la LED (LOW=0V)
delay(1000); // attend une seconde
}

Validation 

7
Nom : Prénom : TP d’Initiation à Arduino

ARD-01 TP de Synthèse Index des TPs

Rôle de la résistance en série avec la LED


1) Quel est le rôle de la résistance ? Justifiez sa valeur sachant que la tension de seuil de la
LED est de 2,1V et que l’on souhaite qu’un courant max de 10 mA circule dans la LED.

2/2

2) On veut modifier la vitesse de clignotement de la LED de telle sorte que l’on est une fréquence
de clignotement de 2Hz ? Proposez une solution puis Testez.

2/2

Contrôle de la luminosité de la LED grâce à la PWM


On désire contrôler la luminosité de la LED. Pour cela, nous allons lui envoyer un signal rectangulaire
compris entre 0V (Low) et 5V (High) de rapport cyclique variable  = ton / T. La LED est alors
connectée à la patte 13.
3) Modifiez le programme et le câblage pour remplacer la patte 13 par la patte 9 en expliquant
vos modifications. Testez son fonctionnement qui doit être le même que précédemment pour
le moment.

2/2

4) A l’aide des explications sur la PWM données page suivante, exprimer Vmoy en fonction du
Rapport cyclique  puis compléter le tableau ci-dessous.

Rapport 0 25 % 50 % 75 % 100 %
cyclique 
Vmoy (V

2/2

8
Nom : Prénom : TP d’Initiation à Arduino
Fonctionnement de la PWM (Pulsation Widh Modulation, Modulation de la Largeur d’Impulsion) :

5) Remplacez maintenant les lignes de code commandant l’allumage et l’extinction de la LED par
le type de ligne suivante, en prenant soin de l’adapter à notre cas, on choisira une luminosité 4
fois moins forte que la précédente.
analogWrite(ledPin, nombre);
A savoir, nombre = n’importe quel nombre compris entre 0 et 255 (voir schéma ci-dessus).

2/2

6) On se propose maintenant d’augmenter la luminosité de 0 à 255 avant de la diminuer de 255


à 0. Compléter la fin du programme :

int ledPin = 9; // LED connectée sur la patte numérique 9


void setup()
{
pinMode(9, OUTPUT); //initialise la patte numérique en tant que sortie
}

void loop()
{
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) // pour la valeur de 0 à 255 par pas de
5
{
analogWrite(ledPin, fadeValue);
delay(30);
}
…..
9
Nom : Prénom : TP d’Initiation à Arduino
}

2/2

7) On se propose maintenant de régler la luminosité directement à partir d’un potentiomètre.


Effectuer le câblage de tel sorte qu’il soit conforme au programme suivant, c’est la patte du
milieu du potentiomètre qui sera relié à l’Arduino.
Remarque : On utilise pour ce programme une entrée analogique connectée à un CAN
(Convertisseur Analogique Numérique) intégré à l’Arduino.

int potPin = 0; // broche d’entrée pour le potentiomètre (entrée analogique A0)


int ledPin = 9; // broche de connection pour la LED
int Valeur = 0; // variable pour stocker la valeur venant du potentiomètre
void setup()
{
pinMode(ledPin, OUTPUT); //déclare ledPin comme une sortie:
}
void loop()
{
Valeur = analogRead(potPin); // lit la tension analogique comprise entre 0V et 5V
// issue du montage à potentiomètre et la convertit
// en valeur numérique comprise entre 0 et 1023
Valeur = map(Valeur, 0, 1023, 0, 255) ;
digitalWrite(ledPin, Valeur); // donne la valeur Valeur à ledPin
}

2/2

8) Testez le programme et commentez.


.

2/2

9) Une erreur s’est glissée dans le programme précédent, corriger là et tester à nouveau.

2/2

10) A votre avis, quelle est la fonction de la ligne : Valeur = map(Valeur, 0, 1023, 0, 255) ;

10
Nom : Prénom : TP d’Initiation à Arduino

2/2

11
Nom : Prénom : TP d’Initiation à Arduino

ARD-02 La Guirlande Lumineuse de Noël Index des TPs

Le scénario : Créer des jeux de lumière pour les guirlandes du sapin de Noël !

LE CIRCUIT A CABLER
On va dans un premier temps créer un chenillard avec 8 leds.

LE CODE A TAPER

/* 8 LED fun */
int ledPins[] = {2,3,4,5,6,7,8,9}; // Un tableau pour stocker les pattes correspondant à
// chaque LED. Ex : la LED 0 est connectée à la patte 2
void setup()
{
12
Nom : Prénom : TP d’Initiation à Arduino
for(int i = 0; i < 8; i++) // Cette boucle sera répétée 8 fois
{
pinMode(ledPins[i],OUTPUT); // Les pattes des LED sont mises en sortie
}
}
void loop()
{
oneAfterAnotherNoLoop(); // appel du sous-programme “oneAfterAnotherNoLoop” :
} // allume chaque LED une par une puis les éteint
void oneAfterAnotherNoLoop() // sous-programme “oneAfterAnotherNoLoop”
{
int delayTime = 100; // le temps de pause (en millisecondes)
//Allumer chaque LED
digitalWrite(ledPins[0], HIGH); // Allume la LED 0 (connectée à la broche 2)
delay(delayTime); // attends delayTime en millisecondes
digitalWrite(ledPins[1], HIGH); // Allume la LED 1 (connectée à la broche 3)
delay(delayTime);
digitalWrite(ledPins[2], HIGH); // Allume la LED 2 (connectée à la broche 4)
delay(delayTime);
digitalWrite(ledPins[3], HIGH); // Allume la LED 3 (connectée à la broche 5)
delay(delayTime);
digitalWrite(ledPins[4], HIGH); // Allume la LED 4 (connectée à la broche 6)
delay(delayTime);
digitalWrite(ledPins[5], HIGH); // Allume la LED 5 (connectée à la broche 7)
delay(delayTime);
digitalWrite(ledPins[6], HIGH); // Allume la LED 6 (connectée à la broche 8)
delay(delayTime);
digitalWrite(ledPins[7], HIGH); // Allume la LED 7 (connectée à la broche 9)
delay(delayTime);
//Eteindre chaque LED
digitalWrite(ledPins[7], LOW); // Eteints la LED 0 (connectée à la broche 2)
delay(delayTime); // attends delayTime en millisecondes
digitalWrite(ledPins[6], LOW); // Eteints la LED 1 (connectée à la broche 3)
delay(delayTime);
digitalWrite(ledPins[5], LOW); // Eteints la LED 2 (connectée à la broche 4)
delay(delayTime);
digitalWrite(ledPins[4], LOW); // Eteints la LED 3 (connectée à la broche 5)
delay(delayTime);
digitalWrite(ledPins[3], LOW); // Eteints la LED 4 (connectée à la broche 6)
delay(delayTime);
digitalWrite(ledPins[2], LOW); // Eteints la LED 5 (connectée à la broche 7)
delay(delayTime);
digitalWrite(ledPins[1], LOW); // Eteints la LED 6 (connectée à la broche 8)
delay(delayTime);
digitalWrite(ledPins[0], LOW); // Eteints la LED 7 (connectée à la broche 9)
delay(delayTime);
}
1) Entrez le code et observez son fonctionnement. Décrire le jeu de lumière obtenu.

13
Nom : Prénom : TP d’Initiation à Arduino

Validation 
ARD-02 TP de Synthèse Index des TPs

1) Reprendre le programme précédent du chenillard, mais en modifiant le sous-programme


“oneAfterAnotherNoLoop” que l’on nommera maintenant oneAfterAnotherLoop. Afin de
raccourcir le programme, on va y insérer 2 boucles Pour, une pour l’allumage et une pour
l’extinction des 8 leds. Modifiez le programme et testez son fonctionnement. Est-il conforme à
ce qui est attendu ?

8/8

2) On propose le sous-programme suivant qui permet d’allumer et d’éteindre 2 leds en même


temps. Déchiffrez le code et complétez le tableau à la suite du programme.
void oneOnAtATime()
{
int delayTime = 100;
for(int i = 0; i <= 7; i++) // pour i = 0 jusqu’à 7,
{
int offLED = i - 1; // on fait offLED = i-1, calcule quelle LEDs doivent être
// allumée et éteinte en même temps
// (si i=2, on allumera LED 2 et on éteindra LED 1)
if(i == 0) { // Cependant si i=0, nous ne pouvons pas éteindre LED -1
// car elle n’existe pas
14
Nom : Prénom : TP d’Initiation à Arduino
offLED = 7; // on éteint d’office la LED 7
}
digitalWrite(ledPins[i], HIGH); // allume LED i
digitalWrite(ledPins[offLED], LOW); // éteind LED i-1
delay(delayTime);
}
}
i 0 1 2 3
OnLED 0 1 2 3
OffLED 7 0 1 2
Bilan

i 4 5 6 7
OnLED 4 5 6 7
OffLED 3 4 5 6
Bilan

3) Insérez le nouveau code et observez son fonctionnement. Est-il conforme à ce qui est
attendu ?

2/2

4) On souhaite inverser le sens de rotation du chenillard. Modifiez le programme et observez son


fonctionnement. Est-il conforme à ce qui est attendu ?

4/4

5) On propose le sous-programme suivant qui permet d’allumer les leds 2 à 2. Déchiffrez le code
et complétez le tableau à la suite du programme.

15
Nom : Prénom : TP d’Initiation à Arduino
void inAndOut()
{
int delayTime = 100;

for(int i = 0; i <= 3; i++) // Pour i=0 à 3


{
int offLED = i - 1; // on calcule offLED, pour i = 1 jusqu’à 3, on fait offLED = i-1
if(i == 0) // Cependant si i=0,
{
offLED = 3; // on pose d’office offLED = 3
}
int onLED1 = 3 - i; // C’est la première LED allumée en même temps que
int onLED2 = 4 + i; // la deuxième LED allumée
int offLED1 = 3 - offLED; // C’est la première LED éteinte en même temps que
int offLED2 = 4 + offLED; // la deuxième LED éteinte
digitalWrite(ledPins[onLED1], HIGH);
digitalWrite(ledPins[onLED2], HIGH);
digitalWrite(ledPins[offLED1], LOW);
digitalWrite(ledPins[offLED2], LOW);
delay(delayTime);
}
}
i 0 1 2 3
OnLED1 3 2 1 0
OnLED2 4 5 6 7
OffLED1 0 3 2 1
OffLED2 7 4 5 6
Bilan

6) Insérez le nouveau code et observez le fonctionnement attendu. Est-il conforme à ce qui est
attendu ?

2/2

7) On souhaite inverser le sens de rotation du chenillard. Modifiez le programme, insérez le


nouveau code et observez le fonctionnement attendu. Est-il conforme à ce qui est attendu ?

16
Nom : Prénom : TP d’Initiation à Arduino

4/4

Le Déplacement de La Voiture
ARD-03 Index des TPs
Télécommandée

Le scénario : Commander le déplacement d’une Voiture Télécommandée !

LE CIRCUIT A CABLER
L’Arduino est plus adaptée à la gestion de petits composants comme les LEDs qui consomment peu
de courant (10mA). Cependant vous pouvez gérer des composants plus importants et
consommateurs d’énergie (comme un moteur ou une machine à laver (plusieurs centaines de mA à
des A), on utilise alors une interface de puissance construite autour d’un transistor. Il contrôle une
grande quantité de courant à partir d’une plus petite. Nous allons dans un premier temps étudier
l’interface de puissance avant de câbler un des 2 moteurs de notre voiture télécommandée.

17
Nom : Prénom : TP d’Initiation à Arduino
Commande du moteur par l’Arduino
1) Ci-dessous, les caractéristiques de l’Arduino Uno et du moteur. La sortie logique 9 de
l’Arduino peut-elle alimenter notre moteur en direct ?
Caractéristiques de l’Arduino Uno :

L’Interface de Puissance

2) Quelle valeur doit on choisir pour Icsat ? Vérifier que c’est bien la valeur qui circule dans le
schéma proposé.

3) Calculez quelle doit être la valeur du courant Ibsat traversant la résistance de base pour saturer
le transistor. En déduire la valeur à choisir pour R.

18
Nom : Prénom : TP d’Initiation à Arduino

4) Compléter le tableau suivant synthétisant le fonctionnement de l’interface de puissance.


Patte 9 Valeur de État du Valeur de État du
Arduino Ib Transistor Ic moteur
0

5V

Commande par l’Arduino : LE CODE A TAPER

int motorPin = 9; // La patte à laquelle le moteur est connecté

void setup() // s’exécute une fois


{
pinMode(motorPin, OUTPUT);
}

void loop() // s’exécute à l’infini


{
motorOnThenOff(); // éteint le moteur
}

void motorOnThenOff()
{
digitalWrite(motorPin, HIGH); // faire tourner le moteur
}

5) Câbler le montage et tester d’abord avec une résistance de 10k puis de 330. Décrire ce que
vous observez et expliquez.

19
Nom : Prénom : TP d’Initiation à Arduino

ARD-03 TP de Synthèse Index des TPs

Variation de la vitesse du Moteur à Courant Continu


On peut donc commander la mise en rotation du moteur, de telle sorte que notre voiture
télécommandée avance. Mais nous souhaitons pouvoir faire varier la vitesse de la voiture. Aussi, on
propose ce nouveau programme.

int motorPin = 9; // La patte à laquelle le moteur est connecté


void setup() // s’exécute une fois
{
pinMode(motorPin, OUTPUT);
}
void loop() // s’exécute à l’infini
{
motorOnThenOff(); // éteint le moteur
}
void motorOnThenOff()
{
int onTime = 2500; // le nombre de millisecondes de mise en route du moteur
int offTime = 1000; // le nombre de millisecondes d’arrêt du moteur
digitalWrite(motorPin, HIGH); // faire tourner le moteur
delay(onTime); // attente
digitalWrite(motorPin, LOW); // arrêt du moteur
delay(offTime); // attente
}

6) Entrer le nouveau code et décrire le nouveau fonctionnement.

1/1

7) A l'aide de l'oscilloscope, relevez les chronogrammes des tensions sur la base du transistor
ainsi que sur le collecteur en concordance de temps. Les dessinez ci-dessous.

4/4

8) Mesurez à l'aide du multimètre la valeur du courant Ic circulant dans le transistor ainsi que le
courant circulant dans la base du transistor. Avant d’effectuer ces mesures, dessiner un
schéma de câblage faisant apparaître les appareils de mesure.
20
Nom : Prénom : TP d’Initiation à Arduino

2/2

9) Déterminer la valeur expérimentale du gain  du transistor. En déduire l’état du transistor puis


la valeur de la tension Vcesat du transistor.

3/3

10) Modifiez les temps onTime et offTime de telle sorte que l’on ait une fréquence de
fonctionnement de 50Hz tout en conservant le même rapport cyclique ( = Ton / T). Décrire le
nouveau fonctionnement observé.

2/2

11) Conclure sur le fonctionnement du moteur à courant continu.

21
Nom : Prénom : TP d’Initiation à Arduino

2/2

22
Nom : Prénom : TP d’Initiation à Arduino
12) Maintenant, modifiez le rapport entre les temps de telles sorte qu’on est un rapport cyclique 
de 30% tout en conservant la même fréquence. Observez et décrire le nouveau
fonctionnement.

2/2

13) Conclure sur le fonctionnement du moteur à courant continu.

2/2

14) Modifiez le code pour obtenir un rapport cyclique de 50%. A l’aide de l’oscilloscope, observez
la tension Vce(t) avec la diode puis sans la diode. Quelle est la différence ? Expliquez à l’aide
de schémas et de chronogrammes. Conclure sur le rôle de la diode ?

23
Nom : Prénom : TP d’Initiation à Arduino

2/2

La Direction de la Voiture
ARD-04 Index des TPs
Télécommandée

Le scénario : Commander diriger le déplacement de la Voiture Télécommandée !

LE CIRCUIT A CABLER
On a vu précédemment que l’on pouvait faire avancer la voiture télécommandée en faisant tourner
son moteur. Mais on aimerait bien contrôler ses mouvements, comment faire ? Un servomoteur. On
va placer un servomoteur pour commander l’angle de positionnement des roues avant et pouvoir
ainsi diriger la voiture vers la droite ou la gauche.

Les servomoteurs sont produits en masse, disponibles très facilement et coûtent de quelques euros
à des centaines d’euros. A l’intérieur il y a un petit réducteur (pour rendre les mouvements plus
puissants = moins de vitesse mais plus de couple) et de l’électronique (pour les rendre plus simples
à contrôler). Un servomoteur standard est
positionnable de 0 à 180 degrés. Le
positionnement est contrôlé par une pulsation
temporisée entre 1 ms (0 degré) et 2 ms (180
degrés) (1,5 ms pour 90 degrés). Le timing
diffère selon les constructeurs.
Si la pulsation est envoyée toutes les 20-50 ms,
le servomoteur bougera de façon fluide. L’un des
atout d’Arduino, c’est d’avoir une bibliothèque
(sous-programme) qui permet le contrôle du
servo (connecté sur la patte 9 ou 10) avec une
seule ligne de code.

24
Nom : Prénom : TP d’Initiation à Arduino

LE CODE A TAPER
#include <Servo.h> // inclue le sous-programme Servo

Servo myservo; // crée un objet servo pour contrôler un servomoteur


int pos = 0; // variable pour stocker la position du servomoteur
void setup()
{
myservo.attach(9); // connecte le servo à la patte 9 de l’Arduino
}
void loop()
{
for(pos = 0; pos < 180; pos += 1) // va de 0 degrés a 180 degrés par pas de 1 degré
{
myservo.write(pos); // commande au servo d’aller à la position contenue par
// la variable ‘pos’
delay(15); // attend 15 ms pour que le servo atteigne la position
}
for(pos = 180; pos>=1; pos-=1) // va de 180 degrés à 0 degrés par pas de -1
{
myservo.write(pos); // commande au servo d’aller à la position contenue par la
// variable ‘pos’
delay(15); //attend 15 ms pour que le servo atteigne la position
}
}

1) Câbler le montage et tester le programme. Décrire ce que vous observez et expliquez.

Validation


25
Nom : Prénom : TP d’Initiation à Arduino

ARD-04 TP de Synthèse Index des TPs

Commande à l’aide d’un potentiomètre


1) On se propose de commander le servomoteur à partir de la position d’un potentiomètre.
Proposez un programme, testez-le et conclure sur le fonctionnement obtenu.
#

10/10

26
Nom : Prénom : TP d’Initiation à Arduino

ARD-05 Le Réverbère Index des TPs

Le scénario : Commander l’allumage du réverbère à la tombée de la nuit !

LE CIRCUIT A CABLER

LE CODE A TAPER
int lightPin = 0;
int ledPin = 9;
void setup()
{
pinMode(ledPin, OUTPUT);
}
void loop()
{
if (analogRead(lightPin)<511) // Si valeur Photo < 511
digitalWrite(ledPin, HIGH); // alors allumer LED
else // sinon
digitalWrite(ledPin, LOW); // Eteindre LED
}
1) Testez ce code et décrire le fonctionnement obtenue.

Validation


27
Nom : Prénom : TP d’Initiation à Arduino
2) Justifier le rôle de la résistance en série avec la LED.

3) Justifier le rôle de la résistance en série avec la photorésistance.

4) Quelle est la particularité de l’entrée patte 0 de l’Arduino. Donner des précisions sur ses
caractéristiques.

28
Nom : Prénom : TP d’Initiation à Arduino

ARD-06 La Porte de Garage Index des TPs

Le scénario : Commander l’ouverture ou la fermeture de la porte de garage !

LE CIRCUIT A CABLER
Pour commander le mouvement de la porte de garage, il suffit d’actionner un moteur, certes ! Mais
cette fois-ci, le type de moteur utilisé nécessite une tension bien supérieure au 5V disponible via
notre Arduino, pour obtenir un courant de l’ordre de plusieurs centaines de mA.
Pour cela, la solution se nomme : le relais. Un relais est un interrupteur mécanique contrôlé par une
impulsion électrique. A l’intérieur du boîtier plastique, il y a un électro-aimant, qui, quand il est
alimenté, provoque le basculement de l’interrupteur (souvent avec un claquement satisfaisant). Vous
pouvez acheter des relais d’un quart de la taille de celui du kit jusqu’à la taille d’un réfrigérateur,
chacun capable de laisser passer une certaine quantité de courant.

Par défaut, le relais est dans la position repos représenté sur le schéma, qd il est traversé par un
courant, alors le relais est actif et change de position.

29
Nom : Prénom : TP d’Initiation à Arduino
LE CODE A TAPER
void setup()
{
pinMode(13, OUTPUT);
}

void loop()
{
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}

1) Câbler le montage et tester le programme. Décrire ce que vous observez et expliquez.

Validation


2) Compléter le tableau synthétisant le fonctionnement de la structure.
Patte 13 Etat du Etat du relais LED jaune LED rouge
transistor
0
1

3) On veut maintenant insérer le moteur de telle sorte qu’il se retrouve en // avec la diode jaune.
Attention, il est très important de ne pas oublier d’ajouter la diode de roue libre. Proposer un
schéma de câblage avant de réaliser les modifications

4) Tester de nouveau. Décrire ce que vous observez et expliquez.

5) A votre avis, quel est l’intérêt de brancher le moteur à la sortie d’un relais plutôt qu’en direct au
collecteur du transistor ?

30
Nom : Prénom : TP d’Initiation à Arduino

31
Nom : Prénom : TP d’Initiation à Arduino

ARD-06 TP de Synthèse Index des TPs

1) Nous allons maintenant exploiter le montage précédent pour l’adapter à la commande de la


porte de garage. Pour cela, nous voulons modifier le montage et le programme en rajoutant un
bouton poussoir en entrée qui sera l’ordre de commande de l’ouverture du portail. Proposez
un schéma de câblage du bouton poussoir.

2/2

2) Proposez maintenant le code pour faire intervenir l’entrée bouton poussoir via la broche 2. On
veut que le moteur et la diode jaune se mettent en route uniquement quand le bouton poussoir
est appuyé = ordre de commande d’ouverture de la porte.

8/8

3) Câbler et testez. Conclure sur le fonctionnement de la porte de garage

32
Nom : Prénom : TP d’Initiation à Arduino

2/2
4) Rajouter un capteur de fin de course simulé par un nouvel interrupteur pour que la porte
s’ouvre jusqu’à atteindre le capteur. Testez et conclure sur le fonctionnement de la porte de
garage

6/6

5) Câbler et testez. Conclure sur le fonctionnement de la porte de garage.

2/2

33
Nom : Prénom : TP d’Initiation à Arduino

ARD-07 L’Affichage Municipal Index des TPs

Le scénario : Gérer l’affichage des informations de la ville

LE CIRCUIT A CABLER
La ville de Sucy a installé des afficheurs pour informer les habitants des évènements qui ont lieu.

LE CODE A TAPER
/*
LiquidCrystal Library - Blink
Ce programme écrit "Bonjour à Sucy-en-Brie !" sur l’afficheur et fait clignoter le bloc curseur sur la
2ième ligne.
The circuit:
* LCD RS pin to digital pin 12
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* LCD R/W pin to ground
* 10K resistor:
* ends to +5V and ground
* wiper to LCD VO pin (pin 3)
*/

#include <LiquidCrystal.h> // inclut le sous-programme LCD


34
Nom : Prénom : TP d’Initiation à Arduino

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // initialise le sous-programme avec les numéros de broches

void setup()
{
lcd.begin(16, 2); // indique le nombre de colonnes et de lignes du LCD
lcd.clear(); // effacement de l‘afficheur

lcd.print("Bonjour à Sucy-en-Brie !") ; // écrit un message sur l’afficheur


}

void loop()
{
lcd.setCursor(0,1); // placement du curseur sur la 2ième ligne
lcd.noBlink(); // éteint le clignotement du bloc curseur
delay(3000);
lcd.blink(); // allume le clignotement du bloc curseur
delay(3000);
}

1) Câbler et testez. Conclure sur le fonctionnement de l’afficheur.

35

Vous aimerez peut-être aussi