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

Exercices Arduino Corrigés PDF

Transféré par

Reda Chafik
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
469 vues4 pages

Exercices Arduino Corrigés PDF

Transféré par

Reda Chafik
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 PDF, TXT ou lisez en ligne sur Scribd

Exercice 1) {2LEDs_millis}

On a un Arduino avec deux LEDs L1 et L2 branchées respectivement sur les pates 2 et 4


Donner le programme qui fait clignoter les deux LEDs à des rythmes différents :
 L1 doit changer d'état tous les 537ms
 L2 doit changer d'état tous les 1370ms

Exercice 2) {Analog-4-LCD}
On a un Arduino avec :
 4 sources analogique Branchées sur les entrées analogiques A0, A1, A2, A3
 Un afficheur LDC_I2C branché sur le bus I2C

Donner le programme qui (Chaque ½ seconde) mesure les 4 entrées et affiche les valeurs en volts sur
l'afficheur LCD

3.45 2.27
1.25 4.18

Exercice 3) {Serial_Control}
On a un Arduino avec :
 2 LEDs branchées sur les pates 8 et 13
 Un moniteur série sur le port série
 Un potentiomètre sur l'entrée A5

RXD

LED2 LED1 TXD


?

RTS

CTS
13
12

10
11

9
8

7
6
5
4
3
2
1
0
PB4/MISO

PB0/ICP1/CLKO
AREF

TX PD1/TXD
RX PD0/RXD
PD7/AIN1
~ PD6/AIN0
PD5/T1

~ PD3/INT1
PD2/INT0
PB5/SCK

~PB3/MOSI/OC2A
~ PB2/SS/OC1B
~ PB1/OC1A

PD4/T0/XCK
~

DIGITAL (~PWM)

ATMEGA328P-PU
50%

microcontrolandos.blogspot.com
PC4/ADC4/SDA
PC5/ADC5/SCL

ANALOG IN
PC0/ADC0
PC1/ADC1
PC2/ADC2
PC3/ADC3
RESET

A0
A1
A2
A3
A4
A5

Réalisez le programme qui écoute le port série :


 S'il reçoit 'A' il allume LED1
 S'il reçoit 'B' il éteint LED1
 S'il reçoit 'C' il allume LED2
 S'il reçoit 'D' il éteint LED2
 S'il reçoit 'E' il mesure la tension sur A5 et affiche le résultat sur le moniteur série
Exercice 4) {Button_PWM_LED}
On désire contrôler la luminosité d'une LED à l'aide d'bouton poussoir. La LED est branchée sur la
pate 10 et Le bouton sur la pate 3. Au départ la LED doit être éteinte,
Au premier clic du bouton, on génère un signal PWM de rapport cyclique 4/17 sur la pate 10,
Au deuxième clic du bouton, on génère un signal PWM de rapport cyclique 8/17 sur la pate 10,
Au troisième clic du bouton, on génère un signal PWM de rapport cyclique 12/17 sur la pate 10,
Au quatrième clic du bouton, on génère un signal PWM de rapport cyclique 16/17 sur la pate 10,
Au cinquième clic du bouton, on éteint la LED (on est revenu à l'état initial),

Exercice 5) {Clic_Counter}
On a un Arduino avec 2 bouton et un afficheur LCD
 Donner le programme qui réalise les tâches suivantes :
o Si on clique sur B1 on incrémente une compteur (Variable de comptage)
o Si on clique sur B2 on décrémente le compteur
o La valeur du compteur doit être affichée toute les secondes. Ne pas utiliser delay() pour éviter
de rater des clics
o Donner le schéma de branchement et tester sur Proteus Isis

Exercice 6) {Chenille_2BP_Normal} {Chenille_2BP_ADP}


On branche 8 LEDs sur les pattes D0 à D7 et deux boutons poussoirs B1 et B2 sur les pates D8 et D9
Programme qui réalise le fonctionnement suivant :
 Au départ il faut allumer une LED et commencer à surveiller les boutons
 Si on clique sur B1, la LED allumée se décale à gauche
 Si on clique sur B2, la LED allumée se décale à gauche
 On réalisera deux versions :
o La version {Chenille_2BP_Normal} utilisera les E/S normalement : pinMode(),
digitalWrite()
o La version {Chenille_2BP_ADP} utilisera l'Accès direct aux ports

Exercice 7) {Vumetre_2BP_8LED}
On branche 8 LEDs sur les pattes D0 à D7 et deux boutons poussoirs B1 et B2 sur les pates D8 et D9
Programme qui réalise le fonctionnement suivant :
 Au départ toutes les LEDs sont éteintes
 Si on clique sur B1, on allume une nouvelle LED en commençant à D0
 Si on clique sur B2, on éteint la dernière LED allumée

Exercice 8) {Chenille_2BP_AR_Normal} {Chenille_2BP_AR_ADP}


On branche 8 LEDs sur les pattes D0 à D7 et deux boutons poussoirs B1 et B2 sur les pates D8 et D9
Programme qui réalise le fonctionnement suivant :
 Au départ il faut allumer la LED D0 et commencer à surveiller les boutons
 Si on clique sur B1, la LED allumée doit faire un aller-retour (rythme 1s)
 Si on clique sur le bouton B2, la LED doit faire deux allers-retours (rythme 0.5s)
 On réalisera deux versions :
o La version {Chenille_2BP_AR_Normal} utilisera les E/S normalement : pinMode(),
digitalWrite()
o La version {Chenille_2BP_AR_ADP} utilisera l'Accès Direct aux Ports

Exercice 9) {Simul_SR04}
Programme qui :
 Attend une impulsion positive sur la pate 8,
 Après le front descendant, il attend 20 µs puis génère une impulsion de 2ms sur la pate 9

9
2ms

Exercice 10) {HC-SR04}


Programme qui génère une impulsion positive de largeur 10µs sur la pate 8. Ensuite il mesure la
largeur de l'impulsion reçue sur la pate 9 et affiche le résultat sur le moniteur série. L'opération sera
répétée toutes les 1/2 secondes.

Exercice 11) {frequencemetre}


On branche un signal carré sur la pate 2.
Donner le programme qui mesure la fréquence et l'affiche sur le moniteur série
L'opération sera répétée toutes les 1/2 secondes.

Exercice 12) { 1bouton_1LED_edge_rebond}


On a un bouton qui présente des rebonds au moment du clic
Donner le programme qui contrôle une LED à l'aide de ce bouton en tenant compte des rebonds

50ms max

Exercice 13) { motor_CC_L298_F5_R7}


On désire contrôler un moteur CC à l'aide d'un Arduino et d'un pont en H du type L298.
1) Donner le schéma de branchement
2) Donner le programme qui :
 Au départ, moteur arrêté
 Fait tourner le moteur dans le sens Avant pendant 5 secondes
 Arrêt pendant 2 secondes
 Fait tourner le moteur dans le sens Arrière pendant 7 secondes
 Arrêter le moteur

Exercice 14) { motor_CC_L298_start_stop}


On désire contrôler un moteur CC à l'aide d'un Arduino et d'un pont en H du type L298.
3) Donner le schéma de branchement
4) Donner le programme qui :
 Au départ, moteur arrêté
 Accélérer graduellement (sens Avant) jusqu'au maximum. La durée d'accélération doit être
entre 7 et 10 secondes
 Ralentir graduellement jusqu'à l'arrêt. La durée de ralentissement doit être entre 7 et 10
secondes
 Attendre 5 secondes et refaire la même opération dans l'autre sens.

Exercice 15) { stepper_AR_10_25}


On désire contrôler un moteur Pas-à-pas à l'aide d'un Arduino et d'un module ULN2008. Le moteur a
un pas de 1.8°
1) Donner le schéma de branchement
2) Donner le programme qui permet de :
a. Faire un tour entier en 10 secondes
b. Attendre 1 seconde
c. Faire un tour entier dans l'autre sens en 25 secondes

Exercice 16) {Serial_string_LED}


On a un Arduino avec une LED sur la broche 13
Donner le programme qui écoute le moniteur Série. Quand il reçoit un message sous forme d'un
string, il cherche des mots clé dans le message :
o Si le message contient le mot clé LED_ON, on allume la LED
o Si le message contient le mot clé LED_OFF, on éteint la LED

Exercice 17) {Serial_String_Control}


On a un Arduino avec :
 Une LED sur la broche 13
 Un moteur CC avec son driver L298 sur les broches 9 (ENA), 8 (IN1) et 7 (IN2)
 Un servomoteur sur la broche 10

Donner le programme qui écoute le moniteur Série. Quand il reçoit un message sous forme d'un
string, il cherche des mots clé dans le message :
o Si le message contient le mot clé LED_ON, on allume la LED
o Si le message contient le mot clé LED_OFF, on éteint la LED
o Si le message contient le mot clé G_UP, on fait tourner un moteur CC dans le sens 'Avant'
pendant 5 secondes
o Si le message contient le mot clé G_DOWN, on fait tourner un moteur CC dans le sens 'Arrière'
pendant 5 secondes
o Si le message contient le mot clé D_OPEN, on envoie le servomoteur à la position 90°
o Si le message contient le mot clé D_CLOSE, on ramène le servomoteur à la position 0°

Vous aimerez peut-être aussi