π
<-

Lance du Python sur micro:bit depuis TI-83 Premium CE

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

Lance du Python sur micro:bit depuis TI-83 Premium CE

Unread postby critor » 22 Oct 2020, 14:56

12212Depuis 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é ! :bj:

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 ! :D

129591295812957Et 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 ! :bj:

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).

129621296112960La 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
      et
      B
      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


12277La 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.

1296512964Pour 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

12970Commences-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
    Mais rien à voir avec de la censure, Texas Instruments semble 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.

  • 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

13176Bon 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 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. :'(

13175Heureusement 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 :
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 :

Ressource : activités vidéo micro:bit pour TI-83 Premimum CE
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15890
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Lance du Python sur micro:bit depuis TI-83 Premium CE

Unread postby cent20 » 22 Oct 2020, 15:35

Et bien, NumWorks va devoir ramer sec pour rattraper son retard.

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.
:#fou#:

Du coup on peut étendre le tas python de la TI 83 PCE ?
Et si la carte avait un tas python de 64 Ko par exemple, on peut imaginer stocker les trucs lourd sur la carte pour palier le défaut des 16 Ko de heap interne ...
Image
Enseignant de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
User avatar
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 48.4%
 
Posts: 1048
Images: 67
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: nsi_xyz

Re: Lance du Python sur micro:bit depuis TI-83 Premium CE

Unread postby Adriweb » 22 Oct 2020, 17:52

Astucieux :D

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14744
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Lance du Python sur micro:bit depuis TI-83 Premium CE

Unread postby Fabien59 » 23 Oct 2020, 19:28

Bonjour,
En donnant la possibilité d'utiliser la carte micro:bit , Texas Instrument n'abandonne-t-il pas le TI Innovator Hub ? A moins que le Hub soit bien plus performant que la carte micro:bit ? Est-ce le cas ? Avez-vous fait des comparatifs ?
Merci.
Fabien
User avatar
Fabien59Premium
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 21.9%
 
Posts: 54
Joined: 16 Jul 2020, 21:34
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Lance du Python sur micro:bit depuis TI-83 Premium CE

Unread postby critor » 23 Oct 2020, 19:52

Je ne pense pas que l'écosystème TI-Innovator soit abandonné.

Il s'agit à mon avis d'une simple prise en compte de la situation particulière des lycées français où la carte micro:bit est relativement bien implantée.
Difficile en effet de faire migrer des gens qui sont déjà équipés.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15890
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Lance du Python sur micro:bit depuis TI-83 Premium CE

Unread postby Fabien59 » 23 Oct 2020, 22:01

Mon lycée n'est pas encore équipé. S'il fallait faire un choix entre le hub et la micro:bit, lequel me conseillerez-vous ?
User avatar
Fabien59Premium
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 21.9%
 
Posts: 54
Joined: 16 Jul 2020, 21:34
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Lance du Python sur micro:bit depuis TI-83 Premium CE

Unread postby critor » 24 Oct 2020, 00:00

Les deux solutions n'ont pas grand chose à voir, donc tout dépendrait des projets visés.
Même les prix sont différents.

Les deux ont un capteur de luminosité intégré.
Les deux offrent d'origine 2 boutons programmables mais ceux du TI-Innovator ne sont pas accessibles d'origine ; il faut démonter ou percer la face supérieure.

Le TI-Innovator a un buzzer et une diode RVB intégrés, pas la micro:bit.
La micro:bit a un capteur de température, un accéléromètre et une boussole intégrés, pas le TI-Innovator.
Le TI-Innovator a des connecteurs d'origine pour capteurs et actionneurs Grove, pas la micro:bit.

Après rien n'est un obstacle infranchissable, tout se rajoute sur ces cartes programmables. Mais ce sera un coût supplémentaire à multiplier par l'effectif concerné.

Peut-être que le plus sage serait d'attendre de voir ce que donne la micro:bit v2 ; elle devrait être disponible d'ici quelques semaines ou même jours :
https://microbit.org/new-microbit/
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15890
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Lance du Python sur micro:bit depuis TI-83 Premium CE

Unread postby Fabien59 » 24 Oct 2020, 08:57

Merci pour ce conseil.
Choix difficile...
Effectivement, il faut ajouter un shield grove sur la micro:bit pour retrouver la simplicité d'usage du Ti Innovator, mais c'est à moindre cout et la micro:bit a plus de capteurs intégrés.
Mais le Hub me semble bien plus robuste dans le temps et les bibliothèques du Hub sont présentes par défaut sur la calculatrice ce qui rend son usage en classe plus facile.
Il ne me reste plus qu'à comparer les performances de ces deux solutions sur une même expérience :-)
User avatar
Fabien59Premium
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 21.9%
 
Posts: 54
Joined: 16 Jul 2020, 21:34
Gender: Not specified
Calculator(s):
MyCalcs profile


Return to News TI-z80 (TI-73, 76, 80, 81, 82, 83, 84, 85, 86)

Who is online

Users browsing this forum: ClaudeBot [spider] and 12 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
842 utilisateurs:
>795 invités
>41 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)