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 , le robot pilotable , la grille programmable 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 ! 
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 programmable en Python
dont tu étais peut-être déjà équipé·e ! 


micro:bit
est initialement un projet lancé par la BBC
(
, le groupe audiovisuel public britannique, accompagné de nombre de partenaires dont B
ritish B
roadcasting C
orporation)ARM
Microsoft
Samsung
Le nom rend hommage au précédent succès du groupe dans ce domaine, le microordinateur à vocation pédagogique
BBC Micro
Thomson MO5
TO7
IPT
(
.I
nformatique P
our T
ous)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 chezNintendo - 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
- capteur de luminosité
- connectivité Bluetooth 4.0basse énergie 2,4 GHz maître/esclave
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.USB micro-B
mâle ↔ USB mini-A
mâle, disponible par exemple chez StarTech

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 :- mb_butns → microbit.buttons
- mb_disp → microbit.display
- mb_grove
- mb_music → music
- mb_neopx → neopixel
- mb_pins
- mb_radio → radio
- mb_sensr
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,UMBRELLAetSNAKE
Texas Instrumentssemble juste avoir voulu se limiter à 10+26=36 éléments, afin que ces derniers soient tous accessibles aux menus via les raccourcis clavier numériques ou alphabétiques. - les 12 images
- plusieurs fonctions ne sont pas aux menus : par exemple si on a bien display.set_pixel()nous n'avons pasdisplay.get_pixel()
- et rien pour exécuter autre chose que de simples appels d'une fonction prédéfinie

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.
Texas Instruments
n'a prévu aucun point d'accès, pas de miracle. 
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
:- 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.
Python
ainsi externalisées sur la micro:bit
, mais est-il possible de le récupérer sur ta calculatrice ? Et bien oui, 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(pourmicro:bit)
- OS 5.5.2.0044 + applis(pourTI-83 Premium CE)
- OS 5.5.2.0044(pourTI-83 Premium CE)
- OS 5.6.0.0020 + applis(pourTI-84 Plus CE)
- OS 5.6.0.0020(pourTI-84 Plus CE)
- application Python 5.5.2.0044
- module PythonMICROBIT(essentiel)
- modules Pythonmicro:bit:MB_BUTNS,MB_DISP,MB_GROVE,MB_MUSIC,MB_NEOPX,MB_PINS,MB_RADIO,MB_SENSR(au choix selon besoins du projet)
- modules Pythongraphiques :ce_turtl,ce_chart,ce_quivr,ce_box
Ressource
:micro:bit
pour TI-83 Premimum CE