[[microc:accueilmc|{{ :iconemaison.jpg?nolink&30|Sommaire Microcontrôleur}}]] ===== Microcontrôleurs - Module PyPortal ===== [Mise à jour le 24/2/2021] {{ :python:micropython:materiel:circuitppython.png?nolink&250|}} * **Ressources** * Adafruit PyPortal - CircuitPython Powered Internet Display * Adafruit PyPortal - IoT for CircuitPython (overview) * Documentation CircuitPython ==== 1. Généralités ==== Le **PyPortal** a été développé pour l'"**Internet des objets**". Il permet de créer des interfaces graphiques à écran tactile en Python ou Arduino. {{ :python:micropython:materiel:pyportal.jpg?nolink |}} ==== 2. Principales caractéristiques ==== * **Microcontrôleur** : ATSAMD51J20 * Cortex-M4 à 120 MHz * Alimentation : 3,3V * Mémoire flash : 1Mo * Port USB natif * **Coprocesseur** : Wi-Fi Espressif ESP32 (TLS/SSL intégré) * **Mémoire externe** : 8Mo QSPI flash * **Affichage** : TFT couleur 3,2 pouces 320 x 240 avec écran tactile résistif * **Stockage** : * Emplacement pour carte microSD * **Entrées/Sorties** * Connectique pour I2C * Connectique pour 2 entrées analogiques ou numériques * **Divers** * Haut-parleur * Capteur de lumière * Capteur de température (ADT7410 résolution 16bits (0,0078°C)) * Néopixel ==== 3. Préparation ==== === 3.1 Configuration de CircuitPython === * Source sur adafruit. === 3.2 Configuration de l'IDE Arduino === * Source sur adafruit . ==== 4. Mise en oeuvre ==== * [[#tab-micropy_1|MicroPython]] * [[#tab-arduino_1|Arduino]] * **Mise à jour** - **Bootloader** \\ **Source** : Update the UF2 Bootloader \\ \\ a. **Double-cliquer** sur le bouton de réinitialisation. {{ :python:micropython:materiel:portalboot.png?nolink&500 |}} \\ b. Télécharger le chargeur de démarrage .UF2 et le faire glisser dans la fenêtre PORTALBOOT. \\ \\ - **Firmware** : Installez CircuitPython \\ a. Télécharger la dernière version de circuitPython pour PyPortal et la faire glisser dans la fenêtre PORTALBOOT. {{ :python:micropython:materiel:mu.png?nolink&50|}} * **IDE** :** Mu** (Recommandé) * **REPL** : activé en entrant **ctrl-c** puis une touche quelconque dans la console => **>>>**. * **help("modules")** liste tous les modules (bibliothèques) sur la carte. * **import board** + **dir(board)** pour lister les broches de la carte. {{ :python:micropython:materiel:circuitpythonlib.png?nolink|}} * **Organisation** minimum sur la carte PyPortal * **Fichiers** à créer * **code.py** s'exécute par défaut * secret.py pour sauvegarder le SSID et le mdp du Wifi, compte Adafruit IO, etc. * **Sous répertoire** * **lib** pour rassembler les bibliothèques nécessaires à l'application. Celles-ci seront copiées à partir du paquet (bundle) correspondant à la version de CircuitPython * **Test** # Faire clignoter la LED ACT import board # Accès au matériel de la carte import digitalio # Accès aux entrée/sorties import time # Temporisations led = digitalio.DigitalInOut(board.D13) led.direction = digitalio.Direction.OUTPUT while True: led.value = True time.sleep(0.1) led.value = False time.sleep(0.1) A faire ==== 5. Bibliothèques ==== * Bundle de bibliothèques CircuitPython à télécharger. ==== 6. Exemples ==== * **Extraits de code** illustrant les fonctionnalités de la carte (capteur, carte µSD, etc.) : Tutoriel PyPortal CircuitPy Tutorial (AdaBox 011)