Différences entre versions de « Modèle:THONNY-IDE-GENERIC »
Ligne 119 : | Ligne 119 : | ||
[[Fichier:THONNY-IDE-GENERIC-30.png]] | [[Fichier:THONNY-IDE-GENERIC-30.png]] | ||
+ | |||
+ | Le Plotter reprend les données numériques affichée dans session REPL. Lorsque la ligne contient exclusivement une valeur numérique, celle-ci est reprise dans le plotter. | ||
+ | |||
+ | Dans l'exemple suivant, nommé demo2.py, utilise une fonction gamma pour faire pulser la LED de statut sur le GPIO. C'est qu'une progression proportionnel du signal PWM ne produit pas une évolution proportionnelle de la luminosité de la LED (voir [https://www.editions-eni.fr/livre/micropython-et-pyboard-python-sur-microcontroleur-de-la-prise-en-main-a-l-utilisation-avancee-9782409022906 livre MicroPython et Pyboard, Edition ENI]). | ||
+ | La correction gamma permet de corriger cet inconvénient de non proportionnalité. |
Version du 31 janvier 2025 à 14:29
A propos de Thonny IDE
Thonny est un environnement open-source de développement (IDE) pour débutant en Python supporté sur Linux, Windows, Mac.
Il permet non seulement de programmer en Python sur un Ordinateur mais supporte également les langages Python sur microcontrôleur (MicroPython, CircuitPython et autres dérivés).
Thonny IDE n'est pas le seul environnement permettant de travailler avec des microcontrôleurs sous Python mais il est certainement le plus simple a prendre en main.
Source: Thonny.org
Installer Thonny
Windows, MAC, Linux
Le site de Thonny.org propose les paquets d'installation et instructions nécessaire à l'installation de Thonny IDE.
Sur Raspberry-Pi
Pour disposer de dernières avancées de Thonny sur votre Raspberry-Pi, il suffit d'exécuter la commande suivante dans un terminal:
$ sudo apt update && sudo apt upgrade -y
Sur Linux
Si vous disposez d'un autre système Linux, vous pouvez installer Thonny avec l'utilitaire pip (ou pip3 pour python3).
$ pip3 install thonny
Espace de travail Thonny
Très sobre, l'environnement se résume (de haut en bas):
- une barre de menu,
- une barre d'outil (icône),
- d'un éditeur de texte/code (la partie principale)
- Une interface Shell (tout en bas) permettant de tester rapidement des instructions Python.
Thonny et MicroPython
La barre de statut (en bas de l'écran) affiche la version de l'interpréteur Python utilisé dans Thonny IDE.
En cliquant sur ce libellé, il est possible de sélectionner un autre interpréteur dont "MicroPython (Raspberry Pi Pico)".
Une fois sélectionné, le Thonny établit une connexion avec l'interpréteur en ligne de commande présent sur la carte microcontrôleur.
Si celle-ci échoue, vous pouvez réessayer en pressant le bouton "stop" dans la barre d'outil pour faire une nouvelle tentative de connexion.
L'image-ci dessous montre l'interface shell MicroPython (tel qu'il est exécuté sur le microcontrôleur). Cela vaut autant pour un Raspberry Pico que pour tout autre plateforme utilisant MicroPython (comme le Raspberry-Pi Pico).
Faire clignoter la LED
La plupart des plateformes disposent d'une LED utilisateur. Dans le cas du Pico et du Pico 2, celle-ci est branchée sur le GP25 (GPIO 25).
Le code ci-dessous peut être directement saisi dans le volet "Shell" de Thonny IDE pour contrôler la LED de statut (sur GP25).
from machine import Pin
led = Pin(25, Pin.OUT)
led.value(1) # allume la LED
led.value(0) # éteint la LED
led.value(1)
led.value()
Ce même code que l'on peut identifier dans la capture d'écran-ci-dessous.
A noter:
- appeler la méthode value() sans argument permet d'interroger l'état d'une broche.
- sur un Pico Wireless, il faut utiliser "LED" au lieu de 25.
Exécuter un fichier script
Thonny permet également d'écrire du code Python dans un fichier et de l'exécuter en une seule fois sur la plateforme MicroPython cible.
Dans l'exemple suivant la luminosité de la LED de statut est contrôlée à l'aide d'un signal PWM (valeur entre 0 et 65534 pour un cycle utile de 0 à 100% .
C'est le cas de script suivant:
import time
led = PWM( Pin(25 ))
counter = 0
while True:
print( counter )
counter += 1
for i in range( 0, 100, 5 ):
led.duty_u16( int(65534*i/100) )
time.sleep_ms( 50 )
for i in range( 0, 100, 5 ):
led.duty_u16( int(65534*(100-i)/100) )
time.sleep_ms( 50 )
Script qu'il est possible de sauver dans un fichier, sous le nom "demo.py", soit sur l'ordinateur, soit sur la carte microcontrôleur MicroPython.
Peu importe l'emplacement du fichier (ordinateur ou microcontrôleur), il sera exécuté sur le microcontrôleur dans une session REPL.
Pour exécuter le contenu du fichier il faut (au choix):
- presser le bouton "Start"
dans la barre d'outils,
- activer le point de menu "Run | Run current script",
- presser la touche "F5"
En plus de faire pulser la LED de statut sur la carte, l'exécution du script affiche des informations dans le volet shell! Il s'agit des messages produit par la fonction print().
Le script peut être arrêté:
- en pressant le bouton "Stop",
- en pressant la combinaison de touche "Ctrl+C"
Utiliser le Plotter
Le plotter peut être activé par l'intermédiaire du menu "View | Plotter".
Cette action affiche un outil de représentation graphique dans le volet Shell.
Le Plotter reprend les données numériques affichée dans session REPL. Lorsque la ligne contient exclusivement une valeur numérique, celle-ci est reprise dans le plotter.
Dans l'exemple suivant, nommé demo2.py, utilise une fonction gamma pour faire pulser la LED de statut sur le GPIO. C'est qu'une progression proportionnel du signal PWM ne produit pas une évolution proportionnelle de la luminosité de la LED (voir livre MicroPython et Pyboard, Edition ENI). La correction gamma permet de corriger cet inconvénient de non proportionnalité.