Page 1 of 1

Simulateur TI-83 Premium CE Python + micro:bit Vittascience

Unread postPosted: 04 May 2021, 11:20
by critor
13451Dépuis des années, Texas Instruments réalise de gros efforts pour rendre la programmation de ses calculatrices accessible à tous et toutes. 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 imaginables sans avoir à se concentrer sur des difficultés annexes. :)

Dernière fantastique nouveauté en ce sens pour la rentrée 2020, Texas Instruments a rajouté à sa TI-83 Premium CE Edition Python française la gestion du nanoordinateur BBC micro:bit programmable en Python dont tu étais peut-être déjà équipé·e ! :bj:

Un superbe support pour les enseignements scientifiques au lycée surtout maintenant que tous partagent le même langage de programmation, notamment en SNT, spécialité NSI, SI 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

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

Depuis début 2021, la carte micro:bit bénéficie d'une évolution matérielle majeure dite version 2.

En voici les caractéristiques et capacités :
12961
13450
microcontrôleur nRF51822 :
  • processeur 32 bits ARM Cortex-M0 à 16 MHz
  • mémoire de stockage Flash de 256 Kio
  • mémoire de travail RAM de 16 Kio
    (dont 8,24 Ko de heap/tas Python)
  • connectivité Bluetooth 4.0
microcontrôleur nRF52833 :
  • processeur 32 bits ARM Cortex-M0 à 64 MHz
  • mémoire de stockage Flash de 512 Kio
  • mémoire de travail RAM de 128 Kio
    (dont 63 Ko de heap/tas Python)
  • connectivité Bluetooth 5.0
  • capteur de luminosité (lié aux diodes)
  • capteur de température (sur le processeur)
  • accéléromètre 3D
  • boussole magnétique 3D
  • capteur de luminosité (lié aux diodes)
  • capteur de température (sur le processeur)
  • accéléromètre 3D
  • boussole magnétique 3D
  • haut-parleur
  • microphone MEMs + diode DEL d'état
12962
13449
  • afficheur 5×5= 25 diodes rouges adressables
  • 2 boutons poussoirs
    A
    et
    B
    programmables
  • afficheur 5×5= 25 diodes rouges adressables
  • 2 boutons poussoirs
    A
    et
    B
    programmables
  • bouton tactile sur le logo micro:bit

12277Les cartes micro:bit utilisent 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 que nous avons également testé.



La solution micro:bit de Texas Instruments se compose :
  • d'un fichier Runtime à copier sur la carte micro:bit et qui lui permet d'être pilotée par la calculatrice
  • de 9 modules Python additionnels à charger sur ta calculatrice, et te permettant chacun d'accéder à tout ou partie des modules ou classes correspondants dans le Python micro:bit :
    • microbit (général)
    • mb_butnsmicrobit.buttons (boutons A et B intégrés)
    • mb_dispmicrobit.display (afficheur à 5×5=25 LEDs rouges intégré)
    • mb_grove (capteurs et actionneurs Grove à rajouter)
    • mb_musicmusic (haut-parleur à rajouter sur micro:bit v1 ou intégré sur micro:bit v2)
    • mb_neopxneopixel (rubans de LEDs programmables à rajouter)
    • mb_pins (contacts programmables intégrés)
    • mb_radioradio (communication radio intégrée)
    • mb_sensr (capteurs intégrés : boussole, accéléromètre, température)


En pratique pour mettre en œuvre en classe tes projets TI-83 Premium CE Edition Python et BBC micro:bit, il te fallait disposer de la calculatrice TI-83 Premium CE Edition Python sur chaque table d'élève, binôme ou groupe.

Pas possible d'utiliser des ordinateurs faisant tourner le logiciel d'émulation TI-SmartView CE, ce dernier ne supportant hélas pas la fonction send().

Et par extension il te fallait donc disposer de la carte BBC micro:bit ainsi que de l'ensemble des éventuels éléments additionnels (capteurs/actionneurs externes) sur chaque table d'élève, binôme ou groupe.

Pour un jour de mise en œuvre du projet sur site ou de présentation du projet, certes... Mais avant cela, c'était quand même bien dommage de devoir s'embêter avec toute cette logistique lors de la phase de développement du projet, non ?... Et donc entre autres de dépendre des dates de livraison selon les différents éléments nécessaires au projet...


Et bien ces 14 activités de Physique-Chimie font maintenant l'objet d'une publication en ligne sur la plateforme Vittascience.

Une publication fortement enrichie désormais dynamique et interactive ; en effet Vittascience t'a conçu un formidable outil, une interface en ligne qui simule de façon hybride les TI-83 Premium CE Edition Python et micro:bit ! :favorite:

Sur les pages des activités en question, l'interface est automatiquement préchargée des éléments de code Python relatifs à chaque activité, mais tu peux également l'utiliser de façon indépendante pour n'importe quel autre projet.

L'interface te montre à la fois :
  • la micro:bit avec son afficheur
  • l'écran TI-83 Premium CE Edition Python
  • les capteurs éventuels utilisés par ton code, dont tu peux alors régler toi-même la mesure
Formidable, plus de livraison impérative à planifier et attendre, tu peux commencer directement tes projets quand tu veux, et en récupérer le code à tout moment ! :bj:

Et ce n'est pas tout, pour commencer dès la rentrée en Seconde, l'interface dispose de 3 modes de programmation entre lesquels tu peux basculer librement : :D
  • mode code pour le Python
  • mode blocs pour de la programmation par blocs comme en Scratch au collège
  • mode hybride pour avoir côte à côte ces deux représentations du programme saisi

Un formidable outil pédagogique parfaitement adapté aux besoins, félicitations Vittascience ! :D

Pour les curieux, on peut s'intéresser brièvement au fonctionnement de l'interface Vittascience.

On peut déjà regarder le module sys :
Code: Select all
import sys
print(dir(sys))


print(sys.maxsize) nous confirme que nous avons bien affaire à un simulateur comme dit plus haut, et non à un émulateur.

En effet la valeur retournée de 9007199254740991 correspond à 2**53-1 indique un codage des entiers court sur 53 bits, alors que les TI-83 Premium CE Edition Python et micro:bit utilisent 32 bits.

C'est-à-dire que sur des choses pointues, le comportement simulé pourra différer de celui de la calculatrice ou de la carte.

Nous avons donc probablement affaire à un simulateur Python tournant dans le navigateur, et par-dessus lequel ont été rajoutés des modules reproduisant plus ou moins bien le comportement des TI-83 Premium CE Edition Python et micro:bit.

Il semble s'agir d'un simulateur hybride, acceptant à la fois du code en syntaxe Python 2 et Python 3 ; il doit donc dater d'il y a un certain temps.

sys.copyright nous en apprend un petit peu plus sur ce qui tourne derrière et effectivement : "Copyright 2009-2010 Scott Graham.</br>All Rights Reserved". Il s'agit donc d'un moteur créé par Scott Graham en 2009-2010.

La fonction help() n'est visiblement pas implémentée, aussi impossible d'utiliser la commande help("modules") pour connaître les modules Python à notre disposition.

Nous tentons donc diverses importations à la main, et sur certaines d'entre elles nous obtenons un message d'erreur en anglais nous révélant le moteur qu'il y a derrière : skulpt. Il s'agit effectivement d'une implémentation en Javascript de Python 2, sortie initialement par Scott Graham, avec des éléments de compatibilité Python 3 rajoutés depuis.

Venons-en donc aux modules Python dont tu disposes. Attention, bizarrement certains modules ne peuvent être importés qu'avec une syntaxe bien précise de la commande d'importation, alors précisée ci-après :
  • collections
  • math
  • random
  • re
  • sys
  • time : from time import *
  • ti_system : from ti_system import *
  • ti_plotlib : import ti_plotlib as plt
  • microbit
  • mb_butns : from mb_butns import *
  • mb_disp : from mb_disp import *
  • mb_grove : from mb_grove import *
  • mb_music : from mb_music import *
  • mb_neopx : from mb_neopx import *
  • mb_pins : from mb_pins import *
  • mb_radio : from mb_radio import *
  • mb_sensr : from mb_sensr import *
Sont donc reproduits l'intégralité des 9 modules micro:bit de Texas Instruments, ainsi que 2 des modules spécifiques à la TI-83 Premium CE Edition Python : ti_system et ti_plotlib.

La commande import ti_system ne fonctionnant pas, nous ne pouvons tester l'existence des fonctions qu'en les appelant une par une. Cette implémentation de ti_system ne semble reproduire que 3 fonctions :
  • escape() pour l'interruption clavier
  • sleep()
  • disp_clr() pour effacer l'écran
Pour tes affichages TI-83 Premium CE Edition Python, il te faut donc passer par le module ti_plotlib reproduit ici de façon plus évoluée comme tu pourras le noter ci-contre.

Tu as donc de quoi afficher des chaînes à la position de ton choix, ainsi que des nuages de points.

L'écosystème Vittascience s'enrichit maintenant de 14 nouvelles activités micro:bit pour TI-83 Premium CE Edition Python dans le contexte de l'enseignement de SNT, cette fois-ci conçues en prenant en compte l'interface en ligne :
  1. Accusé de réception d'un message
  2. Reconstituer un message
  3. Modélisation d'un classement de site
  4. Modélisation d'un classement de site
  5. Le compteur de "like"
  6. Tweets & graphes - Les tweets et les likes sur le réseau social Twitter
  7. L'accéléromètre
  8. Un capteur de température
  9. Synchroniser des horloges GPS
  10. Le rendez-vous GPS
  11. Feu tricolore
  12. Eclairage intelligent
  13. Pixel Art
  14. Le colorimètre

Envie de découvrir l'interface en ligne Vittascience pour TI-83 Premium CE Edition Python et micro:bit ou ces dernières activités SNT ?

Et bien cela tombe bien. Léo Briand, fondateur de Vittascience, ainsi que deux des enseignants ayant élaboré ces activités (Mme Larrieu-Lacoste et M. Vallot) t'invitent à un webinaire de découverte ce Mercredi 5 Mai 2021 à 16h ! :D



Liens :

Téléchargements :

Re: Simulateur TI-83 Premium CE Python + micro:bit Vittascie

Unread postPosted: 04 May 2021, 13:37
by Adriweb
C'est du bon boulot qu'ils ont fait :) d'ailleurs ils pourraient utiliser une police un peu plus TI-esque à l'intérieur du simulateur de l'écran de la calculatrice, mais bon :p

Merci pour les tests et l'article en tout cas.