Je continue la série de revue de petits utilitaires que j'ai codé en open-source sur mon gitlab https://gitlab.com/cb-embedded-open. Aujourd'hui nous allons voir rapidement une petite calculatrice scientifique programmable pour l'électronique codée en javascript. Le projet disponible à cette adresse : https://gitlab.com/cb-embedded-open/electronic-calculator
Gitlab pages: https://electronic-calculator-cb-embedded-open-83a45636cca52caf1d6f7a8f.gitlab.io/
Fonctionne sur téléphone portable dans chrome. Supporte le retour haptique des touches ainsi que le passage en plein écran (cliquer sur le bouton clignotant).
Le mode de calcul basique, avec gestion des préfixes SI pour le calcul: les résultats sont données en utilisant le préfixe SI le plus proche. La calculatrice dispose de plusieurs mémoires et d'un accumulateur.
La frappe au clavier écrit directement dans l'invite de série. L'invite de série utilise la méthode eval() et permet la saisie rapide de calculs complexes directement. Il est tout à fait possible d'utiliser des variables. Attention, les variables k, M, G, p, n, pi, u et m sont directement liées aux constantes mathématiques et aux préfixes SI. Il ne faut pas les redéfinir. Les Autres variables peuvent être modifiés sans problèmes.
Il est également, en plus des variables, possible de définir des fonctions en utilisant la syntaxe des lambda javascript: circle_area = r => pi * r *r.
Mode avec gestion des différentes bases. (Binaire, hexadécimal ou base arbitraire).
Ce mode s'appuie sur l'interpréteur javascript. On utilise 0x et 0b pour préciser la base.
Permet d'avoir un scratchpad et de définir des équations de fonctions pour le mode graphique. Il est également possible d'ajuster les plages des curseurs du mode graphique.
Différents curseurs rangeA, rangeB, rangeC, rangeD sont associés à des variables utilisable dans le mode script ou dans l'invite pour définir des fonctions. Ajuster ces curseurs permet une visualisation interactive.
Un ensemble de fonctions pour un calcul rapide des fréquences d'oscillation de tank LC, les impédances de composants passifs, fréquences et longueurs d'ondes, temps de charges et décharges de condensateurs, inductances mutuelles et coefficients de couplages.
Cliquer sur l'un des boutons de formule saisie la formule correspondante dans l'invite. Il est possible de modifier les fonctions f1, f2, f3 dans l'invite. Par exemple, pour une inductance de 1uH, il est possible d'afficher la fréquence de résonance en fonction de la valeur de capa : f1= x =>LC_resonant_frequency(1*u,x)