Afficher la pageAnciennes révisionsLiens de retourExporter en PDFHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. [[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** * <html><a href="https://www.adafruit.com/product/4116" target="_blank">Adafruit PyPortal - CircuitPython Powered Internet Display</a></html> * <html><a href="https://learn.adafruit.com/adafruit-pyportal/overview" target="_blank">Adafruit PyPortal - IoT for CircuitPython (overview)</a></html> * <html><a href="https://docs.circuitpython.org/en/latest/README.html" target="_blank">Documentation CircuitPython</a></html> ==== 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 <html><a href="https://learn.adafruit.com/adafruit-pyportal/pyportal-circuitpython-setup" target="_blank">adafruit</a></html>. === 3.2 Configuration de l'IDE Arduino === * Source sur <html><a href="https://learn.adafruit.com/adafruit-pyportal/setup" target="_blank">adafruit</a></html> . ==== 4. Mise en oeuvre ==== <tabs> * [[#tab-micropy_1|MicroPython]] * [[#tab-arduino_1|Arduino]] <pane id="tab-micropy_1"> * **Mise à jour** - **Bootloader** \\ **Source** : <html><a href="https://learn.adafruit.com/adafruit-pyportal/update-the-uf2-bootloader" target="_blank">Update the UF2 Bootloader</a></html> \\ \\ a. **Double-cliquer** sur le bouton de réinitialisation. {{ :python:micropython:materiel:portalboot.png?nolink&500 |}} \\ b. <html><a href="https://circuitpython.org/board/pyportal/">Télécharger</a></html> le chargeur de démarrage .UF2 et le faire glisser dans la fenêtre PORTALBOOT. \\ \\ - **Firmware** : <html><a href="https://learn.adafruit.com/adafruit-pyportal/install-circuitpython" target="_blank">Installez CircuitPython</a></html> \\ a. <html><a href="https://circuitpython.org/board/pyportal/">Télécharger</a></html> 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 * <html><a href="https://learn.adafruit.com/adafruit-pyportal/internet-connect" target="_blank">secret.py</a></html> 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 (<html><a href="https://learn.adafruit.com/adafruit-pyportal/circuitpython-libraries" target="_blank">bundle</a></html>) correspondant à la version de CircuitPython * **Test** <code python *.py> # 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) </code> </pane> <pane id="tab-arduino_1"> A faire </pane> </tabs> ==== 5. Bibliothèques ==== * Bundle de bibliothèques CircuitPython à <html><a href="https://circuitpython.org/libraries" target="_blank">télécharger</a></html>. ==== 6. Exemples ==== * **Extraits de code** illustrant les fonctionnalités de la carte (capteur, carte µSD, etc.) : <html><a href="https://www.devdungeon.com/content/pyportal-circuitpy-tutorial-adabox-011#toc-30" target="_blank">Tutoriel PyPortal CircuitPy Tutorial (AdaBox 011)</a></html> microc/uc/pyportal.txt Dernière modification : 2023/08/19 10:48de phil