Différences
Ci-dessous, les différences entre deux révisions de la page.
python:micropython:tuto1gpio [2023/07/07 16:14] – [Modifier - Pane] phil | python:micropython:tuto1gpio [Date inconnue] (Version actuelle) – supprimée - modification externe (Date inconnue) 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | [[: | ||
- | |||
- | ===== Tutoriel "Etape par Etape" - Premiers programmes en MicroPython ou CircuitPython avec une carte Raspbery Pi Pico W ===== | ||
- | {{ : | ||
- | |||
- | [Mise à jour le : 12/ | ||
- | |||
- | * **Ressources** | ||
- | * < | ||
- | * < | ||
- | * < | ||
- | * < | ||
- | * < | ||
- | |||
- | * **Lectures connexes** | ||
- | * **Installer MicroPython** - [[python: | ||
- | * **Raspberry Pi Pico** - [[: | ||
- | * **Programmez** ! Juillet/ | ||
- | * **Elektor 489** Mai/Juin 2021 | ||
- | |||
- | ---- | ||
- | |||
- | ==== Préambule ==== | ||
- | Ce tutoriel a pour objectif de vous faire découvrir la programmation de la carte Raspberry Pi Pico en MicroPython ou CircuitPython à l'aide de l' | ||
- | * 1. **blink.py** - Commande d'une sortie numérique : faire clignoter la LED de la carte Raspberry Pi Pico ! | ||
- | * 2. **angle** - Lecture d'une entrée analogique : afficher la position angulaire d'un axe (en °) | ||
- | * 3. **afftemp.py** - Afficheur graphique : afficher la température délivrée par le capteur interne au microcontrôleur sur un afficheur graphique. | ||
- | * 4. **affbme280.py** - Afficheur graphique et capteur numérique : afficher la température, | ||
- | * <color # | ||
- | |||
- | ==== 1. Le matériel ==== | ||
- | * **Ressource** | ||
- | * [[python: | ||
- | |||
- | ==== 2. L'IDE Thonny ==== | ||
- | === 2.1 Présentation === | ||
- | * **Ressources** | ||
- | * < | ||
- | * < | ||
- | {{ : | ||
- | L'< | ||
- | Dans un souci de simplicité, | ||
- | |||
- | === 2.2 Connexion de la carte Rp2 à l'IDE === | ||
- | < | ||
- | * [[# | ||
- | * [[# | ||
- | <pane id=" | ||
- | - **Brancher** la carte RP2((mnémonique pour Raspberry Pi Pico)) au PC avec le câble USB. | ||
- | - **Ouvrir** l'IDE Thonny {{ : | ||
- | - Dans le menu, sélectionner **outils -> options... -> Interpréteur**. \\ Sélectionner l' | ||
- | - Un message indiquant la **version de MicroPython** sur la carte doit apparaître dans la console comme dans l' | ||
- | - **Tester** la communication avec la carte en entrant print(" | ||
- | </ | ||
- | <pane id=" | ||
- | - **Brancher** la carte < | ||
- | - **Ouvrir** l'IDE Thonny {{ : | ||
- | - Dans le menu, sélectionner **outils -> options... -> Interpréteur**. \\ Sélectionner l' | ||
- | - Un message indiquant la **version de CircuitPython** sur la carte doit apparaître dans la console comme dans l' | ||
- | - **Tester** la communication avec la carte en entrant print(" | ||
- | </ | ||
- | </ | ||
- | |||
- | === 2.3 Installation des bibliothèques sur la carte Rp2 === | ||
- | < | ||
- | * [[# | ||
- | * [[# | ||
- | <pane id=" | ||
- | L' | ||
- | \\ \\ | ||
- | **Exemple** : installation de la bibliothèque // | ||
- | |||
- | - **Sélectionner** l' | ||
- | - Dans l' | ||
- | - **Sauvegarder** le fichier dans la carte en suivant la démarche suivante : | ||
- | - A partir du chemin **Fichier -> Enregistrer sous...**(Ctrl+Shift+S), | ||
- | - Ouvrir le dossier **lib** sur la carte et enregistrer le fichier avec le nom **// | ||
- | - Fermer le fichier **// | ||
- | </ | ||
- | <pane id=" | ||
- | L' | ||
- | \\ \\ | ||
- | **Exemple** : installation de la bibliothèque // | ||
- | - **Ouvrir** une **nouvelle fenêtre** de l' | ||
- | </ | ||
- | </ | ||
- | |||
- | ==== 3. Programmation ==== | ||
- | === 3.1 Prog. 1 - Commande d'une sortie numérique === | ||
- | {{ : | ||
- | <callout type=" | ||
- | |||
- | == 3.1.1 Généralités == | ||
- | « //Dans un système à base de **microcontrôleur**, | ||
- | |||
- | {{ : | ||
- | <callout type=" | ||
- | \\ | ||
- | __Exemple__ : la **broche** (pin) 38 du microcontrôleur est reliée à la broche **31** de la carte RP2. C'est une entrée/ | ||
- | Le choix (configuration) est fait dans le logiciel. La **configuration** de la broche 38 du microcontrôleur en tant que sortie numérique s' | ||
- | < | ||
- | </ | ||
- | |||
- | Pour éviter de faire référence à des valeurs électriques (tension ou intensité), | ||
- | - **true** (« 1 » logique) correspondra par exemple à 5V ou 3,3V \\ | ||
- | - **false** (« 0 » logique) correspondra à 0V. | ||
- | |||
- | <callout type=" | ||
- | Une sortie numérique est fragile. Ne **JAMAIS** la relier à un générateur. \\ Une sortie numérique délivre **très peu de puissance** (quelques centaines de mW). Il n’est donc pas possible de la relier directement à un actionneur (moteur). Il est nécessaire de placer une interface de puissance (hacheur, relais) entre elle et l’actionneur à commander.</ | ||
- | |||
- | {{ : | ||
- | |||
- | == 3.1.2 Activités de programmation == | ||
- | < | ||
- | * [[# | ||
- | * [[# | ||
- | <pane id=" | ||
- | * **Ressources** sur Micropython.org. | ||
- | * < | ||
- | * < | ||
- | |||
- | * **Etape 1** - Créer un nouveau programme | ||
- | - Cliquer sur l' | ||
- | - Copier-coller le code de l' | ||
- | |||
- | <code python blink.py> | ||
- | # --------------------------------------------------------------- | ||
- | # Exemple de code pour faire clignoter la led de la carte | ||
- | # Matériels : Raspberry Pi Pico, Shield Grove | ||
- | # Langage : MicroPython | ||
- | # IDE : Thonny | ||
- | # Source : blink.py | ||
- | # --------------------------------------------------------------- | ||
- | from machine import Pin | ||
- | import time | ||
- | |||
- | # Configuration de l' | ||
- | led = Pin(' | ||
- | |||
- | while (True): | ||
- | led.on() | ||
- | time.sleep(0.5) | ||
- | led.off() | ||
- | time.sleep(0.5) | ||
- | </ | ||
- | |||
- | * **Etape 2** - Enregistrer le programme | ||
- | * Enregistrer le programme dans votre compte sur le serveur en le nommant comme ci-dessus. | ||
- | |||
- | * **Etape 3** - Tester le programme | ||
- | * Exécutez le programme en cliquant sur {{: | ||
- | |||
- | <callout type=" | ||
- | </ | ||
- | |||
- | <pane id=" | ||
- | * **Ressources** sur docs.circuitpython.org. | ||
- | * < | ||
- | |||
- | * **Etape 1** - Créer un nouveau programme | ||
- | - Cliquer sur l' | ||
- | - Copier-coller le code de l' | ||
- | |||
- | <code python blink.py> | ||
- | # --------------------------------------------------------------- | ||
- | # Exemple de code pour faire clignoter la led de la carte | ||
- | # Matériels : Raspberry Pi Pico, Shield Grove | ||
- | # Langage : CircuitPython | ||
- | # IDE : Thonny | ||
- | # Source : blink.py | ||
- | # --------------------------------------------------------------- | ||
- | import board | ||
- | import digitalio | ||
- | import time | ||
- | |||
- | # Configuration de l' | ||
- | led = digitalio.DigitalInOut(board.LED) | ||
- | led.direction = digitalio.Direction.OUTPUT | ||
- | |||
- | while True: | ||
- | led.value = True | ||
- | time.sleep(0.5) | ||
- | led.value = False | ||
- | time.sleep(0.5) | ||
- | </ | ||
- | |||
- | * **Etape 2** - Enregistrer le programme | ||
- | * Enregistrer le programme avec le nom de l' | ||
- | |||
- | * **Etape 3** - Tester le programme | ||
- | * Exécutez le script en cliquant sur {{: | ||
- | |||
- | <callout type=" | ||
- | \\ __Remarques__ : dans le langage CircuitPython, | ||
- | </ | ||
- | </ | ||
- | |||
- | {{ : | ||
- | === 3.2 Prog. 2 - Lecture d'une entrée analogique === | ||
- | <callout type=" | ||
- | |||
- | == 3.2.1 Matériels == | ||
- | * **Capteur** : < | ||
- | |||
- | == 3.2.2 Généralités == | ||
- | * < | ||
- | |||
- | == 3.2.3 Activités de programmation == | ||
- | < | ||
- | * [[# | ||
- | * [[# | ||
- | |||
- | <pane id=" | ||
- | * **Ressources** sur Micropython.org. | ||
- | * < | ||
- | |||
- | * **Etape 1** - Créer un nouveau programme | ||
- | - Cliquer sur l' | ||
- | - Copier-coller le code de l' | ||
- | |||
- | <code python angle.py> | ||
- | # ------------------------------------------------------------------------------- | ||
- | # Exemple de code pour afficher la valeur N délivrée par le | ||
- | # convertisseur analogique numérique ADC0 | ||
- | # Matériels : Raspberry Pi Pico, Shield Grove, potentiomètre 10k | ||
- | # Langage : MicroPython | ||
- | # IDE : Thonny | ||
- | # Source : angle.py | ||
- | # ------------------------------------------------------------------------------- | ||
- | # Identification des entrées analogiques disponibles sur le Shield Grove | ||
- | # Shield | ||
- | # : ADC : GPIO | ||
- | # ----------------------------------- | ||
- | # | ||
- | # | ||
- | # | ||
- | # ------------------------------------------------------------------------------- | ||
- | from machine import ADC, Pin | ||
- | import time | ||
- | |||
- | # Le potentiomètre 10k est connecté à l' | ||
- | pot = ADC(Pin(26)) | ||
- | |||
- | while (True): | ||
- | # Lecture de la valeur délivrée par le convertisseur analogique numérique | ||
- | # N est un entier positif codé sur 16 bits | ||
- | N = pot.read_u16() | ||
- | print(f" | ||
- | time.sleep(1) # Attente 1s | ||
- | </ | ||
- | |||
- | * **Etape 2** - Enregistrer le programme | ||
- | * Enregistrer le programme dans votre compte sur le serveur en le nommant comme ci-dessus. | ||
- | |||
- | * **Etape 3** - Tester le programme | ||
- | * Exécutez le programme en cliquant sur {{: | ||
- | |||
- | <callout type=" | ||
- | </ | ||
- | </ | ||
- | |||
- | <pane id=" | ||
- | * **Ressources** sur docs.circuitpython.org. | ||
- | * < | ||
- | * < | ||
- | |||
- | * **Etape 1** - Créer un nouveau programme | ||
- | - Cliquer sur l' | ||
- | - Copier-coller le code de l' | ||
- | |||
- | <code python angle.py> | ||
- | # ------------------------------------------------------------------------------- | ||
- | # Exemple de code pour afficher la valeur N délivrée par le convertisseur | ||
- | # analogique numérique ADC0. | ||
- | # Matériels : Raspberry Pi Pico, Shield Grove, potentiomètre 10k | ||
- | # Langage : CircuitPython | ||
- | # IDE : Thonny | ||
- | # Source : angle.py | ||
- | # ------------------------------------------------------------------------------- | ||
- | # Identification des entrées analogiques disponibles sur le Shield Grove | ||
- | # Shield | ||
- | # : ADC : GPIO | ||
- | # ----------------------------------- | ||
- | # | ||
- | # | ||
- | # | ||
- | # ------------------------------------------------------------------------------- | ||
- | import board | ||
- | from analogio import AnalogIn | ||
- | import time | ||
- | |||
- | # Le potentiomètre 10k est connecté à l' | ||
- | pot = AnalogIn(board.A0) | ||
- | |||
- | while (True): | ||
- | # Lecture de la valeur délivrée par le convertisseur analogique numérique | ||
- | # N est un entier positif codé sur 16 bits | ||
- | N = pot.value | ||
- | print(f" | ||
- | time.sleep(1) | ||
- | </ | ||
- | |||
- | * **Etape 2** - Enregistrer le programme | ||
- | * Enregistrer le programme avec le nom de l' | ||
- | |||
- | * **Etape 3** - Tester le programme | ||
- | * Exécutez le script en cliquant sur {{: | ||
- | |||
- | <callout type=" | ||
- | </ | ||
- | </ | ||
- | </ | ||
- | |||
- | {{ : | ||
- | === 3.3 Prog. 3 - Afficheur graphique === | ||
- | <callout type=" | ||
- | |||
- | == 3.3.1 Matériels == | ||
- | * **Afficheur graphique** : [[materiels: | ||
- | |||
- | == 3.3.2 Généralités == | ||
- | Sur un écran, les **pixels** constituent une **image numérique**. On y accède par l' | ||
- | {{ : | ||
- | |||
- | Les **coordonnées** sont **toujours exprimées en pixels**; il n'y a pas d' | ||
- | |||
- | Pour les affichages **monochromes** (unicolores), | ||
- | |||
- | == 3.3.3 Activités de programmation == | ||
- | < | ||
- | * [[# | ||
- | * [[# | ||
- | <pane id=" | ||
- | * **Ressources** | ||
- | * **Wiki** - [[python: | ||
- | |||
- | * **Etape 1** - Créer un nouveau programme | ||
- | - Cliquer sur l' | ||
- | - Copier-coller le code de l' | ||
- | |||
- | <code python afftemp.py> | ||
- | # ------------------------------------------------------------------------------- | ||
- | # Exemple de code pour afficher la température délivrée par le capteur interne au | ||
- | # microcontrôleur sur un afficheur graphique. | ||
- | # Matériels : Raspberry Pi Pico, Shield Grove, afficheur à SSD1306 | ||
- | # Langage : MicroPython | ||
- | # IDE : Thonny | ||
- | # Source : afftemp.py | ||
- | # Bibliothèque(s) : / | ||
- | # ------------------------------------------------------------------------------- | ||
- | from machine import Pin, I2C | ||
- | import ssd1306 | ||
- | |||
- | # BUS I2C0 | ||
- | i2c = I2C(0, sda=Pin(8), scl=Pin(9), freq=400_000) | ||
- | |||
- | # Afficheur oled (ssd1306) connecté au bus I2C0 | ||
- | oled_width = 128 # px | ||
- | oled_height = 64 # px | ||
- | oled = ssd1306.SSD1306_I2C(oled_width, | ||
- | |||
- | # 1er affichage | ||
- | oled.text(" | ||
- | oled.show() | ||
- | |||
- | while True: | ||
- | pass | ||
- | </ | ||
- | |||
- | * **Etape 2** - Enregistrer le programme | ||
- | * Enregistrer le programme dans votre compte sur le serveur en le nommant comme ci-dessus. | ||
- | |||
- | * **Etape 3** - Tester le programme | ||
- | * Exécutez le programme en cliquant sur {{: | ||
- | |||
- | <callout type=" | ||
- | </ | ||
- | |||
- | <pane id=" | ||
- | * **Ressources** | ||
- | * Adafruit : < | ||
- | |||
- | * **Etape 1** - Créer un nouveau programme | ||
- | - Cliquer sur l' | ||
- | - Copier-coller le code de l' | ||
- | |||
- | <code python afftemp.py> | ||
- | # ------------------------------------------------------------------------------- | ||
- | # Exemple de code pour afficher la température délivrée par le capteur interne au | ||
- | # microcontrôleur sur un afficheur graphique. | ||
- | # Matériels : Raspberry Pi Pico, Shield Grove, afficheur à SSD1306 | ||
- | # Langage : CircuitPython | ||
- | # IDE : Thonny | ||
- | # Source : afftemp.py | ||
- | # Bibliothèque(s) : / | ||
- | # / | ||
- | # ------------------------------------------------------------------------------- | ||
- | import board | ||
- | import busio # code de la bibliothèque à placer dans un dossier /lib sur le RP2 | ||
- | import adafruit_ssd1306 | ||
- | import time | ||
- | |||
- | # BUS I2C0 | ||
- | i2c = busio.I2C(board.GP9, | ||
- | |||
- | # Afficheur oled (ssd1306) connecté au bus I2C0 | ||
- | oled_width = 128 # px | ||
- | oled_height = 64 # px | ||
- | oled = adafruit_ssd1306.SSD1306_I2C(oled_width, | ||
- | |||
- | # 1er Affichage | ||
- | oled.text(" | ||
- | oled.show() | ||
- | |||
- | while True: | ||
- | pass | ||
- | </ | ||
- | |||
- | * **Etape 2** - Enregistrer le programme | ||
- | * Enregistrer le programme avec le nom de l' | ||
- | |||
- | * **Etape 3** - Tester le programme | ||
- | * Exécutez le script en cliquant sur {{: | ||
- | |||
- | <callout type=" | ||
- | </ | ||
- | </ | ||
- | |||
- | |||
- | === 3.4 Prog. 4 - Capteur atmosphérique === | ||
- | {{ : | ||
- | <callout type=" | ||
- | |||
- | == 3.4.1 Matériels == | ||
- | * **Afficheur graphique** : Wiki - [[materiels: | ||
- | * **Capteur atmosphérique** : Wiki - [[materiels: | ||
- | |||
- | == 3.4.2 Généralités == | ||
- | Le capteur utilisé est basé sur un circuit BME280 et mesure la température, | ||
- | * **Caractéristiques** | ||
- | * Alimentation: | ||
- | * Plages de mesure: | ||
- | * température: | ||
- | * humidité: 0 à 100% HR | ||
- | * pression: 300 à 1100 hPa | ||
- | * Précision: | ||
- | * température: | ||
- | * humidité: ±3% | ||
- | * pression: ±1 hPa (0,12hPa pour le BME680) | ||
- | * Interfaces: | ||
- | * I2C: sur connecteur Qwiic de Sparkfun ou Stemma QT d' | ||
- | * SPI: sur pastilles femelles au pas de 2,54 mm (connecteurs mâles à souder inclus) | ||
- | | ||
- | == 3.4.3 Activités de programmation == | ||
- | < | ||
- | * [[# | ||
- | * [[# | ||
- | <pane id=" | ||
- | * **Ressources** sur Micropython.org. | ||
- | * < | ||
- | |||
- | * **Etape 1** - Créer un nouveau programme | ||
- | - Cliquer sur l' | ||
- | - Copier-coller le code de l' | ||
- | |||
- | <code python affbme280.py> | ||
- | # ------------------------------------------------------------------------------- | ||
- | # Exemple de code pour afficher la température, | ||
- | # mesurées par un capteur BME280 sur un afficheur graphique . | ||
- | # Matériels : Raspberry Pi Pico, Shield Grove, capteur BM280, afficheur à SSD1306 | ||
- | # Langage : MicroPython | ||
- | # IDE : Thonny | ||
- | # Source : affbme280.py, | ||
- | # Bibliothèque(s) : / | ||
- | # ------------------------------------------------------------------------------- | ||
- | from machine import Pin, I2C | ||
- | from time import sleep | ||
- | import bme280 | ||
- | |||
- | # BUS I2C1 | ||
- | i2c = I2C(1, scl=Pin(7), sda=Pin(6), freq=400_000) | ||
- | |||
- | # Capteur BME280 connecté à I2C1 du shield Grove | ||
- | bme = bme280.BME280(i2c=i2c) | ||
- | |||
- | while True: | ||
- | temp = bme.temperature | ||
- | hum = bme.humidity | ||
- | pres = bme.pressure | ||
- | print(' | ||
- | print(' | ||
- | print(' | ||
- | print('' | ||
- | sleep(2) | ||
- | </ | ||
- | |||
- | * **Etape 2** - Enregistrer le programme | ||
- | * Enregistrer le programme dans votre compte sur le serveur en le nommant comme ci-dessus. | ||
- | |||
- | * **Etape 3** - Tester le programme | ||
- | * Exécutez le programme en cliquant sur {{: | ||
- | |||
- | <callout type=" | ||
- | </ | ||
- | |||
- | <pane id=" | ||
- | * **Ressources** sur doc.circuitpython.org. | ||
- | * < | ||
- | |||
- | * **Etape 1** - Créer un nouveau programme | ||
- | - Cliquer sur l' | ||
- | - Copier-coller le code de l' | ||
- | |||
- | <code python affbme280.py> | ||
- | # ------------------------------------------------------------------------------- | ||
- | # Exemple de code pour afficher la température, | ||
- | # l' | ||
- | # Matériels : Raspberry Pi Pico, Shield Grove, capteur BM280, afficheur à ssd1306 | ||
- | # Langage : CircuitPython | ||
- | # IDE : Thonny | ||
- | # Fichiers : affbme280.py, | ||
- | # / | ||
- | # ------------------------------------------------------------------------------- | ||
- | import board | ||
- | import busio | ||
- | from adafruit_bme280 import basic as adafruit_bme280 | ||
- | import time | ||
- | |||
- | # BUS I2C1 | ||
- | i2c = busio.I2C(board.GP7, | ||
- | |||
- | # Capteur BME280 connecté à I2C1 du shield Grove | ||
- | bme280 = adafruit_bme280.Adafruit_BME280_I2C(i2c) | ||
- | |||
- | # A modifier pour que cette valeur corresponde à la pression | ||
- | # (hpa) au niveau de la mer (océan atlantique) | ||
- | bme280.sea_level_pressure = 1016 | ||
- | |||
- | while True: | ||
- | temp = bme280.temperature | ||
- | hum = bme280.humidity | ||
- | pres = bme280.pressure | ||
- | alt = bme280.altitude | ||
- | print(' | ||
- | print(' | ||
- | print(' | ||
- | print(' | ||
- | print('' | ||
- | time.sleep(2) | ||
- | </ | ||
- | |||
- | * **Etape 2** - Enregistrer le programme | ||
- | * Enregistrer le programme dans votre compte sur le serveur en le nommant comme ci-dessus. | ||
- | |||
- | * **Etape 3** - Tester le programme | ||
- | * Exécutez le programme en cliquant sur {{: | ||
- | |||
- | <callout type=" | ||
- | </ | ||
- | </ | ||
- | === 3.5 Prog. 5 - Capteur de luminosité === | ||
- | {{ : | ||
- | <callout type=" | ||
- | |||
- | == 3.5.1 Matériels == | ||
- | * **Afficheur graphique** : Wiki - [[materiels: | ||
- | * **Capteur de luminosité** : Wiki - [[materiels: | ||
- | |||
- | == 3.5.2 Généralités == | ||
- | Le capteur utilisé est basé sur un circuit TSL2591 permettant de mesurer l' | ||
- | |||
- | * **Caractéristiques** | ||
- | * Alimentation: | ||
- | * Interface I2C: | ||
- | * Adresse I2C: 0x29 et 0x28 (l' | ||
- | * Plage de mesure: 188 µLux à 88000 Lux | ||
- | |||
- | == 3.5.3 Activités de programmation == | ||
- | < | ||
- | * [[# | ||
- | * [[# | ||
- | |||
- | <pane id=" | ||
- | * **Ressources** sur Micropython.org. | ||
- | * < | ||
- | |||
- | * **Etape 1** - Créer un nouveau programme | ||
- | - Cliquer sur l' | ||
- | - Copier-coller le code de l' | ||
- | |||
- | <code python tst_tsl2591.py> | ||
- | # ------------------------------------------------------------------------------- | ||
- | # Affichage de la luminosité mesurée par un capteur TSL2591 dans la console | ||
- | # Date : 7/7/2023 | ||
- | # Matériels : Raspberry Pi Pico, TSL2591, Shield Grove, adaptateur Qwiic, | ||
- | # câble Qwiic 5cm | ||
- | # Langage : MicroPython | ||
- | # IDE : Thonny | ||
- | # Fichiers : demoTSL2591.py, | ||
- | # Source : https:// | ||
- | # ------------------------------------------------------------------------------- | ||
- | |||
- | from tsl2591 import * # Pilote du module | ||
- | from machine import I2C # Pilote du bus I2C | ||
- | from time import sleep # pour temporiser | ||
- | |||
- | i2c = I2C(1) # On utilise l'I2C n°1 de la carte Raspberry Pi Pico pour communiquer avec le capteur | ||
- | |||
- | sleep(1) # Pause d'une seconde pour laisser à l'I2C le temps de s' | ||
- | |||
- | tsl = TSL2591( i2c ) # Instanciation du capteur | ||
- | |||
- | # Attention: manipuler le gain et le temps d' | ||
- | # inappropriée peut conduire à des résultats totalement erronés. | ||
- | |||
- | # GAIN_LOW (1x gain) | ||
- | # GAIN_MED (25x gain, default) | ||
- | # GAIN_HIGH (428x gain) | ||
- | # GAIN_MAX (9876x gain) | ||
- | # tsl.gain = GAIN_LOW # x25 | ||
- | |||
- | # INTEGRATIONTIME_100MS (100ms, default) | ||
- | # INTEGRATIONTIME_200MS | ||
- | # INTEGRATIONTIME_300MS | ||
- | # INTEGRATIONTIME_400MS | ||
- | # INTEGRATIONTIME_500MS | ||
- | # INTEGRATIONTIME_600MS | ||
- | # tsl.integration_time = INTEGRATIONTIME_400MS | ||
- | |||
- | while True: | ||
- | print( " | ||
- | ir = tsl.infrared | ||
- | vi = tsl.visible | ||
- | total = ir + vi # Somme des deux ... | ||
- | |||
- | if total !=0: | ||
- | inv_total = 100 / total | ||
- | print(" | ||
- | print(" | ||
- | print("" | ||
- | sleep(5) # Temporisation de 5 secondes | ||
- | </ | ||
- | |||
- | * **Etape 2** - Enregistrer le programme | ||
- | * Enregistrer le programme dans votre compte sur le serveur en le nommant comme ci-dessus. | ||
- | |||
- | * **Etape 3** - Tester le programme | ||
- | * Exécutez le programme en cliquant sur {{: | ||
- | |||
- | <callout type=" | ||
- | </ | ||
- | |||
- | <pane id=" | ||
- | * **Ressources** sur doc.circuitpython.org. | ||
- | * < | ||
- | |||
- | * **Etape 1** - Créer un nouveau programme | ||
- | - Cliquer sur l' | ||
- | - Copier-coller le code de l' | ||
- | |||
- | <code python affbme280.py> | ||
- | </ | ||
- | |||
- | |||
- | * **Etape 2** - Enregistrer le programme | ||
- | * Enregistrer le programme dans votre compte sur le serveur en le nommant comme ci-dessus. | ||
- | |||
- | * **Etape 3** - Tester le programme | ||
- | * Exécutez le programme en cliquant sur {{: | ||
- | |||
- | <callout type=" | ||
- | </ | ||
- | </ | ||
- | </ | ||
- | === 3.6 Synthèse === | ||
- | <color # | ||
- | === Pour aller plus loin === | ||
- | - **Tutoriels** sur < | ||