π
<-
Chat plein-écran
[^]

News 2024
Mai (1)

News 2023
Juin (2)
Avril (1)
Mars (2)

News 2022
Juin (4)
Mai (4)
Avril (4)
Mars (3)

News 2021
Août (5)
Juin (1)
Mai (3)
Avril (12)
Mars (4)

News 2020
Août (1)
Juin (2)
Mai (2)
Avril (7)
Mars (4)

News 2019
Août (1)
Juin (1)
Mai (3)
Avril (7)
Mars (10)

News 2018
Août (3)
Juin (3)
Mai (8)
Avril (13)
Mars (5)

News 2017
Août (1)
Mai (10)
Avril (3)
Mars (4)

News 2016
Août (12)
Juin (8)
Mai (12)
Avril (7)
Mars (9)

News 2015
Août (11)
Juin (6)
Mai (10)
Avril (2)
Mars (6)

News 2014
Octobre (12)
Août (4)
Juin (13)
Mai (14)
Avril (12)
Mars (15)

News 2013
Octobre (30)
Août (14)
Juin (27)
Mai (12)
Avril (29)
Mars (19)
Janvier (27)

News 2012
Octobre (37)
Août (40)
Juillet (27)
Juin (19)
Mai (35)
Avril (34)
Mars (42)
Janvier (46)

News 2011
Octobre (22)
Août (23)
Juillet (14)
Juin (29)
Mai (44)
Avril (24)
Mars (27)

News 2010
Août (6)
Juillet (10)
Juin (4)
Mai (1)
Avril (2)
Mars (1)

News 2009
Juin (1)

QCC 2021 Universel épisode 10: Python turtle + compatibilité

Nouveau messagede critor » 25 Aoû 2021, 20:15

Quelle Calculatrice Choisir 2021 édition Universelle

Épisode 10 - Python turtle + compatibilité

5409Pour fêter les 10 ans de TI-Planet en cette rentrée 2021, nous te publions la base de données intégrale de nos classements de rentrée QCC organisés depuis la rentrée 2015.

Nous en profitons de plus pour te réaliser le travail titanesque d'étendre les tests aux modèles plus anciens :
  • toutes les calculatrices graphiques Texas Instruments (depuis la première TI-81 de 1990)
  • les calculatrices graphiques Casio de la génération Icon Menu Power Graphic (depuis 1996)
Ce qui donne pas moins de 163 modèles différents testés sous toutes leurs coutures, 10 ans de tests et découvertes à portée de clic ! :D

14526Aujourd'hui restons sur le Python et parlons turtle. Il y a justement du nouveau à ce sujet, puisque Texas Instruments vient tout juste de sortir un module turtle additionnel pour ses TI-Nspire CX II.

Mais qu'est-ce que c'est que turtle ? Les interpréteurs Python sur nos calculatrices peuvent offrir usuellement jusqu'à 3 types de modules de tracé :
  • tracé par pixels, habituellement propriétaire au constructeur
  • tracé dans un repère, plus ou moins proche du standard matplotlib.pyplot
  • et tracé relatif à la tortue, plus ou moins proche du standard turtle, le plus proche de ce qui a été pratiqué au collège avec le langage Scratch

Nous allons profiter de l'occasion pour faire d'une pierre deux coup. Nous allons à la fois découvrir ensemble le nouveau turtle des TI-Nspire CX II, et directement le comparer à ce qui existe déjà chez la concurrence, à savoir :
  • turtle pour TI-Nspire CX II
  • turtle sur Casio Graph 35+E II et Graph 90+E
  • turtle sur NumWorks
  • turtle via KhiCAS sur NumWorks et TI-Nspire CX
  • ce_turtl sur TI-83 Premium CE Edition Python, TI-84 Plus CE-T Python Edition et TI-84 Plus CE Python

Nous allons donc exécuter quelques scripts turtle et comparer leurs affichages à ce que donne le turtle Python standard sur ordinateur, et donc la plus ou moins grande facilité que tu auras à exécuter des scripts Python turtle conçus pour d'autres plateformes. ce_turtl était particulièrement mauvais sur ce dernier point ; nous allons donc voir si Texas Instruments a apporté davantage de soin à son module turtle pour TI-Nspire CX II.

Commençons déjà par détecter quelques problèmes bloquants avant l'exécution, et peut-être même les corriger. Voici notre tout nouveau Turtle Doctor : ;)
Code: Tout sélectionner
_turtle_errors = 0

def _turtle_error(k):
  global _turtle_errors
  _turtle_errors |= 1 << k

# import turtle
try: #TI-83 Premium CE
  from ce_turtl import turtle
  turtle.clear()
  _turtle_error(0)
except ImportError:
  import turtle
  if not "forward" in dir(turtle):
    turtle = turtle.Turtle()

# can turtle be patched ?
_fix_turtle = True
try:
  def _fixcolorlist(c): return c
  def _fixcolorval(c): return c
  def _fixcolorstring(c): return c
  def _fixcolor(c): return turtle._fixcolorlist(turtle._fixcolorval(turtle._fixcolorstring(c)))
  turtle._fixcolorlist = _fixcolorlist
  turtle._fixcolorval = _fixcolorval
  turtle._fixcolorstring = _fixcolorstring
  turtle._fixcolor = _fixcolor
except:
  _fix_turtle = False

# test/fix color() + pencolor()
if not "pencolor" in dir(turtle):
  _turtle_error(1)
  if _fix_turtle: turtle.pencolor = turtle.color
if not "color" in dir(turtle):
  _turtle_error(2)
  if _fix_turtle: turtle.color = turtle.pencolor

# test color argument types
_color_types = 0
try:
  turtle.pencolor([0, 0, 0])
  _color_types |= 1 << 0
except: _turtle_error(4)
try:
  turtle.pencolor((0, 0, 0))
  _color_types |= 1 << 1
except: _turtle_error(5)
try:
  turtle.pencolor(0, 0, 0)
  _color_types |= 1 << 2
except: pass
try:
  turtle.pencolor("black")
  _color_types |= 1 << 3
except: _turtle_error(6)
_fix_color = not _color_types & 1 << 0 or not _color_types & 1 << 1 or not "colormode" in dir(turtle)

# fix list/tuple color argument
if _fix_turtle:
  if not _color_types & 1 << 0 and _color_types & 1 << 1:
    def _fixcolorlist(c): return type(c) is list and tuple(c) or c
    turtle._fixcolorlist = _fixcolorlist
  if not _color_types & 1 << 1 and _color_types & 1 << 0:
    def _fixcolorlist(c): return type(c) is list and list(c) or c
    turtle._fixcolorlist = _fixcolorlist

# fix color() + pencolor()
if _fix_turtle and _fix_color:
    turtle._color = turtle.color
    turtle._pencolor = turtle.pencolor
    if _color_types & 1 << 0 or _color_types & 1 << 1:
      def _color(*argv):
        if not(len(argv)): return turtle._color()
        turtle._color(turtle._fixcolor(argv[0]))
      def _pencolor(*argv):
        if not(len(argv)): return turtle._pencolor()
        turtle._pencolor(turtle._fixcolor(argv[0]))
    else:
      def _color(*argv):
        if not(len(argv)): return turtle._color()
        c = turtle._fixcolor(argv[0])
        turtle._color(c[0], c[1], c[2])
      def _pencolor(*argv):
        if not(len(argv)): return turtle._pencolor()
        c = turtle._fixcolor(argv[0])
        turtle._pencolor(c[0], c[1], c[2])
    turtle.color = _color
    turtle.pencolor = _pencolor

# test/fix colormode()
_color_mode = 0
if not "colormode" in dir(turtle):
  _turtle_error(3)
  # test color mode
  try:
    turtle.pencolor([255, 0, 0])
    _color_mode = 255
  except: _color_mode = 1.0
  if _fix_turtle:
    turtle._color_mode = _color_mode
    def _colormode(*argv):
      if not(len(argv)): return turtle._color_mode
      if int(argv[0]) in (1, 255):
        turtle._color_mode = int(argv[0]) == 255 and 255 or 1.0
    turtle.colormode = _colormode
    if _color_mode == 255:
      def _fixcolorval(c): return int(turtle._color_mode) == 1 and type(c) in (list, tuple) and [int(c[k] * 255) for k in range(3)] or c
    else:
      def _fixcolorval(c):
        return turtle._color_mode == 255 and type(c) in (list, tuple) and [int(c[k] / 255) for k in range(3)] or c
    turtle._fixcolorval = _fixcolorval

# test/fix color strings
_colors_fix={"black":(0,0,0),"blue":(0,0,1),"green":(0,1,0),"red":(1,0,0),"cyan":(0,1,1),"yellow":(1,1,0),"magenta":(1,0,1),"white":(1,1,1),"orange":(1,0.65,0),"purple":(0.66,0,0.66),"brown":(0.75,0.25,0.25),"pink":(1,0.75,0.8),"grey":(0.66,0.66,0.66)}
for c in list(_colors_fix.keys()):
  try:
    turtle.pencolor(c)
    _colors_fix.pop(c)
  except: pass
turtle.pencolor((0, 0, 0))
if len(_colors_fix):
  if _color_types & 1 << 3:
    _turtle_error(7)
  if _fix_turtle:
    def _fixcolorstring(c):
      if type(c) is str and c in _colors_fix:
        c = _colors_fix[c]
        if turtle.colormode() == 255:
          c = [int(c[k] * 255) for k in range(3)]
      return c
    turtle._fixcolorstring = _fixcolorstring

# test/fix circle(,)
try: turtle.circle(0,0)
except:
  _turtle_error(8)
  if _fix_turtle:
    turtle._circle = turtle.circle
    def _circle(r, a=360): turtle._circle(r)
    turtle.circle = _circle

if not "write" in dir(turtle):
  _turtle_error(9)
  if _fix_turtle:
    def _write(s): pass
    turtle.write = _write

if not "pensize" in dir(turtle):
  _turtle_error(10)
  if _fix_turtle:
    def _pensize(s): pass
    turtle.pensize = _pensize

def turtle_diags():
  print("Type: " + str(type(turtle)))
  print("Patchable: " + (_fix_turtle and "yes" or "no"))
  errors_msg = (
    "No <import turtle>",
    "No pencolor()",
    "No color()",
    "No colormode(): " + str(_color_mode),
    "No color as list",
    "No color as tuple",
    "No color as string",
    "Missing colors strings: ",
    "No circle(,angle)",
    "No write()",
    "No pensize()",
  )
  errors = 0
  for k in range(len(errors_msg)):
    if _turtle_errors & 1 << k:
      errors += 1
      msg = "Err " + str(k) + ": " + errors_msg[k]
      if k == 7:
        msg += str(len(_colors_fix)) + " " + str(tuple(_colors_fix.keys()))
      print(msg)
  print(str(errors) + " error" + ((errors > 1) and "s" or ""))

Le but de Turtle Doctor et donc d'anticiper les erreurs, afin que les scripts qui vont suivre puissent bien afficher quelque chose d'utile.

Par exemple, Turtle Doctor ne détecte a priori strictement aucun problème bloquant sur la NumWorks :bj:

Aucun problème non plus avec KhiCAS pour NumWorks et TI-Nspire CX ! :bj:

Sur Casio Graph 35+E II et Graph 90+E, quelques détails :
  • absence de la méthode .color()
  • absence de la méthode .colormode()
Mais ici, Turtle Doctor détecte que le module turtle est modifiable : on peut le patcher à chaud (à chaque exécution) afin de corriger. :D

Le but des corrections n'est pour le moment pas d'obtenir quelque chose d'identique au standard, mais juste de permettre l'exécution des scripts qui vont suivre :
  • Nous choisissons de créer une méthode .color() synonyme de .pencolor()
  • Et pour .colormode(), outre la création de la méthode, il nous faut détecter le format de coordonnées de couleurs attendu par le module, afin de convertir le cas échéant. La méthode .colormode() lorsque présente permet de basculer entre les 2 systèmes de coordonnées suivants :
    • mode 255 : couleurs RGB avec chaque composante prenant une valeur entière de 0 à 255
    • mode 1.0 : couleurs RGB avec chaque composante prenant une valeur flottante de 0 à 1
    Le module turtle travaille en fait en format 1.0, mode qu'il est donc impossible de modifier ici.

Voici maintenant donc enfin turtle pour TI-Nspire CX II.

Une fois installé correctement dans le dossier /PyLib/ comme expliqué, les fonctions offertes par turtle sont alors rajoutées au menu.

Attention toutefois, comme tout module présent dans le dossier /PyLib/, turtle ne sera pas disponible en mode examen. :#non#:

Le module s'importe de la façon suivante, qui est bien une des façons standard :
Code: Tout sélectionner
from turtle import Turtle
turtle = Turtle()


Si jusqu'à présent les quelques écarts avec le standard pouvaient être qualifiés de quelques détails de cas particuliers, ici cela commence à faire beaucoup. Pas moins de 4 problèmes sont détectés dont un majeur :
  • absence de la méthode .colormode(), avec un fonctionnement bloqué en mode 255
  • absence de gestion du 2ème argument de la méthode .circle() pour tracer un arc de cercle
  • et pire, pour les paramètres de couleur :
    • refus des paramètres de type liste, n'accepte que des tuples - est-ce un bug ?... :(
    • accepte les paramètres de type chaîne de caractères, mais ignore plusieurs codes de couleur usuels : "pink", "grey", "brown", "purple"
Heureusement ici, le module turtle importé est modifiable à chaud et peut donc être librement modifié et donc corrigé. En approfondissant la chose, la méthode Turtle Doctor devrait même permettre de pouvoir atteindre une conformité quasi parfaite au standard.

Et enfin nous avons le ce_turtl pour les éditions Python des TI-83 Premium CE et TI-84 Plus CE. Comme annoncé hélas, c'est une véritable catastrophe niveau conformité au standard. Pas moins de 8 erreurs sont anticipées :
  • déjà, de par son nom il ne s'importe pas de façon standard, c'est-à-dire qu'aucune des 3 méthode suivantes ne fonctionne :
    import turtle, from turtle import *, ou encore
    Code: Tout sélectionner
    from turtle import Turtle
    turtle = Turtle()
  • absence de la méthode .pencolor(), qui est remplacée ici par .color()
  • absence de la méthode .colormode(), avec un fonctionnement bloqué en mode 255
  • absence de la méthode .write() pour écrire du texte
  • absence de gestion du 2ème argument de la méthode .circle() pour tracer un arc de cercle
  • et pire, pour les paramètres de couleur, refus de toute les formes standard : aussi bien liste que tuple ou chaîne de caractère. La méthode color() attend non pas 1 mais 3 arguments, soit un argument par composante. :mj:
Le module turtle importé est certes modifiable à chaud et la méthode Turtle Doctor va fonctionner pour débloquer l'exécution. Toutefois pour une conformité au standard il manquerait encore beaucoup de code, et malheureusement comme nous avons déjà vu nous sommes extrêmement à l'étroit niveau mémoire de tas (heap) Python sur ces calculatrices. Nous sommes déjà à peine à quelques lignes de l'erreur de mémoire, aller plus loin dans cette voie n'est pas envisageable sur ces modèles. :'(

Pour comparer, il y a malgré tout moyen d'avoir du code d'importation fonctionnant à la fois sur l'ensemble de ces plateformes et sur ordinateur. Par exemple :
Code: Tout sélectionner
try: # TI-83PCE/84+CE
  from ce_turtl import turtle
  turtle.clear()
except ImportError:
  import turtle # multiplateformes
  if not "forward" in dir(turtle): # TI-Nspire CX II
    turtle = turtle.Turtle()

1107511073Voilà, c'est parti pour les tests de conformité du module turtle standard, ainsi que la compatibilité entre différentes calculatrices graphiques.

Nous allons pour cela prendre plusieurs exemples et lancerons le même code sur différents modèles.

On commence par une petite rosace ; tout possesseur de Graph 35+E II sait que Casio adore ça : ;)
ordi
NumWorks
Graph 90+E
Graph 35+E II
TI-Nspire CX II
turtle
TI-83PCE/84+CE
ce_turtl

Code: Tout sélectionner
from turtldoc import *

turtle.speed(0)
turtle.pensize(1)
for i in range(12):
  turtle.left(30)
  for i in range(8):
    turtle.forward(30)
    turtle.left(45)

try: turtle.show() #TI-83 Premium CE
except: pass

Petit léger détail, le turtle.pensize(1) n'est respecté ni par KhiCAS ni par ce_turtl.

Ceci mis à part, le code passe ici sans problème. :)

Poursuivons avec la fractale de Koch :
ordi
NumWorks
Graph 90+E
Graph 35+E II
TI-Nspire CX II
turtle
TI-83PCE/84+CE
ce_turtl

Code: Tout sélectionner
from turtldoc import *

def koch(n, l):
  if n==0:
    turtle.forward(l)
  else:
    koch(n - 1, l / 3)
    turtle.left(60)
    koch(n - 1, l / 3)
    turtle.right(120)
    koch(n - 1, l / 3)
    turtle.left(60)
    koch(n - 1, l / 3)

turtle.speed(0)
turtle.pensize(1)
turtle.pencolor("blue")
turtle.penup()
turtle.goto(-180, -50)
turtle.pendown()
koch(4, 360)

try: turtle.show() #TI-83 Premium CE
except: pass

Pas de nouveau problème ici. :)

Passons maintenant aux flocons de Koch :
ordi
NumWorks
Graph 90+E
Graph 35+E II
TI-Nspire CX II
turtle
TI-83PCE/84+CE
ce_turtl

Code: Tout sélectionner
from turtldoc import *

def koch(n, l):
  if n<=0:
    turtle.forward(l)
  else:
    koch(n - 1, l / 3)
    turtle.left(60)
    koch(n - 1, l / 3)
    turtle.right(120)
    koch(n - 1, l / 3)
    turtle.left(60)
    koch(n - 1, l / 3)

def flock(n, l):
  koch(n, l)
  turtle.right(120)
  koch(n, l)
  turtle.right(120)
  koch(n, l)

turtle.speed(0)
l=80
turtle.pensize(1)
turtle.penup()
turtle.goto(105,3)
turtle.left(120)
turtle.pendown()
flock(3, l)
turtle.left(120)

turtle.penup()
turtle.goto(105,-10)
turtle.right(60)
turtle.pendown()
turtle.pencolor("orange")
flock(4, l)
turtle.right(60)

turtle.pensize(2)
turtle.penup()
turtle.goto(5,45)
turtle.right(60)
turtle.pendown()
turtle.pencolor("blue")
flock(2, l)
turtle.right(60)

turtle.penup()
turtle.goto(-100,17)
turtle.left(120)
turtle.pendown()
turtle.pencolor("red")
flock(0, l)
turtle.left(120)

turtle.pensize(3)
turtle.penup()
turtle.goto(-100,-5)
turtle.right(60)
turtle.pendown()
turtle.pencolor("green")
flock(1, l)
turtle.right(60)

turtle.penup()
turtle.forward(400)

try: turtle.show() #TI-83 Premium CE
except: pass

Pour ce que l'on obtient pas de problème de tracé avec le module turtle de KhiCAS, le problème vient d'autre chose. Ce module turtle a l'air d'être extrêmement gourmand, arrivant à déclencher une erreur de mémoire en cours d'exécution alors que d'autres modèles avec un heap Python absolument ridicule en comparaison s'en sortent parfaitement.

On comprend mieux ici le problème du .pensize() sur ce_turtl et KhiCAS. Malgré les réglages différents tous les flocons sont ici trop épais d'1 pixel, il y a visiblement un décalage.
Mais notons justement par rapport à ce_turtl, que notre script Turtle Doctor a visiblement correctement injecté l'interception des paramètres de couleurs passés sous la forme de chaînes de caractères.

Nous arrivons maintenant à un soleil :
ordi
NumWorks
Graph 90+E
Graph 35+E II
TI-Nspire CX II
turtle
TI-83PCE/84+CE
ce_turtl

Code: Tout sélectionner
from turtldoc import *

from math import exp

turtle.speed(0)
turtle.pensize(1)
turtle.colormode(1.0)
for i in range(36):
  turtle.pencolor([exp(-.5 * ((i - k) / 12)**2) for k in (6, 18, 30)])
  for i in range(1, 5):
    turtle.forward(60)
    turtle.right(90)
  turtle.right(10)

try: turtle.show() #TI-83 Premium CE
except: pass

Notons que Turtle Doctor a réussi à parfaitement corriger les paramètres de couleurs sur ce_turtl, tuples et listes étant maintenant utilisables ! :bj:

Poursuivons avec une coquille d'escargot :
ordi
NumWorks
Graph 90+E
Graph 35+E II
TI-Nspire CX II
turtle
TI-83PCE/84+CE
ce_turtl

Code: Tout sélectionner
from turtldoc import *

from math import exp

turtle.speed(0)
turtle.pensize(1)
turtle.colormode(1.0)
turtle.penup()
turtle.goto(0, -20)
turtle.pendown()
for i in range(36):
  turtle.pencolor([exp(-.5 * ((i - k) / 12)**2) for k in (6, 18, 30)])
  turtle.circle(50 - i)
  turtle.right(10)

try: turtle.show() #TI-83 Premium CE
except: pass

ce_turtl nous fait ici une véritable catastrophe. Le problème vient de la méthode .circle() qui ne respecte pas du tout le standard. Au lieu de tracer un cercle qui passe par la position de la tortue, elle trace un cercle qui prend pour centre la position de la tortue. :mj:

Passons maintenant aux triangles de Sierpiński :
ordi
NumWorks
Graph 90+E
Graph 35+E II
TI-Nspire CX II
turtle
TI-83PCE/84+CE
ce_turtl

Code: Tout sélectionner
from turtldoc import *

def sierp(n, l):
  if n == 0:
    for i in range (0, 3):
      turtle.forward(l)
      turtle.left(120)
  if n > 0:
    sierp(n - 1, l / 2)
    turtle.forward(l / 2)
    sierp(n - 1, l / 2)
    turtle.backward(l / 2)
    turtle.left(60)
    turtle.forward(l / 2)
    turtle.right(60)
    sierp(n - 1, l / 2)
    turtle.left(60)
    turtle.backward(l / 2)
    turtle.right(60)

turtle.speed(0)
turtle.pensize(1)
turtle.penup()
turtle.backward(109)
turtle.left(90)
turtle.backward(100)
turtle.right(90)
turtle.pendown()
turtle.pencolor("red")
sierp(6, 217)
turtle.penup()
turtle.forward(400)

try: turtle.show() #TI-83 Premium CE
except: pass

Et mince, c'est justement le piège qui fait trébucher pas mal de modèles.
Ici encore, après avoir commencé un tracé parfait, KhiCAS se met à manquer de mémoire.

La Casio Graph 90+E s'en sort fort honorablement jusqu'à présent, non ? Dédions-lui un tableau :
ordi
NumWorks
Graph 90+E
Graph 35+E II
TI-Nspire CX II
turtle
TI-83PCE/84+CE
ce_turtl

Code: Tout sélectionner
from turtldoc import *

turtle.speed(0)
turtle.forward(40)
turtle.backward(100)
turtle.left(90)
turtle.forward(30)
turtle.right(60)
turtle.forward(60)
turtle.right(30)
turtle.forward(30)
turtle.penup()
turtle.forward(18)
turtle.right(90)
turtle.forward(60)
turtle.pendown()
turtle.right(30)
turtle.backward(30)
turtle.right(60)
turtle.forward(60)
turtle.pencolor("red")
turtle.penup()
turtle.goto(80,40)
turtle.right(140)
turtle.pendown()
turtle.circle(30)
turtle.penup()
turtle.goto(105,50)
turtle.pencolor("green")
turtle.pendown()
turtle.circle(-50)
turtle.penup()
turtle.pencolor("red")
turtle.right(21)
turtle.goto(60,20)
turtle.pendown()
turtle.circle(40,60)
turtle.penup()
turtle.pencolor("blue")
turtle.goto(-50,15)
turtle.setheading(0)
turtle.pendown()
turtle.write("CASIO")

try: turtle.show() #TI-83 Premium CE
except: pass

Et mince, c'est justement le piège qui fait trébucher pas mal de modèles.
Rapidement, très léger détail sur les Casio Graph 35+E II et Graph 90+E. La méthode .write() prend les coordonnées indiquées comme coin supérieur gauche du texte affiché, alors que le standard est de les prendre comme coin inférieur gauche.

Pour les modules qui ne gèrent pas l'appel .circle(rayon, angle) les arcs de cercles sont ici remplacés par des cercles, ce qui naturellement perturbe le reste du tracé.

Le cas KhiCAS est toutefois plus surprenant, cet appel étant bien géré... :#roll#:

Le nouveau turtle TI-Nspire CX II est une superbe réalisation. On apprécie particulièrement la grille et le repère entièrement configurables, une véritable valeur ajoutée ! :bj:

Sur la conformité au standard turtle ce n'est certes pas le meilleur, même si cela reste honorable. Il y a bien pire et plus grave que cela. Texas Instruments a déjà fait un fort bel effort relativement à la catastrophe qu'était ce_turtl. :)

Nous ignorons si Texas Instruments poursuivra ses efforts, mais à défaut nous avons quand même une excellente nouvelle. Bien que l'on n'ait pas accès au code source du module turtle TI-Nspire CX II celui-ci a le gros avantage de nous présenter des éléments modifiables à chaud. Comme de plus nous bénéficions ici d'un heap Python extrêmement généreux, pas moins de 2 Mo soit l'un des plus larges tous modèles concurrents confondus, une conformité parfaite au standard est bel et bien envisageable, pourvu que quelqu'un se donne le temps de creuser la question. :bj:

En attendant donc mieux, les différentes solutions Python turtle disposent désormais dans nos tableaux d'un indice de compatibilité / conformité au standard, basé sur les tests précédents :
Lien vers le sujet sur le forum: QCC 2021 Universel épisode 10: Python turtle + compatibilité (Commentaires: 28)

CCC 2021 épisode 2: consommation TI-Nspire monochrome

Nouveau messagede critor » 19 Aoû 2021, 16:02

Combien Consomme ma Calculatrice 2021

Épisode 2 - TI-Nspire monochrome

5409Nous sommes en plein QCC 2021 Universel, événement au cours duquel nous te publions et alimentons la base de données intégrale de nos classements de rentrée QCC organisés depuis la rentrée 2015.

Repassons aujourd'hui sur l'événement dans l'événement, le CCC 2021, pour Combien Consomme ma Calculatrice.

Nous nous intéressons pour le moment à la consommation des seuls modèles à piles AAA, n'ayant pour le moment ni matériel ni protocole pour mesurer la consommation des modèles à batterie.

49544973Mais pourquoi donc cette série ? Le mardi 31 mars 2015, suite à une annonce sur leboncoin, nous avions réussi à te récupérer une Casio Graph 75+E, avant même l'annonce officielle de ce nouveau modèle. Les nouveautés comportaient un mode examen dont le bon fonctionnement était indiqué par le clignotement d'une diode examen. L'emballage annonçait une conformité à une nouvelle réglementation des examens à compter de 2018, alors non encore publiée. Le Bulletin Officiel avec les derniers textes officiels paraissant chaque jeudi matin il nous fallait faire vite. Nous t'avions donc testé la Graph 75+E tout notre mercredi après-midi, et finalisé la publication pour 2 heures du matin. Et nous avions bien fait, quelques heures plus tard la première circulaire relative au mode examen allait effectivement être publiée.

Une mention dans le guide de prise en main nous avait toutefois grandement surpris :
Casio a écrit:
  • La mise en place d'un jeu de piles neuves est recommandée avant d'utiliser le Mode Examen.
  • La LED clignote lorsque la calculatrice est en mode Examen, de sorte que davantage d'énergie est utilisée. Veillez à quitter le mode Examen dès que possible une fois la session d'examen terminée.

Une pauvre petite diode allumée par intermittence, est-ce vraiment censé augmenter aussi significativement la consommation de la calculatrice ? Nous traiterons donc ici entre autres de la surconsommation induite par l'activation du mode examen.

Dans le premier épisode de cette série, nous nous étions occupées des Casio Graph monochromes.

Pour l'épisode d'aujourd'hui, intéressons-nous aux calculatrices TI-Nspire monochromes.

Ah les TI-Nspire monochromes. Ces modèles sont réputés pour avoir une consommation de piles absolument phénoménale, comme illustré ci-contre par Levak. Précisons qu'il s'agit à chaque fois de la consommation d'une seule calculatrice.

Une consommation absolument catastrophique, digne de certaines consoles de jeux portables tristement connues pour cela (Atari Lynx ou encore Sega Game Gear).

Cette réputation est-elle injuste ou bien méritée ? Et dans ce dernier cas qu'est-ce qui consomme autant ?

Plus de 10 ans après ces photos, nous allons enfin te vérifier tout cela aujourd'hui.

1451414513Niveau protocole, nous allons effectuer les mesures à l'aide d'une TI-Nspire CX II. Nous allons mesurer l'intensité, et utiliserons pour cela un capteur d'intensité Vernier. Muni d'une prise BT-A (le standard historique de téléphonie analogique chez British Telecom), il nous faut une interface pour le connecter à notre calculatrice, comme par exemple le Vernier EasyLink.

14515Problème suivant, un ampèremètre cela se branche en série. Comment faire donc pour couper le circuit de chaque calculatrice testée afin d'y intercaler le capteur d'intensité, tout en permettant à cette dernière de continuer à fonctionner ?

Nous allons utiliser un éliminateur de piles AAA modifié à cette fin. Une fausse pile AAA permet d'ouvrir le circuit, et il suffit alors de connecter en série à ses bornes un réceptacle pour la 4ème pile AAA alors manquante, ainsi que le capteur d'intensité.

Le gros avantage est donc qu'il n'y a aucune soudure ou modification à effectuer sur les calculatrices testées.

1451714518Et voilà donc à quoi ressemble le montage final.

Nous configurons la TI-Nspire CX II pour effectuer :
  • 50 mesures par seconde
  • pendant une durée de 29 secondes (car plusieurs modèles passent en mode économie d'énergie après 30 secondes d'inutilisation)
Nous retiendrons la valeur moyenne.
14516Par soucis d'égalité, nous n'utiliserons que des piles neuves avec au minimum 1,6 Volts de tension à vide entre leurs bornes, tension revérifiée à chaque changement de modèle testé.

La TI-Nspire utilise un écran monochrome, les mesures seront effectuées avec le contraste par défaut de l'écran.

Nous allons de plus effectuer les mesures dans des conditions différentes :
  • Calculatrice éteinte (hors mode examen + en mode examen)
  • Calculatrice allumée mais inoccupée (hors mode examen + en mode examen)
  • Calculatrice en train d'effectuer un calcul suffisamment long (hors mode examen + en mode examen)
    Nous choisissons en mode degrés :
    $mathjax$\sum{\sqrt[3]{e^{sin\left(Arctan\left(x\right)\right)}}}$mathjax$

Les mesures sont toutes effectuées sans aucun overclocking.

Même hors mode examen, on peut déjà remarquer que la TI-Nspire ne se met pas complètement en veille une fois éteinte. Nous mesurons sur 29 secondes une consommation moyenne phénoménale de pas moins de 0,434 mA. Donc déjà, même éteinte, ta TI-Nspire monochrome vide les piles à grande vitesse. Tu ne rêves pas, lorsque ta TI-Nspire est éteinte, elle consomme déjà bien plus que les modèles de l'épisode précédent.

Cela vient sans doute du fait que la RAM de 32 Mio doit continuer à être alimentée, sans quoi son contenu sera perdu et la calculatrice devra redémarrer (ce qui est autant que possible à éviter, puisque cela nécessite une bonne 30aine de secondes). Ici aucune possibilité de sauvegarder le contenu RAM en ROM Flash à l'extinction, puisque cette dernière ne fait également que 32 Mio de capacité.

Une fois passée en mode examen, la consommation de la machine éteinte trouve en prime le moyen de passer à 0,715 mA.

C'est dû comme tu peux l'observer sur le diagramme ci-contre aux brefs allumages de la diode examen, avec un double flash très exactement toutes les 2 secondes. Une surconsommation significative par rapport au fonctionnement hors mode examen.

Si tu oses maintenant allumer ta TI-Nspire monochrome, sans rien faire sa consommation bondit déjà à 6,556 mA, et même 7,147 mA en mode examen.

Si en prime tu as le culot de lui demander un calcul, la consommation monte à 19,931 mA, et même 20,133 mA si c'est de plus en mode examen.
TI-Nspire
hors
mode examen
en
mode examen
éteinte
0,434 mA
0,715 mA (+64,67%)
inoccupée
6,556 mA
6,725 mA (+2,59%)
calcul
19,931 mA
20,133 mA (+1,04%)

La consommation en calcul de la TI-Nspire monochrome n'est pas extraordinaire par rapport aux modèles de l'épisode précédent. Par contre, ce qui est ici effrayant, c'est la consommation absolument catastrophique lorsque la machine ne fait rien. Et comme c'est le cas la plupart du temps, Levak avait bien raison... :#roll#:

Se rendant compte du problème, Texas Instruments a fait quelques efforts au fur et à mesure des mises à jour :
  • Déjà la calculatrice s'éteint par défaut après 3 minutes d'inutilisation, réglable également à 1 minute.
    Mais comme nous avons vu plus haut, c'est très loin d'être une veille complète et la consommation continue à être non négligeable dans ce mode.
  • Et surtout, Texas Instruments a implémenté un mode hibernation qui se déclenchera après 3 jours d'inutilisation. Ici tous les composants de la calculatrice s'éteignent complètement, et cette dernière devra donc se réamorcer au prochain allumage, ce qui nécessitera une 30aine de secondes. Le délai peut être réduit, mais pas à moins de 1 jour.
    Donc à moins d'enlever les piles toi-même, à chaque fois que tu cesses d'utiliser ta calculatrice tu perds quand même au moins 1 jour de consommation continue à 0,434 mA, ce qui n'est pas rien.
Lien vers le sujet sur le forum: CCC 2021 épisode 2: consommation TI-Nspire monochrome (Commentaires: 0)

Mises à jour TI-Nspire CX II 5.3.2 et TI-Nspire CX 4.5.5

Nouveau messagede critor » 10 Aoû 2021, 22:45

14479Texas Instruments nous sort aujourd'hui de nouvelles mises à jour TI-Nspire :
  • versions 5.3.2.129 pour les TI-Nspire CX II, compilées le 29 Juin 2021, remplaçant les versions 5.3.0
  • et versions 4.5.5.79 pour les anciennes TI-Nspire CX, compilées le 25 Mai 2021, remplaçant les version 4.5.4
Déjà enfonçons les portes ouvertes. Avertissement, ces nouvelles versions ne sont pas compatibles avec Ndless r2018, et leur installation est comme à l'habitude bien évidemment sans aucun retour possible. Toute tentative de réinstaller une version inférieure te sera par la suite refusée.

Si tu choisis de mettre à jour ta calculatrice, tu renonces donc à Ndless pour une durée indéterminée, des jours, semaines, mois ou même années comme c'est déjà arrivé, nous l'ignorons.

Les machines neuves préchargées de ces versions incompatibles Ndless ne devraient pour leur part pas apparaître dans les stocks de magasins avant plusieurs mois.




Sommaire :




1) Mode examen :

Go to top

Commençons déjà par un gros point sur le mode examen. En effet certains des changements introduits par les versions précédentes 5.3.0 et 4.5.4 étaient très problématiques, possiblement pas testées avec suffisamment de sérieux puisque ces versions avaient été publiées seulement 2 semaines après leur date de compilation, un délai anormalement court.

Les versions précédentes 5.3.0 et 4.5.4 avaient introduit un très grave problème avec le mode examen international, celui que l'on appelle en allumant la calculatrice avec la touche
esc
enfoncée.

Son écran d'activation présentait jusque-là une liste de limitations de fonctionnalités toutes cochées par défaut, et ces versions en rajoutaient une 12ème permettant de bloquer le solveur numérique d'équations, certes non cochée par défaut :


Jusque-là, dans les pays où elles ne sont pas requises comme en France, l'on pouvait décocher rapidement l'ensemble de ces limitations via le raccourci
ctrl
A
comme indiqué dans notre tutoriel d'activation ainsi que le tuto-vidéo officiel.

Mais problème, cette nouvelle limitation non cochée par défaut changeait radicalement le comportement du raccourci
ctrl
A
. Au lieu de tout décocher, le raccourci commençait par tout cocher. Si si, si tu suivais avec les versions 5.3.0 et 4.5.4 le tutoriel officiel dédié à la France, tu te retrouvais avec l'intégralité des limitations ne concernant pas la France au lieu d'aucune... :mj:

Nous avions bien évidemment signalé le problème dès la sortie, et on ne nous avait pas laissé beaucoup d'espoir que quelque chose de spécifique à la France puisse être pris en compte...

Et bien surprise, si ! Le comportement du raccourci
ctrl
A
a été modifié sur les nouvelles versions 5.3.2 et 4.5.5, désormais lorsque toutes les limitations ne sont pas cochées, son comportement est de commencer par tout décocher ! :bj:

Génial pour les utilisateurs français, 2 touches de moins à presser pour atteindre la configuration optimale du mode examen, et surtout un très dangereux piège qui disparaît lors de cette procédure ! :D

Et en passant, le tuto d'activation officiel de Texas Instruments redevient donc valide, il n'y aura pas à le supprimer. ;)


Puisque nous avons parlé des limitations en mode examen, nous nous rendons compte en passant que les nouvelles versions 5.3.2 et 4.5.5 en rajoutent maintenant une 13ème, la possibilité de désactiver l'utilisation des curseurs de variables, certes non cochée par défaut.

Ce n'était pas le seul problème introduit en mode examen par les versions 5.3.0 et 4.5.4. La fenêtre d'activation du mode examen permet de choisir une unité d'angle. Il ne s'agit absolument pas d'une contrainte, l'unité d'angle peut librement être changée par la suite en mode examen. Il s'agit donc d'une unité d'angle par défaut et Texas Instruments a voulu clarifier cela, intitulant l'option en question non plus simplement "Réglage d'angle", mais "Réglage d'angle par défaut".

Ce nouveau message occupant davantage de place venait casser complètement l'organisation spatiale des éléments dans la fenêtre en question. En effet la largeur accrue générait des retours à la ligne intempestifs, et gênait même une fois défilé la remontée tout en haut de la fenêtre, amenant à cocher la 1ère option à l'aveugle...

Cela ne se produisait que sur les TI-Nspire CX CAS car les listes déroulantes y sont beaucoup plus larges, à cause de la présence de l'option Arithmétique exacte dans les choix concernant le moteur de calcul.

Ici aussi, Texas Instruments semble avoir soigneusement traité notre signalement de ce problème.

Le changement problématique a visiblement été corrigé sur la version 5.3.2, on retourne à une formulation plus courte.


Au sujet du moteur de calcul et des choix proposés à son sujet lors de l'activation du mode examen sur TI-Nspire CX II CAS, nous remarquons en passant que la mauvaise traduction dans ce contexte de l'Anglais 'On' vers le Français 'Sur', justement signalée à la même occasion, a été corrigée correctement par un 'Activé'.




2) TI-Basic et TI-Innovator Hub 1.5 :

Go to top

13698La sortie des versions précédentes 5.3.0 et 4.5.4 avait été accompagnée de la publication d'une mise à jour 1.5 pour le TI-Innovator Hub, interface externe programmable pour les projets STEM.

Nous avions été très surpris lors de notre test de cette version, constatant qu'il y avait en effet beaucoup de nouveautés sur le TI-Innovator Hub, mais que bizarrement les menus de programmation associés sur TI-Nspire CX II et TI-Nsire CX n'étaient pas modifiés par les mises à jour publiées en même temps.


En langage TI-Basic c'était certes contournable. Dans ce langage en effet, les menus de programmation servent juste à saisir rapidement les lignes de commandes qui vont être envoyées au TI-Innovator Hub. En cas de nouveau mot de vocabulaire non présent au menu (ici entre autres TEMPO, PATTERN, RATE, AND, COLLECT, ...), il suffisait juste de le saisir à la main au clavier alphabétique.

Quoi qu'il en soit, avec les dernières versions 5.3.2 et 4.5.5, tout le nouveau vocabulaire du TI-Innovator Hub 1.5 a maintenant été rajouté aux menus de l'éditeur de programme ! :bj:




3) Python :

Go to top

Nous passons maintenant au Python et donc aux seules TI-Nspire CX II.

Il y avait ici le même genre de problème avec le TI-Innovator Hub 1.5, les dernières nouveautés n'étaient pas accessibles aux menus de l'éditeur Python.

Un problème bien plus embêtant ici car beaucoup moins facilement contournable. Ici les menus ne permettent que d'appeler des fonctions des modules associés ti_innovator, ti_hub et ti_rover, masquant complètement les lignes de commandes construites pour envoi au TI-Innovator Hub.

Difficile donc d'intervenir pour les corriger avec les nouveautés...

Avec les versions 5.3.2 et 4.5.5, les nouvelles possibilités TI-Innovator Hub 1.5 sont maintenant gérées en Python.

Pour cela, ti_hub passe de la version 1.1 à la version 1.2, avec maintenant le paramètre de tempo disponible pour les sorties audio.


ti_rover, le module dédié au pilotage du TI-Innovator Rover, passe également de la version 1.1 à la version 1.2.

Il nous offre une nouvelle fonction, ranger_time().


Il y avait un bug bien embêtant dans l'interpréteur Micropython des TI-Nspire CX II, ayant lui aussi fait l'objet d'un signalement de notre part. La fonction d'arrondi round() ne gérait pas le type entier, renvoyant alors une exception 'NotImplemented'.

Bien évidemment demander l'arrondi d'un entier n'a certes aucun intérêt. Mais dans le cadre du fonctionnement interne d'un script, il n'est pas impossible que de temps en temps tes appels tombent sur des valeurs entières ou même des types entiers selon comment tu as codé tes calculs.

Une solution était d'insérer un correctif de notre part dans l'ensemble de tes scripts Python concernés :
Code: Tout sélectionner
round_ = round

def round(n, p=0):
  return n if isinstance(n, int) else round_(n, p)

Et bien plus besoin de t'embêter avec ce correctif, ici encore selon nos tests Texas Instruments a été à l'écoute des retours et a corrigé ! :bj:




Par contre, il y a toujours les problèmes avec les ressources-images que tu importes dans tes documents via l'éditeur Lua du logiciel TI-Nspire.

Elles sont affichées correctement par les scripts Lua, mais sont inversées verticalement lors d'un affichage par les scripts Python via le module ti_image.

Pire, sur certaines images nous avons même avec une distorsion horizontale en prime... :(




4) Bilan :

Go to top

Les mises à jour précédentes 5.3.0 et 4.5.4 nous avaient vraiment fait mauvaise impression. Absence de correction des bugs et problèmes déjà signalés, accompagnée de l'introduction d'une collection de nouveaux bugs et problèmes clairement visibles au niveau de l'utilisateur final.

À peine testées (seulement 2 semaines de validation après la dernière compilation), ces mises à jour nous donnaient l'impression d'avoir pour une fois été bâclées, sorties à la va-vite, possiblement par sous-estimation de l'impact possible des rares changements, essentiellement des changements mineurs apportés à l'interface du mode examen.

Après la pandémie a pu jouer un rôle là-dedans, ou peut-être encore y avait-il des dates à respecter par rapport à certains examens dans le monde.

Avec les dernières mises à jour 5.3.2 et 4.5.5, c'est littéralement le jour après la nuit. La quasi-totalité des signalements de bugs et problèmes que nous avons effectués ont visiblement été minutieusement traités.

De l'excellent travail cette fois-ci, bravo ! :bj:

Souhaitons que les bonnes habitudes soient conservées. ;)




5) Téléchargements :

Go to top

Lien vers le sujet sur le forum: Mises à jour TI-Nspire CX II 5.3.2 et TI-Nspire CX 4.5.5 (Commentaires: 5)

Cahier d'activités BBC micro:bit et TI-Nspire CX II CAS

Nouveau messagede critor » 04 Aoû 2021, 10:34

12212Texas Instruments fait 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. :)

Sur les calculatrices TI-Nspire CX, TI-83 Premium CE et TI-84 Plus CE, il était possible de connecter 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 le gros avantage d'être utilisables directement avec le langage Python des derniers modèles TI-Nspire CX II, TI-83 Premium CE Edition Python et TI-84 Plus CE Python, faisant de l'écosystème Texas Instruments le seul Python connecté ! :bj:

Un superbe support pour les enseignements scientifiques au lycée maintenant qu'ils 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 peuvent 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
129591295812957Révolution pour la rentrée 2020, plus besoin de t'équiper en périphériques TI-Innovator pour bénéficier de ces formidables avantages. En effet, les TI-83 Premium CE Edition Python et TI-84 Plus CE Python Edition se sont vu 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).

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, disponible par exemple chez Lindy et que nous avons également testé avec succès.

13701Début avril 2021, Texas Instruments sortait enfin une version compatible avec les TI-Nspire CX II ! :favorite:

1296212961La carte micro:bit dans sa version 1 présente les caractéristiques et capacités suivantes :
  • processeur 32 bits ARM Cortex-M0 cadencé à 16 MHz
  • mémoire de stockage Flash d'une capacité de 256 Kio
  • mémoire de travail RAM d'une capacité de 16 Kio permettant un heap (tas) Python de 8,24 Ko
  • 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
1345012961Depuis début 2021 est disponible la nouvelle carte micro:bit v2.

Elle utilise un tout nouveau microcontrôleur, le nRF52833, toujours de chez Nordic Semiconductor. Cette fois-ci nous avons des spécifications qui devraient nous permettre de respirer :
  • processeur 32 bits ARM Cortex-M0 cadencé à 64 MHz au lieu de 16 MHz soit 4 fois plus rapide ! :bj:
  • mémoire de stockage Flash d'une capacité de 512 Kio au lieu de 256 Kio soit 2 fois plus grande ! :bj:
  • mémoire de travail RAM d'une capacité de 128 Kio au lieu de 16 Kio soit 8 fois plus grande ! :bj:

Elle apporte sur cette même face plusieurs nouveautés ou changements :
  • ajout d'un haut-parleur
  • ajout d'un microphone MEMs
  • bouton poussoir qui ne sert plus seulement à la réinitialisation (reset), mais permet désormais également d'éteindre la carte (appui long) et de la rallumer (appui court)
  • l'antenne Bluetooth qui devient compatible BLE Bluetooth 5.0, contre seulement 4.0 auparavant
1344912962D'autres nouveautés ou changements sont également présents sur l'autre face :
  • ajout d'une diode DEL indiquant l'état du microphone
  • ajout d'un bouton tactile sur le logo micro:bit, voici pourquoi il perd sa couleur au profit de contacts métalliques

Et excellente surprise par rapport à la solution micro:bit précédente pour TI-83 Premium CE et TI-84 Plus CE, la solution micro:bit pour TI-Nspire CX II était non seulement compatible avec la dernière micro:bit v2, mais en prime gérait également d'origine des spécificités de cette dernière comme par exemple le haut-parleur intégré ! :bj:

Face au formidable succès de la TI-83 Premium CE en France, peut-être te sentais-tu un peu livré à toi-même pour prendre en main la micro:bit avec ta TI-Nspire CX II ?

Et bien pour cette rentrée 2021, on a visiblement pensé à toi. Un cahier d'activités tout spécialement dédié sera disponible dès le 2 septembre aux éditions Eyrolles, Enseignement de spécialité de Mathématiques - Activités pédagogiques avec la TI-Nspire CX II-T CAS et la carte BBC micro:bit.

Disponible dès maintenant en précommande, l'ouvrage est coécrit par :
  • Jean-Baptiste Civet, formateur T3 pour Texas Instruments, professeur de Mathématiques au collège du Roy d'Espagne à Marseille, et Président de la Régionale APMEP d'Aix-Marseille
  • Boris Hanuš, formateur T3 pour Texas Instruments, professeur agrégé bivalent en Mathématiques et NSI au lycée Condorcet à Limay

Ils y vont comme à leur habitude de façon progressive, commençant par te familiariser avec la nouvelle interface de développement Python de la calculatrice TI-Nspire CX II-T CAS et de son logiciel.

Des activités exploitant tout le potentiel de la TI-Nspire CX II-T CAS et de la BBC micro:bit sont déroulées sur 5 chapitres, construits à chaque fois pour conduire à l'objectif final de production algorithmique. Ils font appel à différents thèmes mathématiques :
  1. cryptage RSA
  2. encadrement de valeurs approchées de nombres rationnels et de racines carrées
  3. représentation des nombres réels en binaire
  4. encadrement du nombre Pi à l'aide de di­fférentes méthodes historiques
  5. planche de Galton
Certaines activités t'inviteront donc à connecter une ou même plusieurs cartes BBC micro:bit.

Comme à leur habitude, les différentes chapitres sont enrichis de QR Codes permettant facilement d'aller télécharger des ressources, consulter des tuto-vidéos, ou récupérer les corrections.

L'ouvrage est s'adresse principalement :
  • aux élèves de première et terminale suivant les spécialités Mathématiques ou NSI
  • aux enseignants de ces spécialités, qui pourront même très facilement poser tout ou partie des activités concernées, juste à faire attention lors de la copie à masquer les éventuels QR Codes de corrections si approprié


Lien : achat (en précommande jusqu'au 2 septembre 2021)

Téléchargements :
Lien vers le sujet sur le forum: Cahier d'activités BBC micro:bit et TI-Nspire CX II CAS (Commentaires: 0)

Les TI-Nspire CX II-T 5.3 primées au Comenius EduMedia 2021

Nouveau messagede critor » 06 Juil 2021, 12:55

Le prix Comenius EduMedia, du nom du philosophe, grammairien et pédagogue tchèque, est une récompense prestigieuse à rayonnement européen décernée chaque année depuis 1995 par l'allemand GPI (Gesellschaft für Pädagogik, Information und Medien; soit société pour l'éducation, l'information et les médias), à des produits multimédias d'intérêt pédagogique ou didactique exceptionnel.

La remise des prix de l'édition 2021 vient tout juste d'avoir lieu ce lundi 5 juillet à Berlin au cinéma-théâtre Chamäleon, cette année encore en petit comité, contexte sanitaire oblige.

Pour son édition 2021, 170 sceaux ont été attribués dans diverses catégories, dont 10 dans la catégorie Naturwissenschaftliche Bildung (enseignement scientifique).

Texas Instruments a l'honneur de recevoir dans cette catégorie un sceau pour la dernière mise à jour 5.3 de ses TI-Nspire CX II-T et TI-Nspire CX II-T CAS, au motif des remarquables apports suivants :

1304511828Le constructeur peut donc désormais apposer le sceau Comenius EduMedia Siegel 2021 sur ses TI-Nspire CX II-T, peut-être donc un nouvel emballage à venir dans les prochaines semaines.

Cela fait maintenant pas moins de 7 années consécutives que Texas Instruments voit ainsi ses efforts pour l'innovation pédagogique récompensés par cette distinction, félicitations ! :bj:

Source : https://comenius-award.de/wp-content/up ... 7-2021.pdf via https://comenius-award.de/
Lien vers le sujet sur le forum: Les TI-Nspire CX II-T 5.3 primées au Comenius EduMedia 2021 (Commentaires: 0)

Module Python afficheur 7 segments TM1637 TI-Nspire CX II

Nouveau messagede critor » 02 Juin 2021, 10:27

12212Texas Instruments fait 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. :)

Sur les calculatrices TI-Nspire CX, TI-83 Premium CE et TI-84 Plus CE, il était possible de connecter 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 le gros avantage d'être utilisables directement avec le langage Python des derniers modèles TI-Nspire CX II, TI-83 Premium CE Edition Python et TI-84 Plus CE Python, faisant de l'écosystème Texas Instruments le seul Python connecté ! :bj:

Un superbe support pour les enseignements scientifiques au lycée maintenant qu'ils 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 peuvent 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

7757Le TI-Innovator Hub dispose de plusieurs actionneurs intégrés :
  • LIGHT : diode rouge
  • COLOR : diode RGB
  • SOUND : haut-parleur

En plus de ceci, le TI-Innovator Hub te permet de connecter des actionneurs externes :
  • soit sur ses ports OUT 1, OUT 2 et OUT 3 des actionneurs Grove
  • soit sur son port breadboard à 10 broches programmables

Nombre d'actionneurs différents sont gérés et contrôlables directement d'une simple ligne.

Commençons déjà par les actionneurs les plus simples supportés aussi bien au format Grove que breadboard :
  • LED : diode
  • SPEAKER : haut-parleur
  • DCMOTOR : moteur à courant continu
  • BUZZER : buzzer
  • RELAY : relais
  • SQUAREWAVE : générateur de signal rectangulaire
7591139557517


D'autres actionneurs plus évolués sont supportés uniquement au format Grove :
  • POWER : transistor de puissance
  • VIB.MOTOR : moteur à vibrations
  • SERVO : servomoteur (uniquement sur le port OUT3 dédié à l'alimentation en 5 Volts)
75897588


Et d'autres uniquement au format breadboard :
  • RGB : diode RGB
  • SERVO.CONTINUOUS

Le TI-Innovator Hub te permet également d'utiliser des actionneurs non supportés, aussi bien analogiques (ANALOG.OUT) que numériques (DIGITAL.OUT).

Pour les plus simples une connexion Grove peut suffire, tu auras juste à calculer correctement la valeur à écrire.

Pour les actionneurs les plus complexes il faut écrire un véritable pilote.

Parmi ce large éventail d'actionneurs directement gérés par le TI-Innovator Hub, on pouvait regretter l'absence d'afficheurs à segments.

D'autant plus dommage qu'il existe des afficheurs à segments utilisant le format Grove et donc déjà connectables directement...

7601Les afficheurs à segments sont constitués de cellules permettant chacune d'afficher un chiffre ou une lettre. On distingue :
  • les cellules numériques : dédiées à l'affichage de chiffres, elles sont constituées de 7 ou 8 segments (selon si le chiffre peut être accompagné du séparateur décimal)
  • les cellules alphanumériques : pouvant afficher à la fois des chiffres et des lettres, elles sont constituées de 14 segments

Aujourd'hui nous allons nous intéresser plus particulièrement aux afficheurs numériques à 4 cellules.

On pourrait imaginer relier directement les différentes broches de l'afficheur au port breadboard du TI-Innovator Hub, puis ensuite coder un pilote comme évoqué.

C'est certes envisageable, mais c'est une solution très lourde dans le sens où les afficheurs bruts nécessitent un grand nombre de broches, 12 pour celui ci-contre.

Outre la lourde connectique que l'utilisateur aura alors à gérer (de préférence sans se tromper), cela occuperait de plus entièrement le port breadboard du TI-Innovator Hub, empêchant ainsi l'utilisateur de brancher autre chose.


1396213963Il existe toutefois des interfaces permettant de réduire le nombre de broches pour l'utilisateur, comme par exemple le contrôleur TM1637. Il permet de réduire le nombre de broches de contrôle à seulement 2, DIO et CLK.

En rajoutant bien évidemment l'alimentation et la masse, cela ne fait malgré tout que 4 broches, soit une utilisation très légère et raisonnable du connecteur breadboard de ton TI-Innovator Hub.

1395613957Double avantage, ce brochage est également compatible avec le format Grove. :bj:

On trouve ainsi des afficheurs munis du contrôleur TM1637 aussi bien au format Grove qu'au format breadboard.

Les spécifications du TM1637 sont disponibles publiquement, et il existe déjà un pilote écrit en langage C++ pour cartes Arduino.
Toutefois les TI-Nspire CX II ne gèrent hélas pas le langage C++, du moins pas officiellement...

Et bien justement Hans-Martin Hilbig, formateur T3 pour Texas Instruments, vient de nous réaliser un nouvel exploit : une réécriture intégrale du pilote C++ du TM1637 mais cette fois-ci dans le langage Python officiellement supporté sur les TI-Nspire CX II ! :D

Voici donc M1637driver1.py, un module Python additionnel rajoutant à ta TI-Nspire CX II le support des afficheurs numériques à contrôleur TM1637 ! :bj:

Le module est à installer de préférence dans le dossier /PyLib/ de ta calculatrice. Il est alors rajouté au menu des modules Python et ainsi directement importable pour tes projets.

13958Nous allons te guider rapidement dans la prise en main de l'afficheur TM1637 et de son pilote.

Si tu utilises la version Grove de l'afficheur, tu peux la connecter aux ports OUT 1 ou OUT 2 du TI-Innovator Hub.
Attention, la mise à jour TI-Innovator Hub 1.5 est nécessaire au bon fonctionnement du TM1637 en format Grove.


Si tu utilises la version breadboard, il te faudra réaliser les connexions suivantes :
  • BB1 : clk
  • BB2 : dio
Note que dans les deux cas l'afficheur TM1637 génère une consommation importante. Pour en garantir le bon fonctionnement tu devras connecter ton TI-Innovator Hub à une source d'alimentation USB externe via son port micro-USB, batterie ou secteur.

M1637driver1.tns n'utilise visiblement pas les nouvelles possibilités de l'OS 5.3 permettant de lister ses fonctions au menu, alors nous allons te les expliquer rapidement.

Tout d'abord il te faut construire un objet Python pour pouvoir ensuite contrôler ton afficheur. Au choix selon la connexion que tu as réalisée :
  • mydis = TM1637display('OUT 1')
  • mydis = TM1637display('OUT 2')
  • mydis = TM1637display('BB')
L'objet alors obtenu te fournit différentes méthodes pour piloter ton afficheur.

Mais première chose à faire obligatoirement, régler la luminosité de l'afficheur avec la méthode .setBrightness(niveau).
niveau peut aller ici de 0 à 6, et pour la luminosité maximale nous appellerons donc myset.setBrightness(6).

L'affichage se passe via la méthode .setSegments(données). données est ici une liste de 4 nombres entiers, un par cellule donc.

Dans un premier temps, commençons par afficher des chiffres. Il n'y a ici pas encore besoin de comprendre le format de la liste, car nous avons une méthode .encodeDigit(chiffre) permettant d'en générer automatiquement le contenu.

13960On peut par exemple s'en servir pour construire une fonction rudimentaire permettant d'afficher un nombre :
Code: Tout sélectionner
def showNumber(num, dis):
  l = []
  while num:
    l.append(dis.encodeDigit(num % 10)
    num //= 10
  l.reverse()
  dis.setSegments(l)

Et voilà donc ci-contre par exemple le résultat de l'appel showNumber(1637, mydis).

Tentons maintenant d'aller plus loin et de contrôler directement les segments pour afficher librement tout ce que l'on veut, et entre autres des lettres.

Les 4 nombres de la liste passée à .setSegments() indiquent en binaire les segments à allumer, selon la numérotation ci-contre.

Voilà pourquoi par exemple l'appel .encodeDigit(1) nous retourne 6, c'est-à-dire en binaire 0b00000110 avec les bits 1 et 2 armés pour allumer les 2 segments permettant d'afficher le chiffre 1.

Petit cas particulier, le bit 7 si armé est pris en compte uniquement pour le 2ème nombre de la liste, et permet alors d'allumer le séparateur horaire : au centre de l'afficheur.

13959Maintenant que nous avons donc compris le format, nous ne sommes plus limités aux simples chiffres et pouvons enfin nous amuser à afficher librement tout ce que nous voulons, comme par exemple le mot done :
Code: Tout sélectionner
l = [
  0b01011110, #d
  0b00111111, #O
  0b01010100, #n
  0b01111001, #E
]

mydis.setSegments(l)

Ta TI-Nspire CX II peut donc enfin exploiter pleinement en Python un afficheur 4 chiffres à 7 segments, de tout nouveaux horizons pour tes projets ! :D


Téléchargements :

Source : https://resources.t3europe.eu/t3europe- ... 86f390a4a7
Lien vers le sujet sur le forum: Module Python afficheur 7 segments TM1637 TI-Nspire CX II (Commentaires: 0)

Connectivité Nspire CX II dans ton navigateur Chrome OS

Nouveau messagede critor » 10 Mai 2021, 10:20

Historiquement, gérer le contenu de ta TI-Nspire nécessite l'utilisation d'un logiciel TI-Nspire sur ordinateur, au choix :
  • le logiciel de connectivité TI-Nspire Computer Link - entièrement gratuit
  • les logiciels TI-Nspire CX ou TI-Nspire CX CAS complets (connectivité + émulateur) dans leur édition élève ou enseignant - nécessitent un numéro de licence accompagnant chaque calculatrice achetée et utilisable 1 ou 2 fois

Toutefois ces logiciels n'étaient disponibles que pour les systèmes d'exploitation Windows et macOS. Et ce alors que de plus en plus d'appareils sont de nos jours munis d'un autre système d'exploitation incompatible, même les ordinateurs portables où il est de moins en moins rare de trouver Android ou Chrome OS.

Mais les problèmes sont hélas très loin de s'arrêter à l'usage d'un système d'exploitation exotique ; lors de la sortie des TI-Nspire CX II Texas Instruments a cessé de mettre à jour le logiciel TI-Nspire Computer Link qui avait l'avantage d'être à la fois gratuit et léger. Ce dernier n'est donc pas compatible avec les TI-Nspire CX II. :'(

La communication avec les TI-Nspire CX II nécessite donc obligatoirement le lancement d'un des logiciels TI-Nspire CX, logiciels très lourds à télécharger (plusieurs 100aines de Mégaoctets) et gourmands en ressources, mettant ainsi pas mal de temps à se lancer selon la machine. Il est d'autant plus ridicule d'avoir ainsi à lancer tout le système d'émulation qui va avec si c'est pour un simple transfert de fichier avec ta calculatrice... :mj:

Ce n'est pas le seul problème, puisque le numéro de licence nécessaire à l'utilisation de ces logiciels au-delà d'une période d'essai unique de quelques mois par machine, pénalise :
  • ceux qui pour une raison ou une autre sont amenés à utiliser régulièrement des ordinateurs différents
  • ceux qui changent d'ordinateur en cours de scolarité
  • ceux qui perdent ou se débarrassent de l'emballage sans avoir pris le soin de conserver le numéro de licence
  • ceux qui achètent leur TI-Nspire CX II d'occasion, avec donc un numéro de licence déjà utilisé

Texas Instruments nous avait déjà démontré son intérêt envers les ordinateurs ChromeBook faisant tourner le système d'exploitation Chrome OS, en sortant :

Aujourd'hui Texas Instruments lance sa solution de connectivité TI-Nspire CX II pour ChromeOS.

Mais surprise, il ne s'agit pas cette fois-ci d'une application mais d'un site Internet, nspireconnect.ti.com, tirant donc profit de la technologie WebUSB du navigateur Chrome.

Oui oui, fini les logiciels lourds à télécharger, installer et lancer pour un simple transfert de fichier ; tu accèdes en 1 clic à une interface dédiée te permettant de :
  • prendre une capture de l'écran de ta calculatrice
  • lui transférer des fichier .tns
  • mettre à jour son système d'exploitation
Pas de numéro de licence à saisir non plus ; enfin une solution de connectivité TI-Nspire CX II librement utilisable ! :bj:

En théorie, nspireconnect.ti.com devrait être utilisable sur tout navigateur Chrome ainsi que n'importe quel autre navigateur basé sur le moteur Chromium (Microsoft Edge, Opera, ...).

En pratique toutefois, Texas Instruments a tristement bridé sa solution. L'interface en ligne refusera de se lancer si elle détecte un système d'exploitation autre que ChromeOS sur ton ordinateur. :'(

Si tu n'es pas sous ChromeOS, à ce jour donc la connectivité TI-Nspire CX II conserve hélas l'intégralité de ses lourds inconvénients... :mj:

Lien : https://nspireconnect.ti.com/#/
Lien vers le sujet sur le forum: Connectivité Nspire CX II dans ton navigateur Chrome OS (Commentaires: 6)

Dumping OS TI-Nspire CX II CAS 5.0.0.1509

Nouveau messagede critor » 05 Mai 2021, 12:50

Pour la rentrée 2019 sortaient les TI-Nspire CX II. La toute première mise à jour publiée par Texas Instruments fut la version 5.0.0.1683 compilée le 22 Mars 2019.

Comme tu devines sans doute à la numérotation il y a eu bien des versions avant celles-ci, que nous avions testées et répertoriées pour toi au salon Didacta 2019, ainsi qu'à la conférence T3IC 2019.

Nous sont connues jusqu'à ce jour :
1062810815104381044010810


Il y a quelques jours était réalisé le tout premier dumping d'un OS TI-Nspire CX II. Ont ainsi été sauvegardées les versions 5.0.0.1288, soit les plus anciennes connues jusqu'à ce jour ! :bj:

10895Nos premières TI-Nspire CX II CAS et TI-Nspire CX II-T CAS (révisions matérielles respectives AE et AF) étaient venus préchargés d'une version 5.0.0.1509, et nous avions justement pris soin de ne pas mettre à jour l'une des deux calculatrices dans l'espoir du jour où le dumping deviendrait possible... ;)

Voici donc enfin aujourd'hui le dumping de l'OS TI-Nspire CX II CAS 5.0.0.1509, autre témoin historique du développement des TI-Nspire CX II sauvé de la disparition ! :bj:

Attention toutefois, il ne s'agit que de la version CAS, et elle ne sera donc pas installable sur un modèle TI-Nspire CX II ou TI-Nspire CX II-T.

De plus, si ta calculatrice a déjà été mise à jour en version 5.1 ou supérieure, l'installation de cette ancienne version sera également refusée.

Pour l'explorer, il nous faudrait vraiment un émulateur de TI-Nspire CX II, ce manque se fait de plus en plus douloureusement sentir...

Téléchargement : OS 5.0.0.1509 pour TI-Nspire CX II CAS - TI-Nspire CX II-T CAS - TI-Nspire CX II-C CAS
Lien vers le sujet sur le forum: Dumping OS TI-Nspire CX II CAS 5.0.0.1509 (Commentaires: 3)

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
986 utilisateurs:
>951 invités
>30 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)