This is an old revision of the document!
Projet final
Date limite:
Téléchargement du projet:
Règles générales
Le projet doit être fait en équipes de 2 ou 3 personnes
Un seul personne par équipe doit télécharger le code source
Le projet doit être présente dans la dernière séance du TP
L'implémentation du projet peut être fait en Blocks ou en Python
Si vous choisissez Blocks, après l'implémentation, vous devez convertir le code en Python et le telechargez sur GitHub
Les thèmes peuvent être choisis dans la liste de thèmes donnée ou l'équipe peut proposer son propre thème
Chaque équipe doit avoir un thème différent
Les thèmes proposés par l’equipes doivent respecter les exigences minimales.
Exigences minimales
Le projet doit utiliser minimum 5 périphériques (boutons, matrice LED, capteur de température, capteur tactil, capteur de lumière, microphone, speaker, accéléromètre, boussole)
Tous les périphériques utilisés doivent avoir des événements qui les interconnectent les uns avec les autres (ex: quand on appuie sur le bouton A la valeur du température actuelle s’affiche sur la matrice LED)
Le projet doit implémenter des comportements différents pour on_start() et on_forever()
Le projet doit implémenter un système de monitorisation (affichage dans la console ou graphique) des données fournies par au minimum un périphérique à votre choix
Thèmes
1. Car simulation
on peut “ouvrir” la voiture en introduisant un PIN composé par 4 chiffres
si le PIN introduit est erroné 3 fois, une alarme va commencer et elle s'arrête seulement si on appuie sur les boutons A et B simultanément
démarrer/arrêter le moteur si on appuie sur le logo 3 fois
contrôler les phares en fonction du niveau de luminosité (lumière faible → tous les LEDs s’allume; lumière médium → afficher un carré (feux de croisement); lumière fort → aucune LED est allumé)
en fonction du température, des message sont affichées dans la console (ex: <10 C “Turn heating on”, >25 C “Turn AC on”)
BONUS: dans la console on doit affiche la vitesse chaque 10 secondes
2. Spotify simulator
on doit avoir 2 ou 3 utilisateurs qui ont un PIN associé pour pouvoir accéder à leur profil
chaque utilisateur a un playlist avec des chansons
on peut naviguer entre les chansons à l'aide des boutons
si on touche le logo on fait “shuffle” entre les chansons (ca veut dire une chanson aléatoire jouera)
chaque chanson a une image correspondant, comme un thumbnail (quand le chanson joue, sur la matrice LED s’affiche l’image associé à lui)
On doit affiche dans la console le nom et auteur du chanson courant
BONUS: si on secousse la plaque et on a un niveau bas de luminosité, le party mode sera activé, ca veut dire un jeu de lumières est active tout au long de chanson
3. Weather station
nous pouvons choisir la ville dans laquelle nous voulons voir le temps qu'il fait parmi une liste de villes en touchant le logo et nous pouvons naviguer entre elles en utilisant les boutons
si on tourne la plaque vers le bas, ca c’est le signal qu’on veut choisir un autre ville
dans la console on doit afficher le message (“Today’s weather in ” + nom du ville choisi + “:”)
le niveau de luminosité et la température sont associés aux images et messages (ex:(“It’s sunny!”, smiley face) - luminosité fort et température élevée; (“It’s chilly!”, sad) - luminosité bas et température basse ) dans la console on doit afficher ces informations chaque 10 secondes et sur la matrice LED l’image associe a les données
le message “Oh no, thunder!” est affiché dans la console et l’image “Surprised” est affiché sur la matrice LED si un son fort est émis
BONUS: chaque fois on affiche quelques informations dans la console, on affiche aussi l’heure quand l’affichage a été fait
4. Tetris game
si on appuie sur le logo un nouveau LED est générée (allumé) dans la position (2,0) et le LED antérieur est “fixé” dans la position choisie
on peut “déplacer” le LED vers gauche ou droite en utilisant les boutons et vers le bas en appuyant sur les deux boutons simultanément
nous ne pouvons pas avoir deux LED allumées dans la même position; lorsque on déplace une LED allumée sur une LED déjà allumée, il va “saute” à la première position libre dans le sens du mouvement
vous devez “fixe” le LED en 10 secondes; si vous ne fait pas ca, le LED est déplacé automatiquement à la position initiale (2,0)
si la matrice est remplie, un son est fait et dans la console on affiche le message “Congratulations!”
Si on secousse la plaque, le jeu est réinitialisé
BONUS: fait un système de score, incluant des bonus pour les mouvements, qui s’affiche dans la console a la fin du jeu
5. Virtual Pet/Tamagotchi
vous pouvez choisir votre animal parmi une liste des icônes avec des animaux en touchant le logo; on peut naviguer entre eux en utilisant les boutons; chaque animal a un nom associé
l’animal a les besoins suivantes: sleep, hunger, mood, health
chaque besoin a le niveau initiale 100
chaque 15 secondes, un des besoins diminue avec 10 points
les besoins sont satisfaits comme suit: sleep → la plaque doit fait un sleep de 5 secondes; hunger → on doit appuyer les 2 boutons simultanément pour nourrir votre animal; mood → on doit secouer la plaque pour améliorer la disposition et si la valeur du mood est plus que 75, l’image smiley face est affiché sur la matrice LED, sinon l’image sad face est affiché; health → le capteur de lumière doit indique une valeur > 100 et une température > 20 C
on doit affiche dans la console le nom d’animal et les valeurs des paramètres chaque 3 secondes
BONUS: si les paramètres sont < 50, la plaque va faire un son triste et s’ils sont > 70 la plaque va faire un son heureux
Tout autre fonctionnalité implémentée en plus est considérée comme bonus.