Page 1 of 1

Module Arduino pour charger scripts sur fx-92+ Spé Collège

Unread postPosted: 11 Jan 2022, 12:15
by critor
13440
Sortie pour la rentrée 2018, la formidable
fx-92+ Spéciale Collège
a su gagner le cœur des collégiens et de leurs enseignants.

De façon toujours exclusive à ce jour, il s'agit en effet d'un modèle programmable dans un langage de tracé relatif comparable au
Scratch
ou encore au
Logo
.

Nombre de collégiens et collégiennes rivalisent d'ingéniosité et de talent pour y tracer de superbes chefs-d'œuvre. Rappelons d'ailleurs à ce sujet que le concours de dessins de
Noël 2021
par
Casio
est prolongé jusqu'au
31 janvier
, avec de superbes lots à gagner dont 2 consoles de jeux
Nintendo Switch
.

Mais tout aussi géniale soit-elle, revers de la médaille la
fx-92+ Spéciale Collège
souffre également de 3 gros inconvénients dans ce contexte :
  • D'une part, les
    1,7 Ko
    de mémoire disponibles sont partagés entre les différentes applications.
    C'est-à-dire que si tu saisis un script dans l'application
    Algorithmique
    puis changes d'application, ton script sera immédiatement perdu et devra être intégralement resaisi pour être utilisé.
    Si c'est un script dont tu peux avoir fréquemment besoin cela deviendra vite lourd pour toi.
    11394
  • De plus, l'application
    Algorithmique
    ne gère qu'un seul et unique script à la fois.
    Si il y a plusieurs scripts dont tu peux avoir fréquemment besoin, citons par exemple pour atteindre plus rapidement le pluriel notre traceur de graphiques, alors tu devrais sans arrêt effacer le script courant et resaisir le nouveau script nécessaire.
  • D'autre part, la
    fx-92+ Spéciale Collège
    n'a pas non plus de mémoire persistente.
    C'est-à-dire que l'intégralité des données dont le script courant que tu as éventuellement saisi seront perdues à la prochaine extinction de la calculatrice.
    Et ne crois pas qu'il suffise de ne pas éteindre la calculatrice, car celle-ci le fera toute seule après un certain délai d'inutilisation, réglé par défaut à 10 minutes et modifiable à 60 minutes.
L'émulateur disponible pour ordinateur a un comportement similaire ; toutes les données sont perdues à sa fermeture.

Il ne s'agit pas de bugs, ce sont des choix effectués sciemment par le constructeur, souhaitant éviter que la calculatrice puisse servir à introduire des données personnelles interdites aux examens en France, et donc éviter à avoir à ajouter un mode examen ainsi qu'une diode associée qui augmenteraient les coûts et donc le prix.

Précisons que nous ne sommes pas d'accord. Objectons en effet que :
  • L'application
    Algorithmique
    ne permet pas de saisie libre. En effet elle ne prend pas la forme d'un éditeur de texte, mais un éditeur de blocs. Les éléments à insérer dans le script sont à choisir dans un menu ; on ne peut pas saisir ce que l'on veut.
  • D'autre part, nous ne disposons même pas d'un clavier alphabétique sur ce modèle. Nous n'avons accès qu'à 9 lettres de l'alphabet :
    A
    ,
    B
    ,
    C
    ,
    D
    ,
    E
    ,
    F
    ,
    M
    ,
    X
    et
    Y
    . Bon courage pour réussir à saisir quelque chose d'exploitable avec ça...

9803La
fx-92+ Spéciale Collège
ne conserve donc pas les données, mais par contre, elle permet de les exporter. Il te suffit de taper
SECONDE
OPTN
pour un obtenir un
QR Code
reprenant l'ensemble des données de l'application courante.

Le
QR Code
contient en pratique l'adresse d'une visionneuse en ligne sur le site de
Casio
, avec les données mémoire fournies via un paramètre dans une écriture hexadécimale.

Faut-il encore pouvoir décoder le paramètre hexadécimal en question, et justement dans le contexte de l'application
Algorithmique
nous avons déjà documenté l'ensemble des jetons pouvant le composer.

Par contre si la calculatrice permettait ainsi officiellement de conserver une copie de ses données, inversement aucune possibilité officielle de les importer puisque la calculatrice ne disposait d'aucun port de communication. :'(

Cela ne changeait donc à la nécessité de resaisir régulièrement ses scripts, ce qui pourra se révéler très fastidieux selon la longueur des scripts en question.

Dans le contexte du défi de tracé dans le cadre de notre concours de rentrée 2019 en partenariat avec
Casio
et
Planète Casio
, nous avions conçu de quoi charger rapidement un script dans l'émulateur de
Casio
sans avoir à cliquer toutes les touches une par une, et un des participants avait également conçu un outil similaire en
Python
. Les outils en question :
  • prenaient en paramètre la chaîne hexadécimale décrivant le script
  • la découpaient en jetons
  • pour chaque jeton cliquaient automatiquement dans la fenête de l'émulateur les touches de menu permettant d'insérer l'instruction associée
Des scripts de près de 900 octets pouvaient ainsi être saisis en seulement quelques secondes ! :bj:

Mais voilà, cela ne fonctionnait qu'avec l'émulateur de la calculatrice sur ordinateur.

Sur la véritable calculatrice, toujours aucune possibilité de charger un script autrement qu'en le saisissant intégralement à la main touche après touche.

Et bien nous y sommes enfin aujourd'hui, nous conçoit un module de chargement de script fonctionnant cette fois-ci directement avec ta calculatrice
fx-92+ Spéciale Collège
! :bj:

Le module est conçu autour d'une carte
Arduino
et nécessite quelques modifications pas bien complexes à ta calculatrice.

Il reprend exactement le même principe que nous venons de te décrire, à savoir qu'il va déclencher électriquement chaque touche nécessaire à la saisie automatique du script que tu souhaites charger.

Pour cela
adityachugh02
a dû commencer par analyser et documenter la matrice clavier de la calculatrice.

Les claviers matriciels de nos claculatrices sont arrangées électroniquement en rangées et colonnes, qui ne respectent pas toujours exactement la répartition physique visible des touches. C'est l'activation simultanée des contacts électriques correspondant à une rangée et une colonne qui permettent d'identifier la touche pressée.

Suite au résultat ci-dessous de son travail, pour pouvoir activer automatiquement des touches il suffit alors de souder des fils sur les contacts comme illustré ci-contre :
Voici le résultat de son travail sur
fx-92+ Spéciale Collège
:


Le module peut être chargé avec jusqu'à 5 scripts différents, et 5 boutons permettent alors de choisir le script à charger sur la calculatrice.

Tu peux donc avoir sous la main jusqu'à un maximum de 5 scripts préférés.

Comme tu pourras le noter, la saisie de 10aines de lignes de script est alors extrêmement rapide : :bj:


On peut par contre regretter que le module ne reconnaisse d'origine aucune des 2 formes officielles d'écriture du langage de programmation de
Casio
:
Si tu souhaites partager des scripts pouvant directement être mis dans la mémoire de ce module, il va te falloir les transcrire dans une forme différente documentée sur la page du projet. C'est bien dommage et cela risque de nuire grandement à la popularité du projet.

Rappelons également que comme pour tout module externe, l'usage de cet appareil est strictement interdit
pendant
les épreuves d'examens en France. Toutefois, absolument rien ne t'interdit de l'utiliser pour charger ton script préféré dans l'heure précédant le début de l'épreuve. ;)


Les plans pour te fabriquer ou faire fabriquer le module sont disponibles sur la page du projet. Dans tous les cas, toutes nos félicitations pour cette superbe réalisation tant attendue dont nous avions longtemps rêvé ! :bj:

Source
:
https://github.com/adityachugh02/casio-external-memory/ via https://www.planet-casio.com/Fr/forums/ ... -fx92.html