This is an old revision of the document!


Projet final

Date limite:
Téléchargement du projet:

Règles générales

  1. Le projet doit être fait en équipes de 2 ou 3 personnes
  2. Un seul personne par équipe doit télécharger le code source
  3. Le projet doit être présente dans la dernière séance du TP
  4. L'implémentation du projet peut être fait en Blocks ou en Python
  5. Si vous choisissez Blocks, après l'implémentation, vous devez convertir le code en Python et le telechargez sur GitHub
  6. Les thèmes peuvent être choisis dans la liste de thèmes donnée ou l'équipe peut proposer son propre thème
  7. 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.

sde2/projet/conditii.1650280706.txt.gz · Last modified: 2022/04/18 14:18 by cristiana.andrei
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0