Commit 531b6c85 authored by MACHADO-VICENTE MICKAEL's avatar MACHADO-VICENTE MICKAEL
Browse files

Merge branch 'readme' into 'master'

Readme

See merge request !4
parents 3a5c8832 6418e304
......@@ -2,7 +2,7 @@
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="jdk" jdkName="Python 3.6 (qui-est-ce)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
# qui-est-ce
# Qui-est-ce
Le projet Qui-est-ce est un jeu s'inscrivant dans un cadre pédagogique.
Le but est de comprendre le fonctionnement d'un arbre de décision par le biais du principe de jeu du "qui est-ce?".
Ce projet est à mettre en place avec une installation physique.
Le projet n'étant pas terminé, il se peut que des modifications soient nécessaires.
Il est actuellement découpé en deux partie :
- Un projet python (Lecture de la base de données, algorithme de verification de l'arbre et communication entre le Raspberry Pi et l'Arduino).
- Un projet Arduino (script devant être lancé sur l'Arduino lisant les tags RFID et allumant les LEDs).
# Prérequis
Ce projet nécessite un Arduino Mega, un Raspberry Pi (ou tout autre ordinateur capable de se connecter à l'Arduino et d'utiliser python), des lecteurs RFID RC522 13,56 MHz et des tags RFID 13,56 MHz des bandeaux de LEDs.
Packages pour les scripts python :
- Python 3.6.10
- Pandas 1.0.3
- xlrd 1.2.0
- pyserial
# Démarrer
La partie python peut être mise en marche en lancant le ["main.py"](main.py).
Concernant la partie Arduino, elle doit être chargée dans l'arduino et être lancée directement dessus.
# Fonctionnement du flux de données
1. L'Arduino interroge tous les lecteurs RFID.
2. Les tags lus sur les lecteurs sont envoyé par l'Arduino au Raspberry Pi.
3. Le raspberry Pi lit la base de données se trouvant dans ce projet sous ["/data/base_donnees.xslx"](/data/base_donnees.xslx). Cette étape est faite une seule fois.
4. Le raspberry Pi analyse les tags reçus par l'Arduino en prenant en compte les attributs prevenant de la base de données.
5. Le raspberry Pi envoie à l'Arduino la couleur que les chemins de LED doivent prendre.
6. Les LEDs s'allument sur l'Arduino avec la bonne couleur (rouge s'il y a une erreur, vert si le chemin est bon, éteint si aucune information).
# Communication Rasbperry Pi - Arduino
Des tests ont été réalisés pour s'assurer que la communication Raspberry Pi et Arduino fonctionne correctement. Nous avons ici testé la communication via le Port USB.
Pour l'Arduino, le code se trouve sous ["/arduino/test_arduino_raspberry.ino"](/arduino/test_arduino_raspberry.ino). Ce code ne comporte que les tests de communication, pas tout le projet avec la lecture des tags.
Pour le Raspberry Pi, le code se trouve dans ["test_communication.py"](test_communication.py).
# La base de données
Elle peut être agrandie mais doit être dans un fichier excel et être composée de deux feuilles.
- La feuille "Personnages" doit contenir le numéro de personnage, le tag du personnage, les tags des questions et les réponses à ces questions.
- La feuille "Questions" doit contenir le numéro des la question, le tag de la question et la question.
# Lancement des tests
A lancer à la racine du projet
python -m unittest discover -v .\tests
# Auteurs
Pauline MELEDO, Yoann KLEIN, Mickaël MACHADO VICENTE, Gabrielle HURE
de l'école Télécom Physique Strasbourg
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment