Interface microcontrôleur PIC32 et IHM Python
De Wiki_du_Réseau_des_Electroniciens_du_CNRS
Formation "Interface microcontrôleur PIC32 et IHM Python"
Cette page regroupe l'ensemble des tutoriels réalisés lors de l'action de formation 2016 organisée par Arnauld BIGANZOLI et Christophe HALGAND.
Matériel
- Carte chipKIT WF32™ (microcontrôleur PIC32MX695F512L) + ajouter un quart de 32768 Hz en face bottom à l'emplacement "X2" (prévoir également un câble mini USB non fourni avec la carte, voir sur RS ou Farnell)
- Programmateur PICkit™ 3
Les cartes chipKIT WF32 (PIC32MX695F512L) et chipKIT WiFire (PIC32MZ2048EFG100) utilisent le port du microcontrôleur "ICE/ICD Comm Channel Select (ICESEL)" ICS_PGx2 pour la programmation ICSP avec le PICkit 3.
Nous avons choisi la chipKIT WF32 car celle-ci possède plus d'exemples dans Harmony que la chipKIT WiFire.
Installation pour PIC32
Voici les différents outils à installer et les numéros de version au moment de la formation :
- MPLAB® X Integrated Development Environment (IDE) v3.45
- MPLAB® XC32 Compiler v1.42
- Plugin MPLAB® Code Configurator v3.25 (depuis MPLAB X)
- MPLAB® Harmony Integrated Software Framework v2.01b
- Plugin Harmony Configurator (MHC) v2.01.xx (à télécharger puis à installer dans MPLAB® X IDE)
Installation pour Python
Introduction PIC32
- Présentation des outils Microchip (MPLAB X IDE, MLA, MCC, Harmony)
- Mise en place d’une machine à états (FSM)
- Démo du framework Harmony (Timer vs PWM)
- Mise en place d’une communication UART
- Mise en oeuvre d'une communication USB classe CDC
- Acquisition d'une valeur analogique depuis le module ADC, voir "Example Harmony Projects for the ADC Peripheral"
- Mise en place de sauvegarde sur carte micro SD
Démo
- USB Host, lecture et écriture sur clé USB
- Communication WiFi (TCP/IP)
- Serveur HTTP
Introduction Python
- Anaconda / Spyder / Designer
- Conception / Pyserial / PyQtGraph / Démo
- Struct / Byte string / Réalisation d'un terminal série en Python
Démo
- Les différents Plot avec PyQtGraph
Projet
- PIC32/Python: Data logger, enregistrement d'une tension sur carte SD et affichage des données sur une interface graphique sur ordinateur (données numériques bruts et affichage graphique), mode lecteur temps réel ou lecture d'un fichier de sauvegarde