Dans cette UP de l'axe MPI, vous êtes amenés à réaliser des projets relativement longs et complexes à base de plateformes Arduino.
Ces projets mêlent l'informatique, l'électronique et une certaine capacité à s'adapter à un nouvel environnement. Tout le matériel dont vous aurez besoin vous sera fourni, cependant vous serez en quasi autonomie pour leur réalisation.
Néanmoins vous ne partirez pas de rien. En effet, vous aurez une introduction aux systèmes que vous aurez à utiliser, ainsi qu'une description détaillée du projet.
Nous vous proposons de réaliser un module d'électrocardiogramme qui comprend la partie de captation, la partie calcul de la fréquence cardiaque observée et le traçage de la courbe de fréquence.
Nous vous proposons de réaliser une station météorologique disposant d'une mémoire et d'une connectivité réseau.
Le matériel utilisé sera un subtil mélange de matériel de prototypage et de matériel recyclé et détourné de son utilisation originale.
Le cœur du système reposera sur un microcontrôleur ATMega de chez Atmel monté sur une platine Arduino.
Arduino est le nom d'une compagnie qui a décidé de mettre à disposition une plateforme matérielle de prototypage à base de microcontrôleurs sous la forme d'une petite carte électronique accompagnée d'un environnement de développement simple et pratique.
Cette plateforme était destinée à la base aux artistes et aux designers et propose donc une programmation très facile en C/C++.
Par abus de langage on désigne comme étant des Arduino, ces petites cartes électroniques.
Un microcontrôleur est un petit composant réunissant les principales fonctions suivantes :
La carte en elle même se compose d'un microcontrôleur ATMega et du minimum nécessaire pour le faire fonctionner : un prise d'alimentation régulée, un quartz, un port USB pour le programmer.
Le côté intéressant de ces cartes est qu'elles proposent des connecteurs simples pour accéder aux ports d'entrée/sortie du microcontrôleur ainsi qu'une interface simple pour les programmer.
Le succès de cette plateforme de développement a été rapide et ne s'est pas démenti depuis. Cela a conduit à la réalisation et à la commercialisation de nombreuses cartes d'extension (les shields) qu'il est possible d'enficher sur la carte principale pour étendre ses fonctionnalités.
Comme exemples de tels shields, nous pouvons citer
Mais il en existe bien d'autres comme vous pourrez le découvrir dans le cadre de ce projet.
Ces cartes permettent donc d'étendre les fonctionnalités ou de rajouter des capteurs, des connecteurs, des actionneurs, ...
Cependant il faut garder à l'esprit que
L'environnement de développement Arduino, utilisé dans tous les projets, est à télécharger sur le site http://www.arduino.cc/. Il est déjà installé sur les postes qui sont mis à votre disposition par l'école. Cependant, vous pouvez vouloir l'installer sur vos propres ordinateurs.
Cet environnement permet de faciliter la mise au point de programmes et leur téléchargement dans le microcontrôleur pour exécution.
Le langage de programmation utilisé est le C++, même si on peut se contenter de faire du C la plupart du temps. N'oublions pas qu'à la base il a été créé pour être utilisé par des non-programmeurs.
Pour la petite histoire et pour mieux comprendre comment tout cela fonctionne, le langage que propose l'API Arduino n'est en fait qu'une couche au-dessus des langages de programmation natifs proposés par le constructeur du microcontrôleur ; ces derniers étant du C ou de l'assembleur en fonction des besoins du programmeur.
Il sera intéressant de remarquer que l'IDE Arduino propose de nombreux exemples d'utilisation couvrant un large spectre de problèmes que l'on est susceptible de rencontrer.
Une description de cet IDE est disponible sur le site dédié à l'Arduino.