• Aucun résultat trouvé

Le langage C-ARDUINO. Les ports I/O. Manipulation des I/O DIGITAL. LAB1 LAB2 LAB3 LAB4 LAB5 HOME WORK.

N/A
N/A
Protected

Academic year: 2022

Partager "Le langage C-ARDUINO. Les ports I/O. Manipulation des I/O DIGITAL. LAB1 LAB2 LAB3 LAB4 LAB5 HOME WORK."

Copied!
31
0
0

Texte intégral

(1)

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

(2)

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.

(3)

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.

(4)

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.

(5)

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.

(6)

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

(7)

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()

(8)

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.

(9)

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.

(10)

Les ports I/O

Les ports I/O

Les ports I/O

Les ports I/O

(11)

Les ports I/O Les ports I/O

ATmega ATmega ATmega

Que remarquez-vous ? Que remarquez-vous ? Que remarquez-vous ?

(12)

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.

(13)

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}.

(14)

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 ???

(15)

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).

(16)

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);

(17)

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);

(18)

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);

(19)

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.

(20)

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.

(21)

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.

(22)

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 ?.

(23)

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.

(24)

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.

(25)

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.

(26)

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

(27)

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.

(28)

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.

(29)

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).

(30)

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.

(31)

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}

Références

Documents relatifs

Ben est un artiste français d’origine suisse, né le 18 juillet 1935, à Naples en Italie. Ecris ce que tu en

Non : comme toutes les ondes, les ondes sismiques se propagent sans transport de matière mais avec transport d’énergie.. 2.3 Une onde est longitudinale si la direction de

3- Ne cessant d’améliorer notre commande, nous avons constaté qu’un phénomène d’oscillation de l’eau autour d’un niveau provoque de nombreux démarrage et arrêt

• On peut transformer toute fraction en une autre de même valeur et ayant ses nouveaux numérateur et dénominateur sans diviseurs communs autres que 1 et − 1 , que l’on

Toutefois, toute trace de recherche, même incom- plète, ou d'initiative même non fructueuse, sera prise en compte dans l'évaluation1. Exercice 2 Pour chacune des propositions

• Un nombre composé plus petit que cent s'écrivent avec un trait d'union entre les mots, sauf s'il y a "et".. Exemples : 31 : ... cinq cent trente-quatre …... sept

La rédaction d’une lettre ne s’improvise pas au fur et à mesure, elle nécessite d’établir au brouillon un plan pour organiser les idées (les arguments si la lettre

(1979): ,(Siudent Perception of Relatedness Among Mathemaiics Verbal Probiems)). El uso efectivo de la sugerencia de Polya Pienie en un problema relacionado)) hace