π
<-
Chat plein-écran
[^]

News 2024
Avril (11)
Mars (7)
Janvier (20)

News 2023
Octobre (19)
Août (14)
Juillet (13)
Juin (21)
Mai (29)
Avril (24)
Mars (24)
Janvier (24)

News 2022
Octobre (23)
Août (14)
Juillet (15)
Juin (17)
Mai (31)
Avril (27)
Mars (28)
Janvier (34)

News 2021
Octobre (24)
Août (37)
Juillet (50)
Juin (32)
Mai (48)
Avril (61)
Mars (35)
Janvier (34)

News 2020
Octobre (17)
Août (43)
Juillet (43)
Juin (45)
Mai (60)
Avril (78)
Mars (36)
Janvier (39)

News 2019
Octobre (13)
Août (18)
Juillet (23)
Juin (28)
Mai (31)
Avril (26)
Mars (38)
Janvier (37)

News 2018
Octobre (13)
Août (32)
Juillet (23)
Juin (64)
Mai (63)
Avril (45)
Mars (43)
Janvier (45)

News 2017
Octobre (26)
Août (39)
Juillet (52)
Juin (88)
Mai (51)
Avril (43)
Mars (37)
Janvier (33)

News 2016
Octobre (25)
Août (42)
Juillet (34)
Juin (109)
Mai (55)
Avril (34)
Mars (37)
Janvier (24)

News 2015
Octobre (22)
Août (56)
Juillet (22)
Juin (94)
Mai (56)
Avril (32)
Mars (40)
Janvier (21)

News 2014
Octobre (26)
Août (18)
Juillet (23)
Juin (101)
Mai (57)
Avril (59)
Mars (54)
Janvier (31)

News 2013
Octobre (67)
Août (50)
Juillet (43)
Juin (193)
Mai (93)
Avril (102)
Mars (45)
Janvier (50)

News 2012
Octobre (64)
Août (63)
Juillet (53)
Juin (132)
Mai (88)
Avril (73)
Mars (57)
Janvier (58)

News 2011
Octobre (56)
Août (31)
Juillet (27)
Juin (71)
Mai (61)
Avril (32)
Mars (36)
Janvier (24)

News 2010
Octobre (11)
Août (8)
Juillet (14)
Juin (10)
Mai (3)
Avril (3)
Mars (1)

News 2009
Août (3)
Juin (2)
Mai (1)
Avril (2)
Mars (1)

5 nouveaux labyrinthes Geometry Dash pour TI-83 Premium CE /

Nouveau messagede critor » 01 Juin 2021, 09:46

Ta TI-83 Premium CE bénéficie d'une superbe adaptation de Geometry Dash par Epharius aidé d'Anonyme0. :favorite:

La version téléchargeable du jeu inclut actuellement des adaptations de six des 21 niveaux accompagnant la version complète du jeu mobile :

Mais bien d'autres choses sont possibles car tu peux très facilement créer et charger tes propres niveaux. :bj:

Un éditeur intégré à Geometry Dash est accessible avec la touche
+
, rien de plus simple pour rajouter un niveau. ;)

Si tu préfères bénéficier d'un écran plus grand pour une meilleure vue d'ensemble, la conception peut également se faire sur ordinateur avec le logiciel Tiled où il suffira d'utiliser le tileset de Geometry Dash, puis d'en exporter une version .csv avant de la convertir en ligne.

13952Aujourd'hui, voici non pas un mais 5 labyrinthes par notre cher _Orlando_ : Laby I, Laby II, Laby III, Laby IV et Laby V.

En mode vaisseau, il te faudra faire le bon choix parmi les corridors qui te sont offerts sur 5 étages ; un mauvais choix te conduisant à t'écraser au fond d'une impasse.

La difficulté augmente avec la numérotation des labyrinthes. Plus exactement ce n'est pas la difficulté technique qui progresse ainsi, mais la difficulté logique : les impasses seront plus fréquentes à te barrer la route.

Sauras-tu donc résoudre ces 5 énigmes Geometry Dash ? ;)

Attention, Geometry Dash rentre dans la catégorie des programmes en langage machine dits ASM.
Suite à un acte irresponsable d'un enseignant de Mathématiques français avec ses gesticulations aveugles dans le contexte de la réforme du lycée et des examens, Texas Instruments a réagi en supprimant la gestion de tels programmes depuis la mise à jour 5.5.1.

Si tu es sur une des versions ainsi bridées, tu peux quand même profiter de Geometry Dash. Il te faut :
  1. installer arTIfiCE pour remettre la possibilité de lancer des programmes ASM
  2. ensuite de préférence installer Cesium pour pouvoir lancer les programmes ASM plus facilement, ou même AsmHook pour pouvoir les lancer comme avant

Téléchargements :

Liens :
Lien vers le sujet sur le forum: 5 nouveaux labyrinthes Geometry Dash pour TI-83 Premium CE / (Commentaires: 2)

midi2calc: conversion musique → Python pour BBC micro:bit

Nouveau messagede critor » 01 Juin 2021, 11:13

1395013949Dans une actualité précédente nous lancions midi2calc, notre service en ligne de conversion de fichiers de partitions MIDI en scripts Python pour ta calculatrice.

midi2calc te permettait de donner une toute nouvelle dimension à tes jeux et projets sur ta calculatrice en lui permettant de jouer du son sur un périphérique à connecter, initialement le TI-Innovator Hub. :D

Une possibilité offerte à ce jour sur les éditions Python des TI-83 Premium CE et TI-84 Plus CE, ainsi que sur les TI-Nspire CX II.

Mais ce n'était encore que l'apéritif de la semaine... ;)

1395413953Rentrons aujourd'hui dans le cœur du sujet avec une mise à jour majeure de midi2calc. Tu as désormais le support d'un autre périphérique sonore ayant l'avantage d'être bien plus répandu et abordable, la carte BBC micro:bit ! :favorite:

Le code produit est compatible aussi bien avec :
  • la micro:bit v2 qui dispose directement d'un haut-parleur intégré
  • ou la micro:bit v1 à condition de lui connecter un haut-parleur sur le contact 0 comme d'ailleurs illustré en bandeau de l'outil

midi2calc t'offre ici la possibilité de générer ton script pour 2 modules Python différents au choix :
  • soit microbit
  • soit ti_innovator (micro:bit) pour les TI-Nspire CX II ou ti_hub (micro:bit) pour la plateforme CE
La différence est très simple. Les modules microbit sont à installer sur ta calculatrice, liens de téléchargements disponibles en fin d'article. Sans ces modules, le script généré ne fonctionnera pas.

Si par contre tu choisis ti_innovator (micro:bit) ou ti_hub (micro:bit), ici tu n'as rien à installer puisque ces modules sont directement intégrés à la calculatrice ! :bj:
L'astuce mise en œuvre est d'utiliser leur méthode send() afin de définir notre propre fonction permettant d'envoyer directement à la carte micro:bit le code Python que l'on souhaite lui faire exécuter :
Code: Tout sélectionner
def send_microbit(cmd):
  send("\x04")
  send(cmd)
  send("\x05")








1) La musique : de la vibration à la partition

Go to top

Mais commençons rapidement par expliquer tout cela. Au tout début, le son est une vibration mécanique. On appelle fréquence le nombre de vibrations par seconde, que l'on exprime en Hertz (symbole Hz). Les fréquences audibles par l'oreille humaine vont en gros de 20 Hz à 20000 Hz.

Bien évidemment, les limites de fréquences audibles varient d'une personne à une autre. Donc laissons de côté ces extrêmes, et prenons comme référence une vibration intermédiaire de 440 Hz. Et bien voilà donc notre première note de musique : le la3 en notation française, ou A4 en notation anglo-allemande.

Le numéro en suffixe indique l'octave. Un octave est un intervalle de fréquences
$mathjax$\left[f_1,f_2\right[$mathjax$
, où
$mathjax$f_2=2\times f_1$mathjax$
. Ce qui nous permet déjà d'encadrer notre note de référence en passant aux octaves supérieurs (plus aigus) ou inférieurs (plus graves) :
  • la8 ou A9 ou A8 : 14080 Hz
  • la7 ou A8 ou A7 : 7040 Hz
  • la6 ou A7 ou A6 : 3520 Hz
  • la5 ou A6 ou A5 : 1760 Hz
  • la4 ou A5 ou A4 : 880 Hz
  • la3 ou A4 ou A3 : 440 Hz
  • la2 ou A3 ou A2 : 220 Hz
  • la1 ou A2 ou A1 : 110 Hz
  • la-1 ou la0 ou A1 ou A0 : 55 Hz
  • la-2 ou la-1 ou A0 ou A-1 : 27,5 Hz
  • la-3 ou la-2 ou A-1 ou A-2 : 13,75 Hz
Comme tu vois, la numérotation des octaves, c'est compliqué... Il existe diverses numérotations différentes de par le monde. Ci-dessus tu as donc :
  • jusqu'à 2 versions de la numérotation latine :
    • l'historique, qui n'a pas d'octave de numéro 0, et passe donc directement de l'octave 1 à l'octave -1
    • et une où l'octave 0 a été rajouté par soucis de logique
  • la numérotation anglo-allemande
  • la numérotation de certains instruments compatibles avec la norme MIDI
Sans une connaissance pointue du contexte dans lequel il est énoncé, un numéro d'octave est donc hautement imprécis. Nous éviterons donc soigneusement de faire appel aux numéros d'octaves dans le code qui va suivre.

Séparons chaque octave en 12 sous-intervalles de même longueur que nous appellerons demi-tons. Pour cela nous avons besoin de 11 notes de musique, que voici :
  • en notation latine : Do, Do# ou Ré♭, , Ré# ou Mi♭, Mi, Fa, Fa# ou Sol♭, Sol, Sol# ou La♭, La, Si
  • en notation anglo-saxonne : C, C# ou D♭, D, D# ou E♭, E, F, F# ou G♭, G, G# ou A♭, A, B
  • en notation germanique : C, C# ou D♭, D, D# ou E♭, E, F, F# ou G♭, G, G# ou A♭, A, H
C'est la gamme chromatique. Le rapport entre les fréquences de 2 notes consécutives dans cette gamme est alors de
$mathjax$\sqrt[12]2$mathjax$
.




2) Codage MIDI d'une partition

Go to top

Maintenant que nous avons les bases, nous pouvons passer aux fichiers MIDI. Il s'agit d'une version informatisée d'une partition de musique. Elle comprend une ou plusieurs pistes de notes, à jouer chacune par un instrument.

Chaque piste comprend donc des notes à jouer. Chaque note à jouer est décrite par plusieurs caractéristiques, dont entre autres 2 qui vont nous intéresser ici :
  • sa hauteur, valeur qui détermine sa fréquence
  • sa durée
Le format MIDI code les hauteurs de notes sur 7 bits, ce qui autorise 27=128 notes différentes :
  • La note de numéro 0 est la plus grave : selon le contexte le do-3 ou do-2 ou C-1 ou C-2.
  • La note de numéro 69 est notre fameux la3 ou A4 ou A3.
  • La note de numéro 127 est la plus aiguë : selon le contexte le sol8 ou G9 ou G8.

Ayant récupéré le numéro n d'une note MIDI à jouer, il nous est donc très facile de calculer sa fréquence :
$mathjax$440\times {\sqrt[12]2}^{n-69}$mathjax$
.




3) De la partition à la mélodie, une affaire de choix

Go to top

Les fichiers MIDI ont donc été conçus pour gérer plusieurs instruments, et comportent pour cela plusieurs pistes. Il ne sera donc pas rare de rencontrer plusieurs notes devant être jouées en même temps.
Or problème ici, nous contrôlons la BBC micro:bit qui ne peut se comporter que comme 1 seul instrument. Il lui est ainsi impossible de jouer plusieurs notes à la fois.

Nous t'avons justement conçu sur-mesures une interface permettant de résoudre facilement cette difficulté.

Lorsque tu auras fourni ton fichier MIDI ses différentes pistes te seront listées, chacune avec sa description ainsi que son nombre de notes.

Il te suffit alors de désactiver les pistes correspondant aux instruments d'accompagnement, et de ne garder que la ou les pistes des instruments principaux. :)

Mais comment donc distinguer les pistes principales ? Une difficulté est qu'il n'y a pas de règle absolue :
  • Tu peux regarder les descriptions des pistes : le caractère principal ou accompagnant de la piste sera parfois indiqué, mais pas toujours.
  • Tu peux regarder l'ordre des pistes : la ou les pistes principales seront parfois les premières ou les dernières, mais encore une fois pas systématiquement.
  • Tu peux regarder le nombre de notes des pistes : un nombre nettement supérieur à ceux des autres pistes peut être un indice, mais il n'est absolument pas infaillible.

Mais justement, ça aussi nous l'avons prévu. Tu trouveras sous la liste des pistes un bouton de lecture, qui te permettra de jouer directement dans ton navigateur ta sélection actuelle de pistes, et ce avec un seul instrument histoire de te donner un aperçu aussi fiable que possible de ce que cela donnera une fois passé sur ta calculatrice.

Tu peux donc immédiatement savoir à l'oreille si tu as effectué une bonne sélection de pistes ou pas ! :bj:

Tu restes bien sûr libre de conserver plusieurs pistes, et tester l'effet que ça donne. Puisque le cas n'est donc pas à exclure il nous faut faire un choix : en cas de notes devant être jouées en même temps, nous ne conserverons que la plus aiguë sur l'intervalle de temps concerné.

Si les cas où sur un même intervalle de temps une note de piste d'accompagnement est plus aiguë qu'une note de piste principale sont rares, cela pourra donner un bon effet, plus de richesse à ta mélodie.

Notons que si tu disposes de plusieurs BBC micro:bit, tu peux convertir les pistes séparément et tenter de les jouer simultanément.




4) Fonctions Python disponibles pour jouer du son sur BBC micro:bit

Go to top

Nous en arrivons donc enfin à la question de la BBC micro:bit. Comment lui faire jouer un son ?

La méthode music.pitch(fréquence, durée) permet justement de jouer une fréquence pendant une durée exprimée en millisecondes.
Par exemple pour jouer notre la3 ou A4 pendant 1 seconde, on peut appeler music.pitch(440, 1000).

Précisons de plus que cette méthode music.pitch() accepte un paramètre nommé optionnel wait, avec 2 valeurs au choix :
  • true : l'appel attendra la fin de la note de musique avant de rendre la main
  • false : l'appel rendra immédiatement la main, et ce sera donc à notre code d'attendre le délai nécessaire avant d'envoyer la note suivante

Mais contrairement au TI-Innovator Hub, la BBC micro:bit a l'avantage de gérer directement son propre format de mélodie dans le cadre de la méthode music.play(), ainsi documenté :
Code: Tout sélectionner
tune = ["C4:4", "D4:4", "E4:4", "C4:4", "C4:4", "D4:4", "E4:4", "C4:4", "E4:4", "F4:4", "G4:8", "E4:4", "F4:4", "G4:8"]
music.play(tune)

Une liste de chaînes de caractères, c'est bien embêtant niveau consommation de mémoire heap Python surtout si l'on souhaite jouer de longues mélodies, aussi bien sur calculatrice que sur micro:bit d'ailleurs.
Nous calculons ici 56+14×(8+49+4)= 910 octets de heap consommés aussi bien sur la calculatrice que sur la micro:bit, et tout cela rien que pour les 14 premières notes de Frère Jacques.

Selon nos tests, on peut toutefois utiliser un tuple à la place d'une liste, et ainsi économiser un petit peu :
Code: Tout sélectionner
tune = ("C4:4", "D4:4", "E4:4", "C4:4", "C4:4", "D4:4", "E4:4", "C4:4", "E4:4", "F4:4", "G4:8", "E4:4", "F4:4", "G4:8")
music.play(tune)

On descend à 40+14×(8+49+4)= 894 octets de heap.

Encore mieux, on peut utiliser des tableaux d'octets (bytes) au lieu des chaînes pour un gain très significatif :
Code: Tout sélectionner
tune = (b"C4:4", b"D4:4", b"E4:4", b"C4:4", b"C4:4", b"D4:4", b"E4:4", b"C4:4", b"E4:4", b"F4:4", b"G4:8", b"E4:4", b"F4:4", b"G4:8")
music.play(tune)

Fantastique, plus que 40+14×(8+33+4)= 670 octets de heap.

On peut de plus raccourcir encore la chose en ne reprécisant pas les octaves et durées en l'absence de changement :
Code: Tout sélectionner
tune = (b"C4:4", b"D", b"E", b"C", b"C", b"D", b"E", b"C", b"E", b"F", b"G:8", b"E:4", b"F", b"G:8")
music.play(tune)

Extraordinaire, plus que 40+14×(8+33)+10×1+3×3+1×4= 637 octets de heap. Nous avons donc une bonne marge pour limiter la casse induite par ce choix de format pas très malin.

En prime, on pourrait passer la paramètre nommé wait=false. Cela permettrait ici à notre script de reprendre la main immédiatement après l'envoi de la mélodie, avec donc la possibilité de poursuivre l'exécution de ton jeu ou projet pendant qu'elle joue ! :favorite:

Ce serait vraiment la solution idéale, non ?...

Et bien non, malheureusement nous n'utiliserons pas music.play().

Ce format nous impose en effet d'envoyer de longues lignes de code Python, et il semble y avoir un problème avec le protocole de communication entre la calculatrice et la micro:bit : au-delà des 900 caractères et quelques, les lignes Python ne semblent pas exécutées par la micro:bit.

Malheureusement la limite n'est pas fixe. Envoyer 2 lignes légèrement plus courtes génère le même problème, comme si le problème n'était pas la taille de la ligne, mais celle d'un buffer quelque part...

En attendant de mieux comprendre le problème afin de le contourner, ou d'avoir une mise à jour de Texas Instruments le corrigeant, nous nous devons donc à grand regret de laisser ce format de côté. :'(


Nous allons utiliser music.pitch() pour le moment.

Notons que le TI-Innovator Hub n'intégrait qu'un buzzer piézoélectrique pas très harmonieux dans les fréquences très graves ou aiguës. La micro:bit v2 fait bien mieux avec son véritable haut-parleur.

Malgré tout, nous te laissons la possibilité de corriger la hauteur de ta mélodie. Une fois ta sélection de pistes effectuée, l'intervalle de notes utilisées t'est indiqué en numérotation MIDI. Tu peux alors décaler tout le morceau de musique vers le haut ou vers le bas d'autant de demi-tons que tu voudras.




5) Notre codage Python d'une mélodie

Go to top

Nous souhaitons te permettre de stocker et jouer de longues mélodies Python sur ta calculatrice, et ainsi organiser de véritables concerts pour tes jeux ou projets Python.

Il nous faut minimiser la consommation de mémoire heap. Comme déjà expliqué, nous te proposons un format de données compacté sous forme de tableau d'octets (type bytes). Une note sera codée sur 2 octets :
  • 1 octet avec les bits 0 à 6 (7 bits donc) pour indiquer le numéro de note, et le bit 7 pour indiquer un silence
  • 2 octets pour indiquer la durée en millisecondes




6) Notre fonction Python pour jouer une mélodie

Go to top

Et voilà donc notre fonction jouant la musique, ici dans sa version TI-83 Premium CE et TI-84 Plus CE : :D
Code: Tout sélectionner
#the melody playing function
#- mus : melody data
#- durat_bytes : number of bytes encoding each note duration
def play_melody_on_microbit(mus, durat_bytes):
  r = 2 ** (1 / 12)
  t2, durat, i = monotonic(), 0, 0
  t1 = t2
  while i < len(mus):
    t1, t2 = t2, monotonic()
    deltat = max(0, (t2 - t1) / 1000 - durat)
    note = mus[i]
    i += note < 0x80
    durat = mus[i] & ((note ^ 0x80) | 0x7F)
    i += 1
    if durat_bytes > 1:
      durat |= int.from_bytes(mus[i:i + durat_bytes - 1],'little') << (8 - (note >= 0x80))
      i += durat_bytes - 1
    durat = max(1, durat) / 1000
    music.pitch(round((note < 0x80) and 440 * r**(note - 57)), int(durat*1000), wait=False)
    sleep(max(0, durat - deltat))

Chaque appel music.pitch(note, durée) est ici suivi d'un appel time.sleep(durée) afin d'attendre avant de jouer la note suivante.

Toutefois pour enchaîner correctement les notes de musique et tenir le rythme, il nous faut tenir compte du temps de latence dû au fait que l'appel sound.tone() est ici converti en une commande envoyée à la micro:bit par le port USB de la calculatrice, ainsi que du temps d'exécution que nécessite tout le reste du corps de la boucle.

Et bien c'est prévu, la méthode time.monotonic() ou time.ticks_ms() est utilisée pour mesurer la durée d'exécution d'une itération, prise en compte pour corriger l'appel time.sleep() de l'itération suivante. :D

Une fois ta conversion validée, tu obtiens ton script Python converti sous deux formes différentes :
  • un fichier .py téléchargeable
  • un code en coloration syntaxique que tu peux directement sélectionner et copier-coller




7) Exemples de mélodies

Go to top

Voyons tout-de-suite ce que ça donne. Nous t'avions promis de quoi jouer des mélodies ambitieuses pour tes jeux ou projets, voici par exemple de quoi te montrer que ça tient bien le rythme, avec l'air de la chevauchée des Walkyries par Richard Wagner, 1856 : :favorite:


De plus nous t'avons donc dit plus haut que le haut-parleur de la micro:bit v2 se comportait bien mieux que le buzzer du TI-Innovator Hub, notamment dans les aigus. Voici de quoi t'en convaincre avec rien de moins que l'un des airs les plus virtuoses de l'art lyrique culminant au Fa5 ou F6, l'air de la Reine de la nuit dans La Flûte enchantée de Wolfgang Amadeus Mozart, 1791 : :#tritop#:




8) Téléchargements et liens d'accès

Go to top

Modules micro:bit :

midi2calc est un service en ligne entièrement gratuit, ne nécessitant de plus aucune inscription. :D

Pour accéder à midi2calc dès maintenant, c'est très simple. Tu as 2 liens directs courts :
  • https://tiplanet.org/midi2calc pour lancer l'outil de façon intégrée à l'interface de TI-Planet, soit entre autres avec le chat sous la main pour demander de l'aide ou faire des suggestions :)
  • https://tiplanet.org/midi2calc_classe dédié à un usage pédagogique en classe. Les divers éléments de TI-Planet (chat d'entraide, etc.) ne sont ici pas affichés, ne générant donc aucun bruit ou distraction lors de ta présentation.
En retour, nous aurons grand plaisir à prendre connaissance de tes projets. ;)
Lien vers le sujet sur le forum: midi2calc: conversion musique → Python pour BBC micro:bit (Commentaires: 0)

Coques NumWorks édition limitée Juin 2021 à gagner

Nouveau messagede Admin » 01 Juin 2021, 16:51

13036Pour la rentrée 2019, NumWorks te sortait une coque collector en édition limitée pour sa calculatrice, la Macaremaths, illustrée tout en humour et talent sur le thème des Mathématiques. :bj:

Dans le même genre NumWorks renouvelle l'expérience en mieux cette année scolaire 2020-2021. Tu as déjà eu plusieurs opportunités d'habiller ta calculatrice de façon unique au monde ; tu as déjà eu l'occasion de gagner les coques édition limitée de :
1323013229

Aujourd'hui NumWorks te souhaite d'avance une bonne fête de la musique. Voici donc à gagner pour l'occasion sa nouvelle coque en édition limitée de Juin 2021. :favorite:

Nouvelle chance pour toi de compléter ta collection sur les différents comptes sociaux du constructeur : :D

Pour participer et peut-être gagner c'est très simple, il te suffit d'ici le 30 juin 2021 de :
  1. suivre, aimer ou t'abonner au compte du constructeur
  2. taguer ou identifier un ami ou une amie
Lien vers le sujet sur le forum: Coques NumWorks édition limitée Juin 2021 à gagner (Commentaires: 5)

Geometry Dash: niveau Troll pour TI-83 Premium CE & TI-84+CE

Nouveau messagede critor » 02 Juin 2021, 08:42

Ta TI-83 Premium CE bénéficie d'une superbe adaptation de Geometry Dash par Epharius aidé d'Anonyme0. :favorite:

La version téléchargeable du jeu inclut actuellement des adaptations de six des 21 niveaux accompagnant la version complète du jeu mobile :

Mais bien d'autres choses sont possibles car tu peux très facilement créer et charger tes propres niveaux. :bj:

Un éditeur intégré à Geometry Dash est accessible avec la touche
+
, rien de plus simple pour rajouter un niveau. ;)

Si tu préfères bénéficier d'un écran plus grand pour une meilleure vue d'ensemble, la conception peut également se faire sur ordinateur avec le logiciel Tiled où il suffira d'utiliser le tileset de Geometry Dash, puis d'en exporter une version .csv avant de la convertir en ligne.

13961Pensais-tu avoir développé tous les bons réflexes ?

Aujourd'hui voici Troll par _Orlando_. Un niveau qui va t'amener à te remettre en question... :troll:

Attention, Geometry Dash rentre dans la catégorie des programmes en langage machine dits ASM.
Suite à un acte irresponsable d'un enseignant de Mathématiques français avec ses gesticulations aveugles dans le contexte de la réforme du lycée et des examens, Texas Instruments a réagi en supprimant la gestion de tels programmes depuis la mise à jour 5.5.1.

Si tu es sur une des versions ainsi bridées, tu peux quand même profiter de Geometry Dash. Il te faut :
  1. installer arTIfiCE pour remettre la possibilité de lancer des programmes ASM
  2. ensuite de préférence installer Cesium pour pouvoir lancer les programmes ASM plus facilement, ou même AsmHook pour pouvoir les lancer comme avant

Téléchargements :

Liens :
Lien vers le sujet sur le forum: Geometry Dash: niveau Troll pour TI-83 Premium CE & TI-84+CE (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)

Stereo Madness, niveau 1 Geometry Dash revisité par Shadow

Nouveau messagede critor » 03 Juin 2021, 10:00

Ta TI-83 Premium CE bénéficie d'une superbe adaptation de Geometry Dash par Epharius aidé d'Anonyme0. :favorite:

La version téléchargeable du jeu inclut actuellement des adaptations de six des 21 niveaux accompagnant la version complète du jeu mobile :

Mais bien d'autres choses sont possibles car tu peux très facilement créer et charger tes propres niveaux. :bj:

Un éditeur intégré à Geometry Dash est accessible avec la touche
+
, rien de plus simple pour rajouter un niveau. ;)

Si tu préfères bénéficier d'un écran plus grand pour une meilleure vue d'ensemble, la conception peut également se faire sur ordinateur avec le logiciel Tiled où il suffira d'utiliser le tileset de Geometry Dash, puis d'en exporter une version .csv avant de la convertir en ligne.

13966Aujourd'hui Shadow te revisite Stereo Madness, le niveau 1 de Geometry Dash.

Sa version améliorée téléchargeable séparément a le gros avantage de comporter les caches secrètes et d'être synchronisée à la musique ! :D

De quoi te permettre plus facilement de réaliser une course parfaite si tu as déjà développé les bons réflexes sur l'original ? ;)

Attention, Geometry Dash rentre dans la catégorie des programmes en langage machine dits ASM.
Suite à un acte irresponsable d'un enseignant de Mathématiques français avec ses gesticulations aveugles dans le contexte de la réforme du lycée et des examens, Texas Instruments a réagi en supprimant la gestion de tels programmes depuis la mise à jour 5.5.1.

Si tu es sur une des versions ainsi bridées, tu peux quand même profiter de Geometry Dash. Il te faut :
  1. installer arTIfiCE pour remettre la possibilité de lancer des programmes ASM
  2. ensuite de préférence installer Cesium pour pouvoir lancer les programmes ASM plus facilement, ou même AsmHook pour pouvoir les lancer comme avant

Téléchargements :

Liens :
Lien vers le sujet sur le forum: Stereo Madness, niveau 1 Geometry Dash revisité par Shadow (Commentaires: 4)

Combats les démons dans l'arène PROTOX sur TI-83 Premium CE

Nouveau messagede critor » 03 Juin 2021, 10:57

13967Nouveau venu sur ta TI-83 Premium CE voici PROTOX, un jeu de combat en arène par Techcrafter.

Au menu plusieurs arènes ainsi que tout le bestiaire démoniaque, aux graphismes très soignés ! :D

Tu contrôles donc ton avatar avec les flèches gauche et droite, ainsi que la touche
2nde
pour sauter. Pas besoin de t'occuper de l'épée que ton personnage maintiens de toutes façons en position d'attaque en permanence.

Mais le jeu est très loin de s'arrêter là. De temps en temps un marchand ambulant apparaîtra dans l'arène, et te permettra d'acheter divers bonus. Touche
alpha
les bonus qui sont activables dans l'arène.

PROTOX est compilé en langage machine à partir de code source écrit en langage C, librement consultable et même réutilisable sous licence GPL3. :)

Attention, le 1er lancement de PROTOX dans sa dernière version 1.1 crée dans les 70 Ko de variables de données non temporaires en mémoire RAM (ce qui est déjà un choix très regrettable).

Mais bien pire que cela, si jamais tu n'as pas suffisamment de place PROTOX va te corrompre le contenu RAM et te pousser donc au reset.

Nous te conseillons donc de bien transférer le programme PROTOX (30 Ko) en mémoire d'archive, et de bien vérifier avant son lancement que tu as nettement plus de 70 Ko d'espace libre en mémoire RAM via le raccourci
2nde
+
2
.

Attention, ce jeu rentre donc dans la catégorie des programmes en langage machine dits ASM.

Or, suite à un acte irresponsable d'un enseignant de Mathématiques français avec ses gesticulations aveugles dans le contexte de la réforme du lycée, Texas Instruments a réagi en supprimant la gestion de tels programmes depuis la mise à jour 5.5.1.

Si tu es sur une des versions ainsi bridées, tu peux quand même jouer sans trop d'efforts. Il te faut :
  1. installer arTIfiCE pour remettre la possibilité de lancer des programmes ASM
  2. ensuite de préférence installer Cesium pour pouvoir lancer les programmes ASM plus facilement, ou même AsmHook pour pouvoir les lancer comme avant
  3. installer les bibliothèques C nécessaires au fonctionnement de certains jeux dont celui-ci (mais rien de compliqué, juste à transférer le fichier et c'est tout)

Téléchargements :

Lien : site PROTOX officiel
Lien vers le sujet sur le forum: Combats les démons dans l'arène PROTOX sur TI-83 Premium CE (Commentaires: 0)

_Orlando_ gagne une Graph 90+E aux Olympiades Maths 4ème !

Nouveau messagede critor » 03 Juin 2021, 11:24

Toutes nos félicitations à notre membre _Orlando_ qui gagne une superbe Casio Graph 90+E couleur à l'édition 2021 du concours René MERCKHOFFER ! :D Nous sommes très fiers de toi ! :bj:

Ce concours également connu sous le nom d'Olympiades de mathématiques de 4ème était organisé conjointement cette année par un petit tiers des académies : Amiens, Besançon, Caen, Corse, Grenoble, Lyon, Nancy-Metz, Orléans-Tours, Paris, Rouen et Versailles. Dans le cas d'_Orlando_ c'était donc Grenoble.

Et bien évidemment nos plus sincères remerciements à Casio pour avoir une fois de plus généreusement doté cet événement. :favorite:

Bon, maintenant il ne manque plus qu'à coder un Geometry Dash potable pour Graph 90+E... N'est-ce pas _Orlando_ ? ;)
Lien vers le sujet sur le forum: _Orlando_ gagne une Graph 90+E aux Olympiades Maths 4ème ! (Commentaires: 7)

-
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.
1544 utilisateurs:
>1523 invités
>15 membres
>6 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)