Vous êtes sur la page 1sur 8

ECOLE SUPERIEUR DE TECHNOLOGIE

Rapport TP 1

Filière : Génie Informatique Embarquée

Réalisé par : Haitem Aliouat & Karim El Hannachi

Encadrer par : Prof Omar Moussaoui


TABLE DES MATIERES

INTRODUCTION SUR MCU

PROJET

1. LE MATÉRIEL……………….

2. L’EXECUTION DU CIRCUIT

2.1. Explication du code

CONCLUSION …………………………………………………………………………..8
INTRODUCTION SUR MCU :

Le "PT MCU" est une carte électronique qui intègre un ensemble de fonctionnalités, dont un
port USB, 6 ports d'entrée/sortie (E/S) numériques et 4 ports d'entrée/sortie analogiques. Cette
carte est conçue pour permettre la communication entre un ordinateur ou un autre
périphérique via le port USB, ainsi que pour la capture et la manipulation de signaux
numériques et analogiques. Les 6 ports d'entrée/sortie numériques sont destinés à la gestion de
signaux binaires (0 et 1), ce qui peut inclure des opérations de contrôle, de commutation ou de
lecture de capteurs numériques. Les 4 ports d'entrée/sortie analogiques sont conçus pour
traiter des signaux analogiques, c'est-à-dire des signaux continus variant en tension ou en
courant. Ces ports peuvent être utilisés pour lire des capteurs de température, de lumière, de
pression, etc., ou pour générer des signaux de sortie analogiques. En résumé, le "PT MCU"
est un composant électronique polyvalent utilisé dans divers projets et applications, offrant
une interface USB pour la communication avec d'autres appareils et une combinaison de ports
numériques et analogiques pour le traitement de signaux électroniques.
PROJET :

Objectif :
Dans le cadre de notre démarche pédagogique, nous avons défini trois objectifs essentiels.
Dans la première partie, notre objectif principal est de permettre aux apprenants de
développer une compréhension solide des capteurs, en les familiarisant avec leur utilisation et
leurs fonctionnalités dans l'environnement de simulation Packet Tracer (PT) version 7.1. La
deuxième partie de notre démarche pédagogique se concentre sur la familiarisation des
apprenants avec le microcontrôleur PT (PT-MCU) au sein de PT 7.1, en explorant ses
capacités et son utilisation. Enfin, la troisième partie vise à introduire les apprenants à la
programmation du microcontrôleur PT (PT-MCU) dans PT 7.1, leur permettant ainsi
d'acquérir des compétences essentielles dans la programmation de ce composant électronique.
Ces trois parties combinées visent à fournir une expérience d'apprentissage complète et
pratique dans le domaine de l'électronique et de la programmation.
1. LE MATERIEL :

Dans cette démonstration, un seul PT MCU est connecté à 4 capteurs et à 4 actionneurs. Les
4 capteurs sont les suivants : un interrupteur numérique, un bouton poussoir numérique, un
potentiomètre analogue et un capteur de flexion analogue. Les 4 actionneurs incluent une
lumière, une LED, une sirène et un moteur analogue. Le PT MCU est programmé en langage
Python pour relever en continu les valeurs du capteur et les écrire sur les actionneurs, selon
une logique conditionnelle. La relation entre les capteurs et les actionneurs peut être résumée
comme suit :
L'interrupteur contrôle la lumière :

Le bouton poussoir contrôle la LED :

Le potentiomètre contrôle la sirène :

Le capteur de flexion contrôle le moteur :


2. L’EXECUTION DU CIRCUIT :

2.1 ) Fonctionnement du système :

Vous êtes invité à examiner attentivement la topologie de notre système. Au centre, vous
trouverez la MCU. Les dispositifs d'entrée, tels que les capteurs et les interrupteurs, sont
positionnés du côté gauche, tandis que les dispositifs de sortie se trouvent à droite. Pour
accéder à la configuration de chaque composant, y compris la MCU, les capteurs, les
interrupteurs et les appareils contrôlés, vous pouvez ouvrir leur fenêtre de configuration
respective. Il est important de noter que les onglets de configuration varient en fonction de
l'appareil que vous sélectionnez. Dans la fenêtre de configuration de la MCU, vous trouverez
l'onglet "Programming" qui contient le code Python qui détermine le comportement de
l'appareil. Pour interagir avec ces dispositifs, utilisez la combinaison de touches ALT + clic
(maintenez la touche ALT enfoncée tout en cliquant sur l'appareil). Vous pouvez utiliser cette
méthode pour effectuer différentes actions :

ALT + clic sur l'interrupteur pour allumer ou éteindre la lumière.

ALT + clic sur le bouton-poussoir pour allumer ou éteindre la LED.

ALT + clic, appuyez et faites glisser le potentiomètre pour contrôler le volume de la sirène.

ALT + clic, appuyez et faites glisser le capteur de flexion pour réguler la vitesse du moteur.

Assurez-vous de prendre note des ports de la MCU auxquels sont connectés les capteurs, les
interrupteurs et les appareils pour comprendre la configuration globale du système. Cette
démarche vous aidera à mieux appréhender la manière dont ces composants sont
interconnectés et comment ils interagissent pour réaliser les fonctionnalités souhaitées.

2.2 )Partie code :

Pour accéder a la partie code il faut suivre les étapes suivantes :

a. Ouvrez la MCU située au centre de la topologie.

b. Sélectionnez l'onglet Programming .


Voici une explication de ce code :

Sur les lignes 1 et 2, toutes les classes des bibliothèques time et gpio sont importées dans le
programme. Il est important de fournir un accès aux fonctions time et GPIO (General Purpose
Input/Output).

Ensuite, 4 variables générales sont déclarées et initialisées sur les lignes 4, 5, 6 et 7. Ces
variables serontutilisées pour conserver les valeurs du capteur. Une fonction appelée
readFromSensors() est ensuite créée (lignes 9 à 18). Pour commencer, la fonction prépare les
variables du capteur (lignes 10 à 13). La fonction readFromSensors() appelle ensuite deux
autres fonctions, digitalRead() et analogRead(), pour relever l'état des capteurs et le conserver
dans les variables appropriées (lignes 15 à 18). Veuillez noter que digitalRead() et
analogRead() utilisent un numéro de broche comme paramètre. En connectant des capteurs
spécifiques à des broches spécifiques, le programme relève l'état de capteurs spécifiques.

Une autre fonction est alors créée sur les lignes 20 à 39 : writeToActuators() permet de
changer l'état des actionneurs en fonction de l'état des capteurs. Sur les lignes 21 à 24, le
programme teste le contenu de la variable switchValue. Étant donné que switchValue
enregistre l'état de la broche 0 (voir ligne 15), le programme décide s'il doit allumer la lumière
; si la valeur enregistrée dans switchValue est HIGH (la tension est appliquée ou l'interrupteur
est allumé), le programme allume la lumière en écrivant la valeur 2 sur l'actionneur 2. Si
switchValue est LOW (aucune tension ou interrupteur éteint), le programme éteint la lumière
en écrivant 0 sur l'actionneur 2.
De même, les lignes 26 à 39 testent et modifient les autres actionneurs en fonction de leurs
capteurs de contrôle respectifs. Les lignes 41 à 54 définissent la fonction main(). Comme son
nom l'indique, la fonction main() s'exécute automatiquement lorsque la MCU est allumée
pour la première fois. Les lignes 42 à 46 initialisent les broches ; les broches 0 et 1 sont
définies sur INPUT (ENTRÉE, lignes 42 et 43) alors que les broches 2, 3 et 4 sont définies
sur OUTPUT (SORTIE). C'est important, car les broches INPUT reçoivent la tension alors
que les broches OUTPUT distribuent la tension générée par la MCU. Une boucle while infinie
est créée sur les lignes 48 à 51. Étant donné que la condition de la boucle indiquesimplement
true, le MCU exécutera indéfiniment les lignes 49, 50 et 51. Cette boucle while infinie force
la MCU à :

1. Exécuter la fonction readFromSensors() de la ligne 49.

2. Exécuter la fonction writeToActuators() de la ligne 50.

3. Attendre 1 seconde sur la ligne 51 (1 000 ms = 1 seconde).

4. Redémarrez la boucle depuis le début en revenant à la ligne 49 et en réexécutant la fonction

readFromSensors().

Veuillez noter que si les boucles infinies ne sont en général pas souhaitables, elles sont utiles
dans ce programme. La boucle infinie assure ici que la MCU vérifie constamment l'état des
capteurs et des interrupteurs (en exécutant readFromSensors() toutes les secondes) et prend
toujours les mesures appropriées avec les actionneurs (en exécutant writeToActuators()) en
fonction de l'état des capteurs.

Conclusion :
En conclusion, ce projet illustre l'application pratique d'un microcontrôleur (MCU) dans
l'environnement Packet Tracer. Il met en avant l'interaction entre les capteurs, les
interrupteurs et les actionneurs, mettant en évidence les composants essentiels d'un système
de contrôle automatisé.

Vous aimerez peut-être aussi