# Electronique Analogique et mixte en PeiP dans le réseau Polytech

P. Masson, F. Ferrero, F. Muller, G. Jacquemod

Polytech Nice Sophia et pôle CNFM PACA, Université de Nice,
Sophia Antipolis, France

Contact email : pascal.masson@unice.fr

Cet article présente le nouveau cours d'électronique analogique et
mixe qui a été mis en place en deuxième année (BAC+2) du
Parcours des Ecoles d'Ingénieurs Polytech (PeiP) de Polytech Nice.
Ce nouveau cours est basé sur la carte arduino et nous permet de
faire développer aux étudiants un mélange d'électronique et de
programmation embarquée, de leur donner la possibilité d'utiliser
divers capteurs (température, luminosité, mouvement, GPS,
gyroscope...), de contrôler divers composants comme des DEL,
des écrans ou des moteurs et de faire communiquer des objets entre
eux.

I. Introduction

Toutes les écoles du réseau Polytech intègrent un premier cycle intitulé PeiP, Parcours des écoles d'ingénieurs Polytech, avec un recrutement national après Bac. Ces classes préparatoires intégrées offrent la possibilité aux étudiants de choisir pratiquement n'importe qu'elle spécialité du réseau.

Pour des raisons historiques, le PeiP de Nice Sophia Antipolis compte 20 % d'électronique analogique et numérique dans son programme pédagogique. L'électronique que l'on peut enseigner en PeiP ne peut déboucher que sur des applications simplistes en regard des objets que manipulent nos étudiants au quotidien : téléphone portable, tablette, drone ... Il est donc très difficile de les attirer vers les métiers actuels de l'électronique comme par exemple le développement des objets connectés ou de l'internet des objets.

L'émergence et le succès grandissant des cartes de développement permettent justement la réalisation d'objets au fonctionnement complexe grâce à la puissance et à la souplesse du microcontrôleur embarqué sur la carte. Ce constat nous a permis de refondre l'enseignement de l'électronique BAC+2 tout en conservant l'électronique de base à BAC+1. Pour cela, nous avons choisi d'utiliser la carte Arduino UNO qui ne nécessite pas de système d'exploitation et dont la communauté « open source » offre l'accès à un nombre presque infini d'applications. Cette carte nous permet ainsi de faire développer aux étudiants un mélange d'électronique et de programmation embarquée, de leur donner la possibilité d'utiliser divers capteurs (température, luminosité, mouvement, GPS, gyroscope...), de contrôler des objets comme des lampes ou des moteurs et de faire communiquer des objets entre eux (Bluetooth, RF 433 MHz, WiFi ...). Pour la mise en place de ce cours, nous avons bénéficié d'un sponsoring de la société ATMEL avec le don de 90 cartes Xplained Mini qui sont des clones de la carte Arduino UNO.

Dans ce document, nous détaillons l'organisation et le contenu du cours Arduino.
## II. Organisation des cours Arduino

Les cours/TD/TP sont dispensés en petits groupes en salle de TP ce qui donne accès aux oscilloscopes, multimètres, générateurs de signaux et autres petits matériels et composants électroniques ... Cette configuration cours/TP permet de mettre en pratique (TP) une notion juste après l'avoir vue (cours).

Chaque étudiant se voit prêter, pour toute l'année scolaire, le matériel (cf. Figure 1) nécessaire au suivi des cours. Ils peuvent ainsi travailler les notions à acquérir chez eux et développer leurs propres applications.

En complément, chaque étudiant se voit prêter un ordinateur portable par l'école mais ils peuvent également utiliser leur ordinateur personnel.

Les étudiants sont évalués avec des contrôles « classiques », des examens de cours, des comptes rendus de travaux pratiques et la réalisation de montages.

Ce nouveau cours est complété par la réalisation, en binôme, d'un projet connecté. Pour intéresser les étudiants, nous leur laissons le choix de l'objet et pour l'année 2015-2016, les 39 binômes ont entre-autres choisi de réaliser : une alarme de maison, l'électronique et guidage d'une fusée avec mesures embarquées, un stabilisateur de caméra, une manette de jeux vidéo, une machine à cocktails, une voiture télécommandée par smartphone, une lampe connectée, un oreiller connecté, un ventilateur/brumisateur ...

<figure><img src="image_1.png" /><figcaption>Fig.1. Une partie du matériel fourni aux étudiants du PeiP2 de Polytech Nice.</figcaption></figure>

## III. Prise en main des cartes Arduino

La prise en main commence par une application simple : faire clignoter une LED. Après avoir déterminé la valeur de la résistance à mettre en série ainsi que la puissance dissipée, les étudiants écrivent le programme (en langage C), le compilent et le « téléversent » vers la carte. Ils voient ainsi la notion de langage machine et on s'assure que toute la liaison ordinateur/carte fonctionne. On profite de cette application simple pour faire communiquer la carte avec l'ordinateur en affichant sur l'écran l'état (allumé ou éteint) de la LED grâce à la connexion USB. On ajoute alors un bouton pousoir au schéma ce qui amène à résoudre le problème de rebonds de façon matériel avec l'utilisation d'une capacité ou logicielle en ajoutant un délai de quelques millisecondes après la détection du changement d'état du bouton. Dans la suite du cours, les étudiants prennent en main les entrées analogiques et numérisent la tension obtenue avec un potentiomètre. Cette partie qui correspond à l'utilisation d'un voltmètre est complétée par l'utilisation d'un écran LCD 16x2 qui permet l'affichage de la tension (en plus de l'affichage sur l'ordinateur).
Les étudiants avancent à des vitesses très différentes et il faut attendre les derniers pour continuer le cours. L'enseignant invite donc les étudiants qui ont fini à approfondir l'utilisation de l'écran avec des applications plus ludiques qui peuvent être trouvées sur internet : faire défiler un texte, réaliser un graphique, réaliser un jeu de course de voitures (carte Arduino + écran LCD + potentiomètre).

Les étudiants passent alors à la notion de PWM (Pulsed Width Modulation) qui peut être obtenue avec certaines entrées/sorties ou I/O de la carte. La première application consiste à allumer puis éteindre progressivement une LED. La deuxième application a pour objectif d'obtenir une tension analogique après avoir filtré le signal PWM à l'aide d'un filtre passe-bas. Les étudiants réalisent toute la chaine avec un potentiomètre qui donne la valeur moyenne <m> lue par une entrée analogique et qui fixe le rapport cyclique du PWM. Ils retrouvent la valeur <m> en sortie du filtre. Dans cette partie, on rappelle aussi les notions de décomposition en séries de Fourier et de dimensionnement d'un filtre, vues en PeiP1.

L'avant dernier chapitre met en œuvre le module HC-SR04 qui permet de mesurer une distance par ultra-sons. Cela montre aux étudiants qu'il existe une multitude de modules pilotables avec la carte Arduino afin qu'ils puissent à terme développer leurs propres idées/applications. On profite également de cet exercice pour utiliser une librairie accessible sur internet en invitant les étudiants à lire un tutorial en Anglais leur expliquant comment installer la librairie et s'en servir.

Ce cours d'initiation se termine par une communication infra-rouge. Les étudiants commencent par réaliser le montage qui met en œuvre une diode IR (Infra-Rouge), un photo-transistor et une diode qui s'allume quand le photo-transistor est passant. Une fois le montage fonctionnel, les étudiants commandent la diode IR avec un mot binaire et récupère ce mot après le photo-transistor. Avec la mise en place d'une communication série (avec la librairie « SoftwareSerial ») et en se mettant en binôme, un étudiant écrit un texte sur son PC qui est envoyé à l'Arduino (connexion USB), la carte Arduino envoie ce texte via la liaison IR à la carte de l'autre étudiant. Finalement l'étudiant visualise le texte sur son écran (connexion USB). Les fonctions de programmation (boucles for, digital, ...) sont introduites au fur et à mesure de l'avancement du cours et toutes les fonctions ainsi que leur description sont regroupées sur une feuille recto-verso distribuée à tous les élèves en cours et lors des examens. Le cours et TD (ainsi que d'autres informations) sont accessibles sur un site internet (1).

## IV. Intégration de fonctions analogiques : de l'AOP au fréquencemètre

Ce cours/TP est réalisé par une série de 4 travaux pratiques après un « rappel » sur les montages classiques à base d'amplificateurs opérationnels. Les étudiants sont ainsi confrontés aux problèmes de *slew rate*, de bande passante, d'adaptation d'impédance, ... L'objectif est bien la réalisation des différents montages de base : amplificateur (suiveur, sommateur), multivibtrateur, *trigger* et mise en forme du signal. Pour des raisons pédagogiques, le générateur de bruit classique à base d'une diode Zéner a été remplacé par un générateur « petits signaux » et hautes fréquences (par rapport au signal dont on veut mesurer la fréquence).

Le programme (cf. Figure 2) est donné et son fonctionnement explicité de façon collégiale.
<figure><img src="image_2.png" /><figcaption>Fig.2. Schéma de câblage et programme « Arduino » qui permet de mesurer puis visualiser la fréquence sur un écran LCD.</figcaption></figure>

Les notions de signaux compatibles TTL, de codage par complément à deux (limitation basse fréquence), d'horloge interne (limitation hautes fréquences) sont également traitées au fur et à mesure de l'avancement des travaux pratiques, avec donc un mélange de problèmes liés à l'électronique et ceux dus à l'informatique.

Le schéma complet du circuit est donné sur la figure 3. Les étudiants doivent dimensionner les différents composants passifs en fonction des spécifications données par l'enseignant.

<figure><img src="image_3.png" /><figcaption>Fig.3. Schéma complet du montage à réaliser</figcaption></figure>

La notation comprend un compte-rendu, par binôme, pour l'ensemble des manipulations, un contrôle de travaux pratiques où les étudiants sont seuls cette fois pour « refaire » le système complet : de la génération d'un signal périodique à la mesure de la fréquence par la carte Arduino, ainsi qu'un examen « classique » sur les montages à base d'amplificateurs opérationnels.

## V. Utilisation de composants spécifiques : De l'accéléromètre au transciever
### Bluetooth

L'objectif de ce module est de donner aux étudiants les notions nécessaires pour l'utilisation de composants spécifiques pour la conception d'un objet connecté.

Les enseignements sont réalisés sous la forme de cours/TP où les techniques présentés sont immédiatement mises en application sur la plateforme Arduino. Par exemple, un accéléromètre analogique (ADXL335) est utilisé pour revenir sur les notions
élémentaires de filtrage et d'impédance de sortie. Le circuit est utilisé en fin de séance pour réaliser un niveau numérique, illustré par la figure 4, et un capteur de mouvement.

<figure><img src="image_4.png" /><figcaption>Fig.4. Accéléromètre ADXL335 mis en œuvre par les étudiants et niveau numérique</figcaption></figure>

D'autres séances présentent le contrôle de différents types de moteur (pont en H, servo-moteur) et la mesure de différentes informations comme la température avec une thermistance.

Enfin lors de la dernière séance, la technologie Bluetooth est présentée aux étudiants et un module HC-06 est utilisé (cf. figure 5) pour établir une communication sans fil entre la plateforme Arduino et le smartphone des étudiants. Pour cela, l'application Android « Bluetooth Electronics » est utilisée pour créer une Interface Homme Machine (IHM) composée d'actionneurs (boutons, joysticks, etc..) et d'indicateurs (jauges, graphiques, etc.). Le capteur de distance à ultra-sons est utilisé en fin de séance pour réaliser un radar de recul sans fil dont les informations s'affichent sur le téléphone portable.

<figure><img src="image_5.png" /><figcaption>Fig.5. Module Bluetooth HC-06 et application android associée</figcaption></figure>

# VI. L'électronique numérique

Ce module permet de comprendre le comportement et l'utilisation des circuits de bases de la logique séquentielle tels que les points mémoires ou les bascules. Le cours de logique combinatoire est un prérequis, enseigné en Peip1. Chaque séance est organisée sous forme d'un cours d'une durée inférieure à 45 minutes et de travaux dirigés. Les exercices sont classés en deux catégories : les exercices corrigés par le groupe puis vérifiés sous Arduino par chaque étudiant, et des exercices où l'étudiant doit rechercher de manière autonome la solution théorique puis la vérifier directement sous Arduino. Cette formule permet à l'étudiant de réellement comprendre la problématique de la logique séquentielle grâce à la confrontation de sa solution théorique et de l'interprétation des résultats sous Arduino.
Les premières séances permettent de comprendre que le système numérique est bouclé et présente les notions d'états présents et suivants. A partir de cette constatation, les points mémoires, conçus à partir de portes logiques combinatoires sont étudiés, puis réalisés sous Arduino. Les séances suivantes traitent des bascules afin de concevoir des compteurs synchrones, des registres à décalage ou encore des systèmes plus complexes.

Afin de faciliter les tests sous Arduino, une librairie « analyseur_logique » a été écrite. Les étudiants l'utilisent pour injecter une séquence sur le montage à tester et à capturer les sorties. Cette librairie permet d'accélérer les tests sur carte Arduino. L'analyseur permet d'afficher sur la console les résultats sous forme de table de transitions et de chronogrammes. Pour ce faire, les étudiants doivent écrire la séquence de test en langage Arduino. La figure 6 illustre un exemple de montage.

<figure><img src="image_6.png" /><figcaption>Fig.6. Montage & résultats d'une bascule D.</figcaption></figure>

Chaque étudiant conserve les circuits pendant les semaines de cours pour leur permettre de continuer les exercices non terminés en dehors des séances.

## VII. Le projet Arduino

Pour terminer ce module d'enseignement, les étudiants réalisent un mini-projet, avec une grande liberté de choix. Les seules contraintes dans leur cahier des charges sont d'intégrer une communication sans-fil, un actionneur et un capteur. L'ensemble est réalisé lors d'une série de 5 travaux pratiques de 3h en présentiel, plus du travail personnel à la maison. A noter que pour l'année scolaire 2016-2017, nous avons modifié la maquette pédagogique pour passer à 9 séances de 3h en présentiel.

L'approche pédagogique est de donner des bases sur le fonctionnement et l'utilisation de la carte Arduino (cours : « prise en main des cartes Arduino » et « Utilisation de composants spécifiques : De l'accéléromètre au transciever Bluetooth ») puis de laisser les étudiants imaginer ce qu'ils vont réaliser. L'équipe enseignante est là pour soutenir les étudiants et discuter avec eux des solutions qu'ils proposent pour résoudre leurs problèmes. Le choix des projets étant libre, il n'existe pas une solution pré-définie par les enseignants. L'objectif ici est multiple et rejoint d'idée que l'on peut se faire d'une formation Ingénieur :

* montrer aux étudiants qu'ils sont capables de réaliser des systèmes complexes et communicants,

* montrer aux étudiants qu'ils sont capables d'imaginer et de mener à bien leur projet,
* montrer aux étudiants qu'ils sont capables de s'auto-former pour résoudre des problèmes,

* donner aux étudiants le gout d'innover dans les nouvelles technologies,

* permettre aux étudiants de mener un projet depuis l'idée jusqu'au prototype,

* former les étudiants au travail en équipe et au découpage par tâches.

<figure><img src="image_7.png" /><figcaption>Fig.7. Exemple de réalisation de projet arduino par les étudiants de PeiP2 de Polytech Nice durant l'année scolaire 2015-2016</figcaption></figure>

Durant l'année 2015-2016, ils ont réalisé, entre autres, les démonstrateurs suivants (c.f. Figure 7) :

* une fusée avec des servomoteurs qui contrôlent les pâles en se basant sur les informations d'un accéléromètre. Une communication sans-fils à 433MHz a également était réalisée pour faire remonter les informations de capteurs embarqués sur la fusée,

* un Arduino capable de réaliser n'importe quel cocktail, sans alcool, grâce à des pompes péristaltiques sur demande à partir d'une application sur le smartphone et d'une communication Bluetooth,

* une Smart-raquette qui sait reconnaitre les différents coups d'un joueur de tennis (coup droit, revers et service) à partir des informations d'un accéléromètre et peut transmettre ces informations vers un smartphone pour calculer les statistiques du joueur,

* un robot serveur automatique qui se déplace de manière autonome en reconnaissant la couleur de marqueurs placés sur le sol. En fonction de la
couleur du marqueur, le robot effectue des rotations contrôlées à l'aide d'un
gyroscope, puis reprend sa marche en avant,

* un robot Wall-E qui se déplace dans une pièce en évitant les murs grâce à son capteur à ultra-sons et qui se télécommande depuis un smartphone en Bluetooth,

* une lampe caméléon qui reproduit la couleur de n'importe quel objet grâce à son capteur de colorimétrie et qui a aussi la capacité de réaliser d'esthétiques variations de couleurs commandées depuis un smartphone en Bluetooth.

Les projets de l'année scolaire 2016-2017 ont débuté en décembre 2016 et on peut
citer les sujets suivants (parmi les 40 qui sont développés) :

* Arvalanche : Système de sauvetage et de recherche de victime en cas d'avalanche en utilisant le standard LoRa,

* Follow me : Asservir le déplacement d'un drone sur un utilisateur,

* My Fridge : Module pour connecter un frigo et suivre son contenu,

* Levduino : Modèle réduit de train à sustentation magnétique,

* Ecran tubulaire : Afficheur d'image rotatif basé sur la persistance rétinienne,

* NMA Helmet : Visée tête haute sur visière + appel secours,

* Drone arduino : Réalisation de A à Z d'un drone à 4 hélices.

La liberté du choix des projets impose une très grande variété de petit matériel (principalement de type électronique) allant des roulements à billes aux caméras comme le montre la figure 8. Les projets sont démontés après la soutenance et le matériel est remis à disposition pour l'année suivante. Cela permets de réduire le cout de l'investissement et de réduire le plus possible la dépendance vis-à-vis des délais de livraison.

<figure><img src="image_8.png" /><figcaption>Fig.8. Exemples de petits matériels électroniques que nous achetons pour les projets.</figcaption></figure>

Les étudiants peuvent aussi accéder au FabLab (2) de la Télécom Valley (3) pour
réaliser certaines pièces avec les imprimantes 3D et la découpeuse laser.

Les rapports, codes sources et vidéo de l'ensemble des projets réalisés sont disponibles sur un site web (4). Il est ainsi possible aux nouveaux étudiants de s'appuyer sur les travaux précédents pour proposer de nouveaux projets plus ambitieux. On a pu noter une grande motivation et une forte implication de la majorité des étudiants pour ces projets.

**Conclusion**

Cette nouvelle approche de l'enseignement de l'électronique analogique a pour
objectif principal d'augmenter l'attractivité des domaines de l'électronique auprès des
étudiants de premier cycle. Il est encore trop tôt pour conclure sur l'efficacité de cette
méthode, mais les premiers retours des étudiants enthousiastes sont prometteurs.
Une partie des projets en cours de développement sont présentées à l'occasion de la journée « portes ouvertes » de Polytech Nice. Les stands ont un très grand succès auprès des visiteurs, les étudiants sont très sollicités et leur travail mis en valeurs. On peut aussi noter que les projets « Fusée » et « Drone arduino » seront présentés sur le stand du réseau Polytech au salon du Bourget 2017.

Références

1. users.polytech.unice.fr/~pmasson/Enseignement-Arduino.htm

2. www.sofab.tv

3. www.telecom-valley.fr

4. www.sofiahub.unice.fr/student-projects/peip2-Arduino-project-2015-2016