Abe's children : attention, ça va péter !

Encadrants : 

Occurrences : 

2017

Nombre d'étudiants minimum: 

3

Nombre d'étudiants maximum: 

4

Nombre d'instances : 

2

Le jeu

Certains d 'entre vous connaissent peut-être le fameux jeu "Oddworld: Abe's Odyssey". Une charmante petite créature du nom d'Abe devait, notamment, désamorcer une série de bombes clignotant selon différents motifs répétitifs en tapant dessus au bon moment.

Votre mission, si vous l'acceptez, sera de vous débarasser des descendants d'Abe une bonne fois pour toutes en réalisant ce dispositif machiavélique. Pour cela, vous disposerez de boules en silicone molles (ou ça) dans lesquelles vous placerez un circuit à base de micro-processeur ainsi que des capteurs, un module radio, un petit haut-parleur et des leds. Les boules discuteront avec un serveur, écrit en Python, qui contrôlera ce jeu mortel (pour les descendants d'Abe).

Chaque balle clignotera selon une séquence qui lui est propre. Par exemple : rouge - rouge - vert - rouge - rouge - vert. Il faudra lui appuyer dessus au moment où elle est verte pour la désamorcer. Une pression au mauvais moment, et c'est l'explosion. Le dernier descendant à être vivant gagne la partie.

Bien entendu, comme la vie est injuste, dès qu'un descendant d'Abe désamorcera sa bombe, la séquence pour les autres deviendra plus complexe ou plus rapide. Et, comme elle est très injuste, des événements imprévus (et très injustes) se mêleront de la partie.

 

Qu'allez-vous apprendre ?

Vous allez apprendre comment réaliser un système simple à base de processeur (similaire à celui vu en ELECINF102, mais un peu plus complexe) et comment le programmer. Vous réaliserez des cartes électroniques basées sur un petit processeur avec tous les périphériques nécessaires. Les cartes communiqueront par radio avec un PC, sur lequel vous programmerez le serveur de jeu en Python. Les cartes, elles, seront programmées en C ou en micropython. C'est de la programmation embarquée, différente de celle que vous avez vue dans les UE d'informatique : vous ne disposerez que de très peu de mémoire flash (256ko) et encore moins de RAM (64ko). Vous apprendrez donc à optimiser votre code en taille et en consommation.

Vous apprendrez aussi comment récupérer en C les informations de capteurs extérieurs et comment piloter des périphériques (LED, haut-parleur). Enfin, vous apprendrez à mettre en oeuvre un module radio.

Ce sera un très bon aperçu de la filière Systèmes Embarqués !

Attention, ce projet n'est pas simple : il demande un certain goût de la programmation et un investissement conséquent. À réserver aux gens motivés et qui n'ont pas de rattrapages !..