Ressources scientifiques en ligne Tutoriels Nucleo Tutoriels Python
Modalités et bonnes pratiques
Modalités et attents 1A / Documents de suivi
Organisation des projets
Les secrets d’une bonne gestion de projet : https://www.teamleader.fr/focus/gestion-de-projet
Quelques outils professionnels pour la gestion de projet :
- Basecamp
- Slack
- Teams
Il est essentiel pour les projets de 1A et de 2A de s’appuyer sur l’un de ces outils pour l’organisation du travail de votre équipe.
Ces outils sont à associer à un répertoire partagé (Cloud de l’Institut d’Optique, drive…) pour stocker les fichiers de travail.
Développement informatique
Versionning
Il est possible de faire le suivi des versions de vos codes informatiques par l’intermédiaire d’outils professionnels de type GIT ou GitLab.
L’université Paris-Saclay a mis en place un serveur GitLab à disposition de la communauté étudiante et enseignante de Paris-Saclay : https://gitlab.dsi.universite-paris-saclay.fr/ (login et mot de passe Adonis / mail).
Cette gestion des versions n’est pas obligatoire en 1A, mais ce projet est un bon moyen d’apprendre à utiliser cet outil.
Un tutoriel est disponible à l’adresse suivante : http://lense.institutoptique.fr/ressources/MINE/Tutoriels/GIT/GIT_versionning.pdf
Interfaces en Python
- Développement sous Python 3.9 (min) / Anaconda 3 / Spyder 5
- Style de code selon le guide PEP 8 : https://peps.python.org/pep-0008/
- Style de commentaires et de documentation selon le guide PEP 257 : https://peps.python.org/pep-0257/
- Utilisation de bibliothèques standards (Numpy, Matplotlib, Scipy…)
- Interface graphique sous PyQT5 / PySide (tutoriels officiels – PySide non dispo sur Anaconda)
Pilotage d’instruments de mesure
- Avec PyMeasure : https://pymeasure.readthedocs.io/en/latest/introduction.html
- Exemple pour Agilent 33220A (GBF) : https://pymeasure.readthedocs.io/en/latest/api/instruments/agilent/agilent33220A.html
Développement embarqué
Plateforme / Environnement / Système
Le développement des systèmes d’acquisition ou de commande embarqué se fait sur des plateformes STMicroelectronics Nucléo.
Les modèles L476RG sont préconisés, mais pour certaines applications il est possible de concevoir autour des modèles F767ZI. Dans tous les cas, le modèle ayant servi de support doit être mentionné en commentaire du code et dans la documentation associée.
L’environnement de développement Keil Studio en ligne est préconisé. Une version hors ligne (nommé MBED Studio) est également utilisable.
Les applications doivent être développées à l’aide du système MBED 6 (version 6.13 minimum).
Développement de bibliothèques
Afin d’augmenter la réutilisabilité des codes développés, en particulier pour l’interfaçage de composants spécifiques (capteurs numériques, écrans…), il est indispensable de générer des bibliothèques commentées et documentées.
Un exemple de bibliothèque (incluant la documentation au format MarkDown) pour un composant de type PMod TC-1 de Digilent est fourni à l’adresse suivante : http://lense.institutoptique.fr/ressources/MINE/Solutions/embarque/MBED_Nucleo/PMod_TC1.zip
Ressources communes
- Tutoriels Nucléo : http://lense.institutoptique.fr/nucleo/
- Exemples Nucléo : http://lense.institutoptique.fr/mine/nucleo-bibliotheques-de-fonctions/
- Livrables des années précédentes : http://lense.institutoptique.fr/livrables/
Projets 1A / Sujets
Documents de suivi
Séance 1 : Fiche descriptive et scénario d’usage : Description / Fiche à rendre
Séance 2 : Cahier des charges / Schéma fonctionnel / Plan de formation et compétences visées
Deux types de livrables finaux seront demandés à la fin des projets :
- la documentation des structures réalisées (analogique et/ou numérique)
- des bibliothèques de fonctions ou de modèles physiques pouvant être réutilisées lors de prochains projets
Ces documents seront validés au fur et à mesure de l’avancement des projets au cours des séances intermédiaires.
Séance 6/7 : Fiche d’audit des équipes : Fiche Audit Suivi
Photonique
- Interface de caméra industrielle
- Pilotage de caméra industrielle par l’intermédiaire d’une IHM en Python / IDS – pyueye
- Paramétrage Temps intégration / Zone d’intérêt (ROI) / Prise d’images / Coupe d’une image
- Biophotonique
- Pilotage d’un DMD (Digital micro-mirror) pour structurer l’illumination d’objets biologiques
- Pilotage et interfaçage d’un déplacement piézoélectrique numérique
(R)Evolution / Interfaçage / Problématiques industrielles
- Datalogger
- Acquisition de données via des capteurs et stockage / Récupération et affichage des données (sans fil ou carte sd – interface Python)
- Banc automatisé
- Automatisation de mesures par une carte d’acquisition et pilotage des instruments de laboratoire (type de banc à identifier – interfaçage avec Python)
- Photonique Numérique
- Prise en main de bibliothèques de modélisation en Python
- Aide à la réforme de l’enseignement des outils numériques
- Ecriture de fonctions/bibliothèques spécifiques pour SupOp
- Ecriture de tutoriels pour l’apprentissage des outils numériques pour la physique/photonique
- Embedded STM32 with HAL libraries
- Développement autour de STM32IDE et des librairies HAL
- Comparaison entre MBED/Keil et HAL (temps de conversion, de traitement, complexité de codage)
Systèmes industriels
Robotique
![]() Robot télécommandé |
![]() Robot Omnidirectionnel |
Son et lumière
![]() BeatBox and Light |
![]() Télécommande pour Lyre |