Depuis plusieurs années, Texas Instruments a réalisé de gros efforts pour rendre la programmation de ses calculatrices accessible à tous. Le constructeur a prêté une attention toute particulière aux plus jeunes et non initiés, souhaitant leur permettre de créer tous les projets qu'ils imaginent sans avoir à se concentrer sur des difficultés annexes.
Nous pouvions déjà citer l'interface TI-Innovator Hub, le robot pilotable TI-Innovator Rover, la grille programmable TI-RGB Array ou encore l'adaptateur TI-SensorLink pour capteurs analogiques Vernier.
Tous ces éléments ont de plus l'avantage d'être utilisables directement avec le langage Python des calculatrices concernées, faisant de l'écosystème Texas Instruments le seul Python connecté !
Un superbe support pour les enseignements scientifiques au lycée surtout maintenant que tous parlent le même langage de programmation, notamment en SNT, spécialité NSI et Physique-Chimie, avec le gros avantage de la mobilité. En effet, les programmes produits et données collectées restent présents dans la calculatrice apportée par chaque élève à chaque cours, ce qui allège la charge logistique de l'enseignant. Données et algorithmes pourront donc être traités / travaillés à la prochaine séance, en devoir à la maison ou même de façon transdisciplinaire en collaboration avec un autre enseignant !
Et pour cette rentrée 2020 grande nouvelle et révolution, tu n'as plus besoin de t'équiper en TI-Innovator pour bénéficier de ces formidables avantages. En effet, la TI-83 Premium CE Edition Python se voit rajouter la gestion du nanoordinateur BBC micro:bit programmable en Python dont tu étais peut-être déjà équipé·e !
La carte micro:bit est initialement un projet lancé par la BBC (British Broadcasting Corporation), le groupe audiovisuel public britannique, accompagné de nombre de partenaires dont ARM, Microsoft et Samsung. Elle fut distribuée gratuitement à un million d'élèves britanniques de 11 et 12 ans.
Le nom rend hommage au précédent succès du groupe dans ce domaine, le microordinateur à vocation pédagogique BBC Micro des années 1980, l'équivalent britannique de par son adoption à nos microordinateurs Thomson MO5 et TO7 inondant écoles, collèges et lycées à la fin de cette décennie dans le cadre du plan IPT (Informatique Pour Tous).
La carte micro:bit dans sa version actuelle inclut :
La carte micro:bit utilise un connecteur micro-USB et ta calculatrice un mini-USB.
Pour relier les deux une solution est d'adjoindre un adaptateur USB A femelle ↔ USB mini-B OTG mâle au câble micro-USB venant avec ta carte micro:bit, testée avec succès.
Pour moins d'encombrement, tu as aussi la solution d'utiliser un câble direct, un USB micro-B mâle ↔ USB mini-A mâle, disponible par exemple chez StarTech et que nous avons testé avec succès.
Pour pouvoir contrôler ta carte micro:bit à partir de tes scripts, il te faut maintenant installer des modules Python complémentaires sur ta calculatrice. Texas Instruments en met 9 à ta disposition, et ces modules semblent correspondre chacun à un module ou classe du Python micro:bit :
Commences-tu à deviner le fonctionnement ?
Lorsqu'en Python sur ta calculatrice tu appelles
Nous pouvions déjà citer l'interface TI-Innovator Hub, le robot pilotable TI-Innovator Rover, la grille programmable TI-RGB Array ou encore l'adaptateur TI-SensorLink pour capteurs analogiques Vernier.
Tous ces éléments ont de plus l'avantage d'être utilisables directement avec le langage Python des calculatrices concernées, faisant de l'écosystème Texas Instruments le seul Python connecté !
Un superbe support pour les enseignements scientifiques au lycée surtout maintenant que tous parlent le même langage de programmation, notamment en SNT, spécialité NSI et Physique-Chimie, avec le gros avantage de la mobilité. En effet, les programmes produits et données collectées restent présents dans la calculatrice apportée par chaque élève à chaque cours, ce qui allège la charge logistique de l'enseignant. Données et algorithmes pourront donc être traités / travaillés à la prochaine séance, en devoir à la maison ou même de façon transdisciplinaire en collaboration avec un autre enseignant !
Et pour cette rentrée 2020 grande nouvelle et révolution, tu n'as plus besoin de t'équiper en TI-Innovator pour bénéficier de ces formidables avantages. En effet, la TI-83 Premium CE Edition Python se voit rajouter la gestion du nanoordinateur BBC micro:bit programmable en Python dont tu étais peut-être déjà équipé·e !
La carte micro:bit est initialement un projet lancé par la BBC (British Broadcasting Corporation), le groupe audiovisuel public britannique, accompagné de nombre de partenaires dont ARM, Microsoft et Samsung. Elle fut distribuée gratuitement à un million d'élèves britanniques de 11 et 12 ans.
Le nom rend hommage au précédent succès du groupe dans ce domaine, le microordinateur à vocation pédagogique BBC Micro des années 1980, l'équivalent britannique de par son adoption à nos microordinateurs Thomson MO5 et TO7 inondant écoles, collèges et lycées à la fin de cette décennie dans le cadre du plan IPT (Informatique Pour Tous).
La carte micro:bit dans sa version actuelle inclut :
- un afficheur, grille programmable de 5×5= 25 diodes rouges adressables, bien adapté pour l'affichage de motifs éventuellement animés ou encore de texte défilant
- nombre de capteurs intégrés :
- capteur de luminosité (lié aux diodes)
- capteur de température (sur le processeur)
- 2 boutons poussoirs
A
etB
programmables de part et d'autre, comme sur les premières manettes et consoles de jeux portables de chez Nintendo - accéléromètre 3D, permettant de détecter les variations d'accélération et par conséquence diverses actions : secouer, pencher, chute libre, ...
- boussole magnétique 3D, pour détecter cette fois-ci les champs magnétiques
- connectivité Bluetooth 4.0 basse énergie 2,4 GHz maître/esclave
La carte micro:bit utilise un connecteur micro-USB et ta calculatrice un mini-USB.
Pour relier les deux une solution est d'adjoindre un adaptateur USB A femelle ↔ USB mini-B OTG mâle au câble micro-USB venant avec ta carte micro:bit, testée avec succès.
Pour moins d'encombrement, tu as aussi la solution d'utiliser un câble direct, un USB micro-B mâle ↔ USB mini-A mâle, disponible par exemple chez StarTech et que nous avons testé avec succès.
Pour pouvoir contrôler ta carte micro:bit à partir de tes scripts, il te faut maintenant installer des modules Python complémentaires sur ta calculatrice. Texas Instruments en met 9 à ta disposition, et ces modules semblent correspondre chacun à un module ou classe du Python micro:bit :
- mb_butns → microbit.buttons
- mb_disp → microbit.display
- mb_grove
- mb_music → music
- mb_neopx → neopixel
- mb_pins
- mb_radio → radio
- mb_sensr
Commences-tu à deviner le fonctionnement ?
Lorsqu'en Python sur ta calculatrice tu appelles
mb_disp.display.show("Image.PACMAN")
, en réalité le module mb_disp demande alors à ta carte micro:bit d'exécuter la commande Python display.show(Image.PACMAN)
.Problème toutefois, les modules de Texas Instruments étaient très loin de te donner accès à l'ensemble des possibilités Python de la carte micro:bit :
- plusieurs valeurs ne sont pas aux menus, par exemple pour les images prédéfinies :
- les 12 images CLOCK
- les 8 images ARROW
- BUTTERFLY, STICKFIGURE, GHOST, SWORD, GIRAFFE, SKULL, UMBRELLA et SNAKE
- plusieurs fonctions ne sont pas aux menus : par exemple si on a bien display.set_pixel() nous n'avons pas display.get_pixel()
- et rien pour exécuter autre chose que de simples appels d'une fonction prédéfinie
Bon pour les valeurs manquantes ce n'est pas bien dur à contourner, il suffit de les saisir à la main. Notamment pour les noms d'images qui sont précisés dans une chaîne de caractère, il suffit juste de saisir le nom souhaité.
Il suffit d'un
Mais par contre, quand il s'agit d'une fonction pour laquelle Texas Instruments n'a prévu aucun point d'accès, pas de miracle.
Il suffit d'un
mb_disp.display.show("Image.BUTTERFLY")
par exemple pour envoyer à la carte micro:bit la commande display.show(Image.BUTTERFLY)
et de révéler ainsi toutes les images prédéfinies que Texas Instruments ne liste pas.Mais par contre, quand il s'agit d'une fonction pour laquelle Texas Instruments n'a prévu aucun point d'accès, pas de miracle.
Heureusement entre temps Pavel a compris comment Texas Instruments faisait pour envoyer du code Python à la carte micro:bit, et même décortiqué le protocole. Texas Instruments utilise en fait en interne la fonction ti_hub.send().
Voici donc de quoi permettre à ta TI-83 Premium CE Edition Python de faire exécuter le code Python de ton choix à la carte micro:bit :
Regarde, par exemple, nous allons récupérer l'état de la mémoire de tas (heap) du Micropython de la micro:bit, et le faire défiler sur son afficheur :
Nous apprenons donc en passant ici avec cet exemple que le heap (tas) Python de la carte micro:bit a une capacité de 10,048 Ko, avec ici uniquement 8,24 Ko disponibles.
Certes nous avons importé le module gc ce qui a consommé un petit peu, mais ce n'est franchement pas beaucoup, surtout dans le contexte du Python où les objets sont très gourmands en mémoire.
Les calculatrices graphiques actuellement programmables en Python font toutes mieux que ça alors qu'elles n'avaient pas été d'origine conçues pour ça, un comble...
La micro:bit permet sans aucun doute un large éventail de projets, mais chaque projet pris individuellement ne pourra pas aller bien loin, devant sans doute se limiter essentiellement à de l'utilisation légère des fonctions fournies.
Espérons que la nouvelle version de la micro:bit qui arrive sous quelques semaines corrige cela...
Adjoindre une micro:bit à ta TI-83 Premium CE Edition Python te permettra toutefois donc de disposer de 8 Ko de heap Python externe en plus des 16 Ko de heap interne de la calculatrice ce qui ne sera pas de refus, si bien sûr tu arrives à distribuer équitablement l'exécution de tes scripts entre les processeurs interne et externe.
Et enfin pour finir c'est bien joli d'afficher le résultat des commandes Python ainsi externalisées sur la micro:bit, mais est-il possible de le récupérer sur ta calculatrice ? Et bien oui, Pavel t'a fait ça aussi, c'est ici la fonction ti_hub.get() que Texas Instruments utilise en interne :
L'occasion d'explorer un peu plus profondément ce que renferme la micro:bit.
Voici donc de quoi permettre à ta TI-83 Premium CE Edition Python de faire exécuter le code Python de ton choix à la carte micro:bit :
- Code: Select all
from ti_hub import *
def mb_run(code):
send('\x05') # enter paste mode (Ctrl-E)
send(code)
send('\x04') # exit paste mode (Ctrl-D)
Regarde, par exemple, nous allons récupérer l'état de la mémoire de tas (heap) du Micropython de la micro:bit, et le faire défiler sur son afficheur :
- Code: Select all
code_scrollgcheap = '''
import gc
a, f = gc.mem_alloc(), gc.mem_free()
display.clear()
display.scroll(str(a) + " + " + str(f) + " = " + str(a + f), 300, wait=0, loop=1)
'''
mb_run(code_scroolgcheap)
Nous apprenons donc en passant ici avec cet exemple que le heap (tas) Python de la carte micro:bit a une capacité de 10,048 Ko, avec ici uniquement 8,24 Ko disponibles.
Certes nous avons importé le module gc ce qui a consommé un petit peu, mais ce n'est franchement pas beaucoup, surtout dans le contexte du Python où les objets sont très gourmands en mémoire.
Les calculatrices graphiques actuellement programmables en Python font toutes mieux que ça alors qu'elles n'avaient pas été d'origine conçues pour ça, un comble...
La micro:bit permet sans aucun doute un large éventail de projets, mais chaque projet pris individuellement ne pourra pas aller bien loin, devant sans doute se limiter essentiellement à de l'utilisation légère des fonctions fournies.
Espérons que la nouvelle version de la micro:bit qui arrive sous quelques semaines corrige cela...
Adjoindre une micro:bit à ta TI-83 Premium CE Edition Python te permettra toutefois donc de disposer de 8 Ko de heap Python externe en plus des 16 Ko de heap interne de la calculatrice ce qui ne sera pas de refus, si bien sûr tu arrives à distribuer équitablement l'exécution de tes scripts entre les processeurs interne et externe.
Et enfin pour finir c'est bien joli d'afficher le résultat des commandes Python ainsi externalisées sur la micro:bit, mais est-il possible de le récupérer sur ta calculatrice ? Et bien oui, Pavel t'a fait ça aussi, c'est ici la fonction ti_hub.get() que Texas Instruments utilise en interne :
- Code: Select all
def mb_get():
return get().split("\r\n")[-3]
L'occasion d'explorer un peu plus profondément ce que renferme la micro:bit.
Téléchargements :
- firmware TI (pour micro:bit)
- OS 5.5.2.0044 + applis (pour TI-83 Premium CE)
- OS 5.5.2.0044 (pour TI-83 Premium CE)
- OS 5.6.0.0020 + applis (pour TI-84 Plus CE)
- OS 5.6.0.0020 (pour TI-84 Plus CE)
- application Python 5.5.2.0044
- module Python MICROBIT (essentiel)
- modules Python micro:bit : MB_BUTNS, MB_DISP, MB_GROVE, MB_MUSIC, MB_NEOPX, MB_PINS, MB_RADIO, MB_SENSR (au choix selon besoins du projet)
- modules Python graphiques : ce_turtl, ce_chart, ce_quivr, ce_box
Ressource : activités vidéo micro:bit pour TI-83 Premimum CE