Axe MPI — UP4 : Projet

Réalisation de projets

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.

Réalisation d'un module électrocardiogramme

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.

→ Voir le détail du projets.

Réalisation d'une station météorologique

Nous vous proposons de réaliser une station météorologique disposant d'une mémoire et d'une connectivité réseau.

→ Voir le détail du projet.

Matériel utilisé

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

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.

Extensions

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

  • le shield Ethernet ;
  • le shield GPS ;
  • le shield écran LCD.

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

  1. l'Arduino est une petite machine qui dispose de peu de mémoire et de capacité de calcul ;
  2. la communication entre l'Arduino et ses shields utilise des ports d'entrée/sortie du microcontrôleur qui ne sont alors plus disponibles pour nous. Il faudra donc bien se reporter à la documentation du shield en question pour savoir quelles sont les broches utilisées.

Environnement de développement

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.