Formation Automatique et Formation Automatique et Formation Automatique et Formation Automatique et
Informatique Industrielle Informatique Industrielle Informatique Industrielle
Master 1 S2 Master 1 S2
Matière : Systèmes Embarqués et Systèmes Matière : Systèmes Embarqués et Systèmes Matière : Systèmes Embarqués et Systèmes
Temps Réel SE-STR Temps Réel SE-STR Par : ATOUI Hamza Par : ATOUI Hamza Par : ATOUI Hamza
Plan de TD/TP Plan de TD/TP Plan de TD/TP Plan de TD/TP
• Le langage C-ARDUINO.
• Le langage C-ARDUINO.
• Le langage C-ARDUINO.
• Les ports I/O.
• Les ports I/O.
• Les ports I/O.
• Manipulation des I/O DIGITAL.
• Manipulation des I/O DIGITAL.
• Manipulation des I/O DIGITAL.
• LAB1
• LAB1
• LAB1
• LAB2
• LAB2
• LAB2
• LAB3
• LAB3
• LAB3
• LAB4
• LAB4
• LAB4
• LAB5
• LAB5
• LAB5
• HOME WORK.
• HOME WORK.
• HOME WORK.
Le langage C-ARDUINO Le langage C-ARDUINO Le langage C-ARDUINO Le langage C-ARDUINO
Le C-ARDUINO: est un langage similaire/dérivé du
• Le C-ARDUINO: est un langage similaire/dérivé du
• Le C-ARDUINO: est un langage similaire/dérivé du langage C/C++ mais avec une petite différence sur langage C/C++ mais avec une petite différence sur langage C/C++ mais avec une petite différence sur l’axe syntaxique du code à exécuter.
l’axe syntaxique du code à exécuter.
l’axe syntaxique du code à exécuter.
• Dans le C/C++ le code qu’on va exécuter se trouve à
• Dans le C/C++ le code qu’on va exécuter se trouve à
• Dans le C/C++ le code qu’on va exécuter se trouve à l’intérieur de de la fonction « main ».
l’intérieur de de la fonction « main ».
l’intérieur de de la fonction « main ».
• Mais pour le C-ARDUINO, il y a une autre histoire.
• Mais pour le C-ARDUINO, il y a une autre histoire.
• Mais pour le C-ARDUINO, il y a une autre histoire.
Le langage C-ARDUINO Le langage C-ARDUINO Le langage C-ARDUINO Le langage C-ARDUINO
La programmation des µC nécessite les trois phases
• La programmation des µC nécessite les trois phases
• La programmation des µC nécessite les trois phases suivantes:
suivantes:
suivantes:
• La phase configuration de µC et leurs
• La phase configuration de µC et leurs
• La phase configuration de µC et leurs périphériques.
périphériques.
périphériques.
• La phase initialisation des périphériques et
• La phase initialisation des périphériques et
• La phase initialisation des périphériques et variables/états de l’application (optionnelle).
variables/états de l’application (optionnelle).
variables/états de l’application (optionnelle).
• La phase traitement. Cette phase se répète
• La phase traitement. Cette phase se répète
• La phase traitement. Cette phase se répète infiniment.
infiniment.
infiniment.
Le langage C-ARDUINO Le langage C-ARDUINO Le langage C-ARDUINO Le langage C-ARDUINO
Pour simplifier la vie de la programmation, le C-
• Pour simplifier la vie de la programmation, le C-
• Pour simplifier la vie de la programmation, le C- ARDUINO propose la syntaxe suivante:
ARDUINO propose la syntaxe suivante:
ARDUINO propose la syntaxe suivante:
La procédure setup() contient les deux première phases – La procédure setup() contient les deux première phases – La procédure setup() contient les deux première phases
configuration/initialisation.
configuration/initialisation.
configuration/initialisation.
– La procédure loop() contient le traitement qui boucle – La procédure loop() contient le traitement qui boucle – La procédure loop() contient le traitement qui boucle
infiniment.
infiniment.
Le langage C-ARDUINO Le langage C-ARDUINO Le langage C-ARDUINO Le langage C-ARDUINO
Ici la configuration Ici la configuration Ici la configuration
et l’initialisation et l’initialisation
Ici le traitement Ici le traitement
Le langage C-ARDUINO Le langage C-ARDUINO Le langage C-ARDUINO Le langage C-ARDUINO
Au moment de lancement de l’application sous
• Au moment de lancement de l’application sous
• Au moment de lancement de l’application sous ARDUINO. Ce dernier lance le contenu de la
ARDUINO. Ce dernier lance le contenu de la ARDUINO. Ce dernier lance le contenu de la
procédure setup() en premier une seule fois puis procédure setup() en premier une seule fois puis procédure setup() en premier une seule fois puis lance le contenu de la procédure loop() infiniment.
lance le contenu de la procédure loop() infiniment.
lance le contenu de la procédure loop() infiniment.
Reset Reset Reset
setup() loop()
setup() loop()
setup() loop()
Les ports I/O Les ports I/O Les ports I/O Les ports I/O
• Le rôle des ports I/O est d’assurer l’interaction avec
• Le rôle des ports I/O est d’assurer l’interaction avec notre environnement soit en lecture ou en écriture.
notre environnement soit en lecture ou en écriture.
notre environnement soit en lecture ou en écriture.
• L’électronique des I/O est une circuiterie à base de
• L’électronique des I/O est une circuiterie à base de bascules et des buffers à 3 états.
bascules et des buffers à 3 états.
bascules et des buffers à 3 états.
Les ports I/O Les ports I/O Les ports I/O Les ports I/O
Comment utiliser ses éléments pour construire un
• Comment utiliser ses éléments pour construire un
• Comment utiliser ses éléments pour construire un port I/O ???
port I/O ???
port I/O ???
• Cahier des charges :
• Cahier des charges :
• Cahier des charges :
Un PIN peut être configurer soit en entrée ou en sortie.
– Un PIN peut être configurer soit en entrée ou en sortie.
– Un PIN peut être configurer soit en entrée ou en sortie.
– Si le PIN est en sortie, donc elle garde son état jusqu’à – Si le PIN est en sortie, donc elle garde son état jusqu’à – Si le PIN est en sortie, donc elle garde son état jusqu’à
la prochaine mise à jour.
la prochaine mise à jour.
– Si le PIN est en entrée, donc elle donne l’état du PIN en – Si le PIN est en entrée, donc elle donne l’état du PIN en
cours au moment de la lecture.
cours au moment de la lecture.
cours au moment de la lecture.
Les ports I/O
Les ports I/O
Les ports I/O
Les ports I/O
Les ports I/O Les ports I/O
ATmega ATmega ATmega
Que remarquez-vous ? Que remarquez-vous ? Que remarquez-vous ?
Les ports I/O Les ports I/O Les ports I/O
• Le µC ATmega328P de la carte ARDUINO possède 3 ports pour
• Le µC ATmega328P de la carte ARDUINO possède 3 ports pour interagir avec le monde externe sont le PORTB, PORTC et PORTD.
interagir avec le monde externe sont le PORTB, PORTC et PORTD.
Les ports I/O Les ports I/O Les ports I/O Les ports I/O
• Chaque port utilise 3 registres mappés dans
• Chaque port utilise 3 registres mappés dans
• Chaque port utilise 3 registres mappés dans l’espace 64 I/O REG :
l’espace 64 I/O REG : l’espace 64 I/O REG :
– DDRx : (DATA DIRECTION REGISTER) pour configurer – DDRx : (DATA DIRECTION REGISTER) pour configurer
chaque pin individuellement soit en entrée ou en sortie.
chaque pin individuellement soit en entrée ou en sortie.
chaque pin individuellement soit en entrée ou en sortie.
– PORTx : pour communiquer en sortie (écrire soit 1 ou 0 – PORTx : pour communiquer en sortie (écrire soit 1 ou 0
logique dans les pins configurés en sorties).
PORTx : pour communiquer en sortie (écrire soit 1 ou 0 logique dans les pins configurés en sorties).
logique dans les pins configurés en sorties).
– PINx : pour communiquer en entrée (lire soit 1 ou 0 – PINx : pour communiquer en entrée (lire soit 1 ou 0
logique à partir des pins configurés en entrée).
– PINx : pour communiquer en entrée (lire soit 1 ou 0 logique à partir des pins configurés en entrée).
logique à partir des pins configurés en entrée).
• N.B : le « x » dans le nom de chaque registre prend
• N.B : le « x » dans le nom de chaque registre prend
• N.B : le « x » dans le nom de chaque registre prend les valeurs suivantes {B, C, D}.
les valeurs suivantes {B, C, D}.
les valeurs suivantes {B, C, D}.
Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL
Pour manipuler les I/O DIGITAL de notre carte
• Pour manipuler les I/O DIGITAL de notre carte
• Pour manipuler les I/O DIGITAL de notre carte ARDUINO-UNO, on a deux méthodes :
ARDUINO-UNO, on a deux méthodes : ARDUINO-UNO, on a deux méthodes :
– Méthode 1 : à travers les fonctions prédéfinies du – Méthode 1 : à travers les fonctions prédéfinies du – Méthode 1 : à travers les fonctions prédéfinies du
langage C-ARDUINO.
langage C-ARDUINO.
– Méthode 2 : à travers les registres du PORT.
– Méthode 2 : à travers les registres du PORT.
Quelle est la méthode la plus rapide ???
Quelle est la méthode la plus rapide ???
Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL
Méthode 1 Méthode 1 Méthode 1
• La carte ARDUINO UNO possède 14 pins DIGITAL
• La carte ARDUINO UNO possède 14 pins DIGITAL
• La carte ARDUINO UNO possède 14 pins DIGITAL configurable individuellement. Numérotée de 0 à 13.
configurable individuellement. Numérotée de 0 à 13.
configurable individuellement. Numérotée de 0 à 13.
• Le C-ARDUINO utilise trois fonctions pour :
• Le C-ARDUINO utilise trois fonctions pour :
Configurer soit en entrée ou en sortie (pinMode).
– Configurer soit en entrée ou en sortie (pinMode).
– Configurer soit en entrée ou en sortie (pinMode).
– Communiquer en lecture (digitalRead).
– Communiquer en lecture (digitalRead).Communiquer en lecture (digitalRead).
– Communiquer en écriture (digitalWrite).
– Communiquer en écriture (digitalWrite).
• Avec quelques constantes:
• Avec quelques constantes:
• Avec quelques constantes:
– Pour la configuration (INPUT, OUTPUT).
– Pour la configuration (INPUT, OUTPUT).Pour la configuration (INPUT, OUTPUT).
– Pour la communication (LOW, HIGH).
– Pour la communication (LOW, HIGH).
• Faites attention au langage C, c’est un langage respecte
• Faites attention au langage C, c’est un langage respecte
• Faites attention au langage C, c’est un langage respecte le minuscule et majuscule (le respect de la casse).
le minuscule et majuscule (le respect de la casse).
Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL
Méthode 1 Méthode 1 Méthode 1
La fonction pinMode La fonction pinMode La fonction pinMode
• Syntaxe: pinMode(pin, mode).
• Syntaxe: pinMode(pin, mode).
• Syntaxe: pinMode(pin, mode).
– pin: est une valeur entre 0 et 13 indique le pin qu’on va – pin: est une valeur entre 0 et 13 indique le pin qu’on va – pin: est une valeur entre 0 et 13 indique le pin qu’on va
configurer.
configurer.
– mode: est une valeur présente le sens du pin (INPUT : – mode: est une valeur présente le sens du pin (INPUT : – mode: est une valeur présente le sens du pin (INPUT :
pour configurer en entrée, OUTPUT : pour configurer en pour configurer en entrée, OUTPUT : pour configurer en sortie).
sortie).
sortie).
• Exemple : configurer le PIN12 en entrée et le PIN7
• Exemple : configurer le PIN12 en entrée et le PIN7 en sortie.
• Exemple : configurer le PIN12 en entrée et le PIN7 en sortie.
en sortie.
•• pinMode(12, INPUT);
• pinMode(12, INPUT);
•• pinMode(7, OUTPUT);
• pinMode(7, OUTPUT);
Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL
Méthode 1 Méthode 1 Méthode 1
La fonction digitalWrite La fonction digitalWrite La fonction digitalWrite
• Syntaxe : digitalWrite(pin, value).
• Syntaxe : digitalWrite(pin, value).
• Syntaxe : digitalWrite(pin, value).
• pin : est une valeur entre 0 et 13 indique le pin
• pin : est une valeur entre 0 et 13 indique le pin
• pin : est une valeur entre 0 et 13 indique le pin qu’on va écrite.
qu’on va écrite.
qu’on va écrite.
• value : est une valeur présente la valeur qu’on va
• value : est une valeur présente la valeur qu’on va écrire dans le pin (LOW: pour forcer à 0V, HIGH:
value : est une valeur présente la valeur qu’on va écrire dans le pin (LOW: pour forcer à 0V, HIGH:
écrire dans le pin (LOW: pour forcer à 0V, HIGH:
pour forcer à 5V).
pour forcer à 5V).
pour forcer à 5V).
• Exemple : mettre à 1 le PIN4 et à 0 le PIN5.
• Exemple : mettre à 1 le PIN4 et à 0 le PIN5.
• Exemple : mettre à 1 le PIN4 et à 0 le PIN5.
• digitalWrite(4, HIGH);
• digitalWrite(4, HIGH);
• digitalWrite(4, HIGH);
• digitalWrite(5, LOW);
• digitalWrite(5, LOW);
• digitalWrite(5, LOW);
Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL
Méthode 1 Méthode 1 Méthode 1
La fonction digitalRead La fonction digitalRead La fonction digitalRead
• Syntaxe : digitalRead(pin).
• Syntaxe : digitalRead(pin).
• Syntaxe : digitalRead(pin).
• pin : est une valeur entre 0 et 13 indique le pin qu’on va
• pin : est une valeur entre 0 et 13 indique le pin qu’on va lire.
• pin : est une valeur entre 0 et 13 indique le pin qu’on va lire.
lire.
• Cette fonction retourne : soit LOW ou HIGH selon l’état
• Cette fonction retourne : soit LOW ou HIGH selon l’état
• Cette fonction retourne : soit LOW ou HIGH selon l’état du pin au moment de la lecture.
du pin au moment de la lecture.
du pin au moment de la lecture.
• Exemple : lire l’état des PIN2 et PIN3.
• Exemple : lire l’état des PIN2 et PIN3.
• Etat_pin2 = digitalRead(2);
• Etat_pin2 = digitalRead(2);
• Etat_pin3 = digitalRead(3);
• Etat_pin3 = digitalRead(3);
• Etat_pin3 = digitalRead(3);
Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL
Méthode 2 Méthode 2 Méthode 2
Pour configurer les pins soit en entrée ou en sortie,
• Pour configurer les pins soit en entrée ou en sortie,
• Pour configurer les pins soit en entrée ou en sortie, on utilise le registre DDRx (l’écriture d’un 1 dans un on utilise le registre DDRx (l’écriture d’un 1 dans un on utilise le registre DDRx (l’écriture d’un 1 dans un bit présente la configuration de pin correspond en bit présente la configuration de pin correspond en bit présente la configuration de pin correspond en sortie et l’écriture d’un 0 présente la configuration sortie et l’écriture d’un 0 présente la configuration sortie et l’écriture d’un 0 présente la configuration de pin correspond en entrée).
de pin correspond en entrée).
• Exercice : Configurer les pins suivants :
• Exercice : Configurer les pins suivants :Exercice : Configurer les pins suivants :
– PB4 (PIN12), PB5 (PIN13) : en sortie, – PB4 (PIN12), PB5 (PIN13) : en sortie, – PD4 (PIN4), PD7 (PIN7) : en entrée.
– PD4 (PIN4), PD7 (PIN7) : en entrée.
Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL
Méthode 2 Méthode 2 Méthode 2
• Pour écrire une valeur dans un pin ou plusieurs, on utilise
• Pour écrire une valeur dans un pin ou plusieurs, on utilise dans ce cas le registre PORTx.
• Pour écrire une valeur dans un pin ou plusieurs, on utilise dans ce cas le registre PORTx.
dans ce cas le registre PORTx.
• L’écriture d’un 1 dans un bit dans PORTx se traduit par un
• L’écriture d’un 1 dans un bit dans PORTx se traduit par un niveau haut (5 Volt) dans le pin correspond et la même niveau haut (5 Volt) dans le pin correspond et la même
histoire pour l’écriture d’un 0, cette dernière se traduit par un niveau haut (5 Volt) dans le pin correspond et la même
histoire pour l’écriture d’un 0, cette dernière se traduit par un histoire pour l’écriture d’un 0, cette dernière se traduit par un niveau bas (0 Volt).
niveau bas (0 Volt).
• Exercice :
• Exercice :Exercice :
– Mettre les pins suivants au niveau haut individuellement : PD2, – Mettre les pins suivants au niveau haut individuellement : PD2,
PD4, PD7.
PD4, PD7.
– Mettre les pins suivants au niveau bas individuellement : PB3, – Mettre les pins suivants au niveau bas individuellement : PB3,
PB5.
PB5.
– Mettre les pins suivants au niveau haut simultanément puis au – Mettre les pins suivants au niveau haut simultanément puis au
niveau bas :
– Mettre les pins suivants au niveau haut simultanément puis au niveau bas :
niveau bas : – PB0, PB1, PB4.
– PB0, PB1, PB4.
Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL Manipulation des I/O DIGITAL
Méthode 2 Méthode 2 Méthode 2
Pour lire d’état d’un pin ou plusieurs, on utilise dans
• Pour lire d’état d’un pin ou plusieurs, on utilise dans
• Pour lire d’état d’un pin ou plusieurs, on utilise dans ce stade le registre PINx.
ce stade le registre PINx.
ce stade le registre PINx.
• Exercice :
• Exercice :
• Exercice :
Lire l’état de pin PB4, PB5.
– Lire l’état de pin PB4, PB5.
– Lire l’état de pin PB4, PB5.
– Lire simultanément l’état des pins PD0, PD1, PD2, PD3.
– Lire simultanément l’état des pins PD0, PD1, PD2, PD3.
– Lire simultanément l’état des pins PD0, PD1, PD2, PD3.
LAB1 LAB1 LAB1 LAB1
Cahier des charges :
• Cahier des charges :
• Cahier des charges :
– Lire l’état du PIN3 puis copier cet état dans le PIN4.
– Lire l’état du PIN3 puis copier cet état dans le PIN4.
– Résoudre le LAB par la méthode 1 de manipulation des – Résoudre le LAB par la méthode 1 de manipulation des – Résoudre le LAB par la méthode 1 de manipulation des
I/O.
I/O.
I/O.
– Résoudre le LAB par la méthode 2 de manipulation des – Résoudre le LAB par la méthode 2 de manipulation des
I/O.
I/O.
I/O.
– Résoudre le LAB par un programme pure en C.
– Résoudre le LAB par un programme pure en C.
– Résoudre le LAB par un programme pure en C.
– Comparer la taille occupée dans la FLASHCODE pour – Comparer la taille occupée dans la FLASHCODE pour – Comparer la taille occupée dans la FLASHCODE pour
chaque méthode et que remarquez-vous ?.
chaque méthode et que remarquez-vous ?.
LAB2 LAB2 LAB2 LAB2
Cahier des charges:
• Cahier des charges:
• Cahier des charges:
– Émuler les équations suivantes par ARDUINO : – Émuler les équations suivantes par ARDUINO :
• PIN2 PIN5 OR PIN6.
• PIN2 PIN5 OR PIN6.
• PIN3 PIN7 AND PIN8.
• PIN3 PIN7 AND PIN8.
• PIN4 PIN9 XOR PIN10.
• PIN4 PIN9 XOR PIN10.
• PIN12 NOT (PIN11).
• PIN12 NOT (PIN11).
• PIN12 NOT (PIN11).
• PIN13 PIN11.
• PIN13 PIN11.
LAB3 LAB3 LAB3 LAB3
Cahier des charges :
• Cahier des charges :
• Cahier des charges :
– Écrire un programme qui fait l’émulation d’une bascule – Écrire un programme qui fait l’émulation d’une bascule
SR, dont l’entrée S est le PIN2, l’entrée R est le PIN3 et la SR, dont l’entrée S est le PIN2, l’entrée R est le PIN3 et la SR, dont l’entrée S est le PIN2, l’entrée R est le PIN3 et la sortie Q est le PIN5.
sortie Q est le PIN5.
LAB4 LAB4 LAB4 LAB4
Cahier des charges :
• Cahier des charges :
• Cahier des charges :
– Écrire un programme qui clignote deux LED reliées aux – Écrire un programme qui clignote deux LED reliées aux – Écrire un programme qui clignote deux LED reliées aux
pins {PIN6, PIN7} par une fréquence de 2Hz.
pins {PIN6, PIN7} par une fréquence de 2Hz.
pins {PIN6, PIN7} par une fréquence de 2Hz.
– Modifier le premier programme pour clignoter les deux – Modifier le premier programme pour clignoter les deux
LED 20 fois seulement par une fréquence de 1Hz.
LED 20 fois seulement par une fréquence de 1Hz.
LED 20 fois seulement par une fréquence de 1Hz.
– Modifier encore une autre fois le premier programme – Modifier encore une autre fois le premier programme – Modifier encore une autre fois le premier programme pour clignoter les deux si le bouton poussoir P1 (PIN2) pour clignoter les deux si le bouton poussoir P1 (PIN2) est appuis.
est appuis.
est appuis.
LAB5 LAB5 LAB5 LAB5
Automatisation d’une perceuse de pièces Automatisation d’une perceuse de pièces Automatisation d’une perceuse de pièces
LAB5 LAB5 LAB5 LAB5
• Description de la perceuse :
• Description de la perceuse :
• Description de la perceuse :
– Un moteur tourne dans les deux sens (MH : Moteur vers – Un moteur tourne dans les deux sens (MH : Moteur vers – Un moteur tourne dans les deux sens (MH : Moteur vers
le Haut, MB : Moteur vers le Bas).
le Haut, MB : Moteur vers le Bas).
– Un bloc perceuse composé d’un moteur avec une mèche – Un bloc perceuse composé d’un moteur avec une mèche – Un bloc perceuse composé d’un moteur avec une mèche
de perçage; le moteur tourne si la présence d’un niveau de perçage; le moteur tourne si la présence d’un niveau haut sur MP (Moteur Perceuse).
haut sur MP (Moteur Perceuse).
haut sur MP (Moteur Perceuse).
– Deux capteurs pour déterminer la position du bloc – Deux capteurs pour déterminer la position du bloc
perceuse (CH : Capteur position Haute, CB : Capteur perceuse (CH : Capteur position Haute, CB : Capteur perceuse (CH : Capteur position Haute, CB : Capteur position Basse).
position Basse).
– Un Interrupteur « Marche » pour démarrer le système.
– Un Interrupteur « Marche » pour démarrer le système.
– Un Interrupteur « Marche » pour démarrer le système.
– Un bouton poussoir « Start » pour démarrer le cycle de – Un bouton poussoir « Start » pour démarrer le cycle de
perçage.
– Un bouton poussoir « Start » pour démarrer le cycle de perçage.
perçage.
LAB5 LAB5 LAB5 LAB5
• Cahier des charges :
• Cahier des charges :
• Cahier des charges :
– L’ARDUINO attend la fermeture de l’interrupteur Marche – L’ARDUINO attend la fermeture de l’interrupteur Marche
pour lancer le processus d’initialisation de la perceuse (si le pour lancer le processus d’initialisation de la perceuse (si le capteur CH ni pas actif, le moteur des/mont marche vers le capteur CH ni pas actif, le moteur des/mont marche vers le haut jusqu’au positionnement de CH ; le moteur du bloc
capteur CH ni pas actif, le moteur des/mont marche vers le haut jusqu’au positionnement de CH ; le moteur du bloc
perceuse MP est à l’arrêt).
haut jusqu’au positionnement de CH ; le moteur du bloc perceuse MP est à l’arrêt).
perceuse MP est à l’arrêt).
– Après le processus de l’initialisation, l’ARDUINO attend à – Après le processus de l’initialisation, l’ARDUINO attend à
chaque fois la présence d’un niveau bas sur le poussoir Start chaque fois la présence d’un niveau bas sur le poussoir Start pour démarrer le cycle de perçage (cycle de perçage : le bloc chaque fois la présence d’un niveau bas sur le poussoir Start pour démarrer le cycle de perçage (cycle de perçage : le bloc perceuse descend vers le bas jusqu’à la fin de course CB puis pour démarrer le cycle de perçage (cycle de perçage : le bloc perceuse descend vers le bas jusqu’à la fin de course CB puis perceuse descend vers le bas jusqu’à la fin de course CB puis remonte vers le haut jusqu’à la fin de course CH).
remonte vers le haut jusqu’à la fin de course CH).
– faire tourner le moteur de perçage MP durant le cycle de – faire tourner le moteur de perçage MP durant le cycle de
perçage.
perçage.
perçage.
– L’arrêt d’urgence est assuré par l’ouverture de l’interrupteur – L’arrêt d’urgence est assuré par l’ouverture de l’interrupteur
Marche. Dans cette situation tous les moteurs sont à arrêt.
Marche. Dans cette situation tous les moteurs sont à arrêt.
LAB5 LAB5 LAB5 LAB5
Définir les I/O du système.
• Définir les I/O du système.
• Définir les I/O du système.
• Designer la carte à base d’ARDUINO avec les I/O de
• Designer la carte à base d’ARDUINO avec les I/O de Designer la carte à base d’ARDUINO avec les I/O de la perceuse (système).
la perceuse (système).
• Écrire le programme d’automatisation qui assure le
• Écrire le programme d’automatisation qui assure le
• Écrire le programme d’automatisation qui assure le bon fonctionnement de cahier des charges.
bon fonctionnement de cahier des charges.
• Simuler le système par le logiciel PROTEUS (ISIS).
• Simuler le système par le logiciel PROTEUS (ISIS).
• Simuler le système par le logiciel PROTEUS (ISIS).
HOME WORK HOME WORK HOME WORK HOME WORK
Cahier des charges :
• Cahier des charges :
• Cahier des charges :
– Lorsqu’on presse sur le Poussoir P1 (PIN2), la LED L1 (PIN4) – Lorsqu’on presse sur le Poussoir P1 (PIN2), la LED L1 (PIN4) – Lorsqu’on presse sur le Poussoir P1 (PIN2), la LED L1 (PIN4) doit s'allumer durant une seconde. Ensuite la LED L2 (PIN5) doit s'allumer durant une seconde. Ensuite la LED L2 (PIN5) doit aussi s'allumer (les deux seront allumées) durant une doit aussi s'allumer (les deux seront allumées) durant une doit aussi s'allumer (les deux seront allumées) durant une seconde. Finalement, seule L2 sera allumée, également une seconde. Finalement, seule L2 sera allumée, également une seconde. Après, les 2 LED seront éteintes et le programme seconde. Après, les 2 LED seront éteintes et le programme seconde. Après, les 2 LED seront éteintes et le programme attendra de nouveau qu'on presse sur le Poussoir (source:
attendra de nouveau qu'on presse sur le Poussoir (source:
MOOC).
MOOC).
MOOC).
• Écrire le programme qui assure le bon fonctionnement
• Écrire le programme qui assure le bon fonctionnement Écrire le programme qui assure le bon fonctionnement de cahier des charges décrit ci-dessus.
de cahier des charges décrit ci-dessus.
HOME WORK HOME WORK HOME WORK HOME WORK
Par votre conception,
• Par votre conception,
• Par votre conception,
réaliser le montage et faire réaliser le montage et faire réaliser le montage et faire le programme qui fait la
le programme qui fait la gestion d’un carrefour à le programme qui fait la gestion d’un carrefour à gestion d’un carrefour à deux voies A et B.
deux voies A et B.
deux voies A et B.
• Dans un premier temps,
• Dans un premier temps,
• Dans un premier temps, chercher la séquence
chercher la séquence
d’allumage des différents chercher la séquence
d’allumage des différents d’allumage des différents
TRICOLOR-VJR et prendre en TRICOLOR-VJR et prendre en TRICOLOR-VJR et prendre en compte les temporisations compte les temporisations suivantes {R, V :5s} {J :1s}
compte les temporisations suivantes {R, V :5s} {J :1s}
suivantes {R, V :5s} {J :1s}