π
<-
Chat plein-écran
[^]

News 2024
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)

Joue tes partitions sur le TI-Innovator avec ta 83 Premium

Nouveau messagede critor » 08 Oct 2016, 14:04

7289Aujourd'hui après le code Morse nous allons te proposer un nouveau projet construit, autour du périphérique TI-Innovator de cette rentrée 2016.
Il s'agit encore une fois d'utiliser son buzzer intégré, mais de façon différente. ;)

70367035Au salon de l'Orme 2.16 à Marseille en juin dernier, Texas Intruments démontrait à l'aide d'un mini programme qu'il était possible de jouer de la musique, ci-contre même si ça ne s'entend pas un petit extrait de bon anniversaire.

Mais voilà le problème. A partir d'une partition de musique, comment obtenir de façon simple et juste, la liste des fréquences jouables ?



Problématique à laquelle répond le projet d'aujourd'hui, MUSICATOR.
Le projet définit une façon textuelle de retranscrire de façon simple et complète des partitions :
  • notation anglaise unicaractère des notes : C=Do, D=Ré, E=Mi, F=Fa, G=Sol, A=La, B=Si
  • caractère espace pour un silence
  • chiffres pour spécifier la durée des notes/silences suivants : 8=ronde, 7=blanche, 6=noire, 5=croche...
  • possibilité de régler l'octave de façon absolue avec O0, O1, ... O9, ou bien relative en demandant le passage à l'octave supérieur/inférieur avec les caractères * ou ,
  • support des altérations dièse, bémol ou point de la note ou du silence précédent, à l'aide des caractères +, - et .
  • et même, possibilité de préciser librement le rythme en bpm (battements par minute, c'est-à-dire nombre de noires par minute) en début de texte :bj:

Quelques exemples de retranscriptions simples :
  • gamme majeure ascendante : CDEFGAB*C
  • gamme mineure ascendante : CDE-FGA-B-*C
  • gamme chromatique ascendante : CC+DD+EFF+GG+AA+B*C

Deux outils permettent alors :
  • la compilation de ces transcriptions texte en listes de fréquences+durées jouables
  • la lecture de ces liste sur le TI-Innovator si connecté

La seule contrainte est que le TI-Innovator ne représente qu'un seul et unique instrument à une seule voie.
A moins d'en avoir plusieurs et autant de calculatrices compatibles, ne pourront donc être retranscites sans modifications :
  • les partitions faisant jouer plusieurs instruments en même temps
  • l'éventuelle partie accompagnement des partitions
  • les partitions demandant à un même instrument de jouer plusieurs notes en même temps

Nous allons voir de suite ce que cela donne avec la vraie partition ci-contre, dont voici la transcription complète :
Code: Tout sélectionner
128:O35 AAA6AAGECCAAGF7G 6FB-B-B-AGFFAAGF8A6 5AAAA6AGE7C6AAGF7G 5 B-B-B-6B-B-AGFFAAGF7A5 A*CD6 5,AA6*CD7D ..CDEF6E.D5C,A*CD6 7D6DC,AF5FG6AAGF7A5 A*CD6 5,AA6*CD7D ..DDEF6E.D7C6,B-*FFFCF7FF6FFE5,AA6*CDD5,AA*CD6F



Comme tu peux l'entendre, la transcription de la partition est bien correcte. :)



Un petit défaut subsiste toutefois. Ici tout a été fait pour que la calculatrice n'ait rien d'autre à faire pendant la lecture du morceau :
  • compilation à priori de la transcription en une liste de fréquences directement jouable
  • aucun affichage pendant la lecture
Malgré cela, la calculatrice perd du temps entre chaque note, puisqu'il y a un silence non négligeable alors qu'absent de la transcription.
C'est donc le temps perdu à chaque itération de la boucle de lecture.
Nous ignorons la raison exacte de ce retard, mais à notre avis c'est sûrement le temps mis :
  • soit pour envoyer la commande construite au TI-Innovator
  • soit pour construire cette commande, notamment avec la nouvelle instruction eval( du système 5.2 permettant d'inclure une valeur numérique dans une chaîne de caractères
En conséquence, pour que le morceau colle bien avec l'accompagnement, nous avons dû énormément augmenter le rythme.
Au lieu de 128bpm pour du moderately fast, il nous a fallu régler 860bpm.

Si l'on pouvait récupérer le temps perdu dès la première note, on pourrait corriger en rognant sur la durée des notes ou silences ultérieurs. Mais malheureusement, les instructions d'horloge du seul langage Basic retournent toutes un nombre entier de secondes, et ne permettent pas de connaître la fraction de seconde perdue dès la première note. :'(



Au final, encore une fois un projet qui s'inscrirait parfaitement dans le contexte des enseignements de ICE, TPE et ISN au lycée, ou des nouveaux EPI de la réforme du collège depuis cette rentrée.
Dans ce dernier cas, ce serait d'ailleurs une excellent moyen d'associer activement au sein d'un même projet scientifique l'enseignement d'Education musicale, afin de voir avec ses collègues et les élèves comment construire l'ensemble des différentes valeurs de fréquences nécessaires à la lecture de partitions. :bj:



Téléchargement : archives_voir.php?id=687757

Crédits : partition
Lien vers le sujet sur le forum: Joue tes partitions sur le TI-Innovator avec ta 83 Premium (Commentaires: 9)

Mise-à-jour/Update FILEIO 2.6 (CE C libraries)

Nouveau messagede Adriweb » 09 Oct 2016, 17:29

Il y a à peine quelques jours, une mise-à-jour de FileIO (v2.5) est sortie, corrigeant un souci assez gros mis en évidence via 2048CE, tout en améliorant grandement les performances :bj:

Cependant... un nouveau bug dans certaines conditions (provoquant un crash/RAM clear) est passé inaperçu avec cette version là, du moins jusqu'à aujourd'hui...
Il est visible sur ChessCE par exemple, en sauvant l'état en cours, et apparemment en général pour les programmes tentant de sauvegarder des choses de plus de 255 octets.

Le bug est désormais corrigé (un simple octet à changer :P) dans la dernière version des bibliothèques C (avec FileIO 2.6), grâce à MateoC et jacobly qui ont pu intervenir rapidement :)
On vous invite donc à télécharger cette nouvelle version - et de manière générale, le bon réflexe en informatique est toujours d'avoir des sauvegardes de ses fichiers, ça évite les pertes ;)

Téléchargement: dernière version des libraries (ou via GitHub directement, c'est pareil)
Lien vers le sujet sur le forum: Mise-à-jour/Update FILEIO 2.6 (CE C libraries) (Commentaires: 0)

Résultats concours 2016 : le Tour du monde en 83 Premium CE

Nouveau messagede critor » 09 Oct 2016, 20:22

7318Voici enfin ce soir les résultats de notre concours de rentrée 2016, le Tour du monde en 83 Premium CE.
Il s'agissait donc d'aider notre héroïne, Sophia Flegg, à réaliser un tour du monde sans escale. Pour cela, on te demandait donc l'expression d'une fonction définissant l'itinéraire en question.

Rien que dans l'énoncé de ce concours, tu avais d'énormes indices destinés à t'aider dans ta quête, et il est grand temps de les révéler :

Et oui car Sophia Flegg n'était que l'anagramme de Phileas Fogg, gentleman anglais héros du célèbre roman de Jules Verne de 1872, Le tour du monde en 80 jours.
La lecture du roman t'apportait nombre d'indices si tu décidais de contourner l'Eurasie par le sud, notamment en longeant la botte italienne, empruntant le canal de Suez, puis traversant la mer Rouge dans toute sa longueur.

De plus, on découvre au collège que le plus court chemin est la ligne droite, et lorsqu'il y a des contraintes une trajectoire qui peut se ramener par transformations à une ligne droite.

Enfin, on étudie en fin de collège les fonctions affines, et une idée pouvait donc être une fonction affine par morceaux.

Voici ci-contre une trajectoire respectant ces trois derniers points, et qui permettait déjà sans optimisation bien poussée de terminer le tour du monde avec encore 2428,4€ dans la tirelire ! :bj:
Code: Tout sélectionner
(X≥0 et X<0.13)(1.1538462(X-0)+0)+(X≥0.13 et X<1.1)(0.83505155(X-0.13)+0.15)+(X≥1.1 et X<1.2)(0(X-1.1)+0.96)+(X≥1.2 et X<1.37)(­2.4117647(X-1.2)+0.96)+(X≥1.37 et X<1.5)(­13.307692(X-1.37)+0.55)+(X≥1.5 et X<2.14)(­1.28125(X-1.5)+­1.18)+(X≥2.14 et X<2.45)(­1.6129032(X-2.14)+­2)+(X≥2.45 et X<3.9)(­0.49655172(X-2.45)+­2.5)+(X≥3.9 et X<4.13)(­2.9565217(X-3.9)+­3.22)+(X≥4.13 et X<4.25)(­2.0833333(X-4.13)+­3.9)+(X≥4.25 et X<5.1)(­1.8(X-4.25)+­4.15)+(X≥5.1 et X<5.7)(0.26666667(X-5.1)+­5.68)+(X≥5.7 et X<12.4)(­0.38507463(X-5.7)+­5.52)+(X≥12.4 et X<14.1)(0.17647059(X-12.4)+­8.1)+(X≥14.1 et X<15.13)(0.33980583(X-14.1)+­7.8)+(X≥15.13 et X<15.41)(1.1785714(X-15.13)+­7.45)+(X≥15.41 et X<30.76)(0.074918567(X-15.41)+­7.12)+(X≥30.76 et X<30.91)(2(X-30.76)+­5.97)+(X≥30.91 et X<32.1)(0.98319328(X-30.91)+­5.67)+(X≥32.1 et X≤40)(0.51898734(X-32.1)-4.5)
Même si ce concours n'imposait pas de programmation, le sujet était ouvert et tous les moyens envisageables. Pour faciliter l'écriture de ce genre de fonction, on pouvait par exemple faire un programme la générant automatiquement à partir d'une liste de points. Voici celui que nous avons utilisé pour la fonction précédente.

Voyons donc maintenant comment les participants ont fait et jusqu'où ils sont allés.



10ème, Bartmaniaque a choisi de mettre le cap plein sud, et une fois le continent africain franchi le reste est une promenade de santé.
Son trajet fait 54784km dont un remorquage non négligeable de 7768km. Il lui reste au final 2287,5€.
Code: Tout sélectionner
(X≤2)*(­2.5X-6.7)+(X>2)*(­0.1X-11.1)*(X<20)+(X≥20)*(0.7X-27)*(X<37.84)+(X≥37.84)*­0.514


9ème, Clifward pour sa part choisit de contourner l'Eurasie par le nord, puis de mettre la barre au sud pour aller franchir l'Amérique centrale sans escale au niveau du canal de Panama.
Son trajet reste donc conséquent avec 52059km, mais dont seulement 869km de remorquage. Il termine avec 2373,7€.
Code: Tout sélectionner
(X≤0.286)*(0.5X)+(X≥0.286 et X≤0.57)*(1.529X-0.294)+(X≥0.57 et X≤1.833)*(1.847X+0.947)+(X≥1.833 et X≤7.571)*(0.494X+3.428)+(X≥7.571 et X≤11)*(7.167)+(X≥11 et X≤11.5)*(0.666X-0.167)+(X≥11.5 et X≤14)*(­0.067X+8.267)+(X≥14 et X≤16)*(­0.166X+9.667)+(X≥16 et X≤19)*(­0.673X+17.77)+(X≥19 et X≤21.33)*(­0.574X+15.81)+(X≥21.33 et X≤21.5)*(­13.714X+296.11)+(X≥21.5 et X≤22)*(­2.57X+56.57)+(X≥22 et X≤25.714)*(­0.808X+17.769)+(X≥25.714 et X≤30.286)*(­0.75X+16.286)+(X≥30.286 et X≤32.571)*(1.125X-40.5)+(X≥32.571)*(0.519X-20.769)


8ème, vince960 met lui aussi d'abord le cap au nord, mais ose à la différence affronter le grand nord canadien où il n'effectue qu'une très courte escale.
Son voyage ne fait donc que 47543km, dont 1419km de remoquage. Il nous revient avec 2433,4€.
Code: Tout sélectionner
(1.4X)(X≥0)(X<.7)+(1.5X+1.4)(X≥.7)(X<2.2)+(.474X+3.657)(X≥2.2)(X<7.7)+(.04X+7)(X≥7.7)(X<11)+(.16X+5.6)(X≥11)(X<12)+(­.096X+8.673)(X≥12)(X<26.26)+(­.197X+11.266)(X≥26.26)(X<27.02)+(­.6564X+23.68)(X≥27.02)(X<27.47)+(.0984X+2.9429)(X≥27.47)(X<28.98)+(5.8)(X≥28.98)(X<29.9)+(5.7)(X≥29.9)(X<31.55)+(5.5)(X≥31.55)(X<32)+(5.3)(X≥32)(X<32.75)+(­1.89X+66.6)(X≥32.75)(X<34.5)+(­.353X+13.567)(X≥34.5)(X<39)+(­.5)(X≥39)(X<39.9)+(­.4)(X≥39.9)(X<39.95)+(­.35)(X≥39.95)(X<40)+(0)(X=40)


7ème, Grosged adopte pour sa part un trajet similaire à celui de Clifward, n'osant pas braver les conditions extrêmes du Canada.
Il fait légèrement mieux puisqu'il lui reste à l'arrivée 2478,8€.
Code: Tout sélectionner
2.83X(X<1.5)+(3.93+.53(X-1.5))(X≥1.5 et X<7.8)+7.2(X≥7.8 et X<11.2)+(X≥11.2 et X<12)(2.8+.4X)+(8.4-.1X)(X≥12 et X<16.2)+(X≥16.2 et X<21.2)(10.4-.628(X-10.4))+(X≥21.2 et X<21.9)(3.6-(X-21.2)5.5)+(X≥21.9 et X<30.6)(.1-(X-21.9).76)+(X≥30.6 et X<31)(­6.4+(X-30.6)3)-5.2(X≥31 et X<32.5)+(X≥32.5 et X<39.2)(­5.2+.6(X-32.5))+(X≥39.2)(­5.2+(X-36)1.3


6ème, cheuble choisit quant à lui avec courage un itinéraire comparable à celui de vince960.
Il fait là encore un peu mieux, optimisant ses bornes et paramètres jusqu'à 2 et 4 décimales, arrivant à s'économiser 2495€.
Code: Tout sélectionner
(X<0.90)(3X)+(X>0.90 et X<2.27)(1.8832X+0.6651)+(X>2.27 et X<7.57)(0.4283X+3.9677)+(X>7.57 et X<11.51)(0.0373X+6.9271)+(X>11.51 et X<12.87)(7.46)+(X>12.87 et X<26.06)(­0.1106X+8.8847)+(X>26.06 et X<27.42)(6)+(X>27.42 et X<28.48)(5.74)+(X>28.48 et X<30.15)(5.79)+(X>30.15 et X<32.42)(5.74)+(X>32.42 et X<35.28)(­1.779X+63.4174)+(X>35.28 et X<39)(­0.4054X+15.3108)+(X>39 et X<39.99)(­0.5)


5ème, Anonyme0 choisit un itinéraire très voisin de Grosged et Clifward, montant cette fois-ci à 2503,2€ sans besoin d'une optimisation aussi poussée.
Code: Tout sélectionner
0(X=0)+0.2(X>0 et X<0.3)+(X*6-0.3)(X>0.3 et X<0.6)+(X*1.9+1)(X>0.6 et X<2)+(X*0.45+3.76)(X>2 et X<8)+7.2(X>8 et X<11.5)+7.5(X>11.5 et X<12.57)+(­X*0.2+10)(X>12.57 et X<16.21)+(­X*0.69+18.2)(X>16.21 et X<21.45)+(­X*0.98+22.5)(X>21.45 et X<28)+(8.6876-0.48X)(X>28 et X<30.75)+(­67.42+2X)(X>30.75 et X<31.2)+­5(X>31.2 et X<31.81)+(­18.46+0.44X)(X>31.81 et X<39.39)+­0.51(X>39.39 et X<39.9)+0(X>39.9)+0(X>39.9)


En 4ème position, avec StarTrekVoyager, on affronte à nouveau le même raccourci du grand nord canadien.
L'optimisation est ici bien poussée, avec des bornes et paramètres jusuqu'à 3 et 9 décimales, nous faisant monter à 2506,9€.
Code: Tout sélectionner
(1.142857143*(X-0)+0)*(0<X et X≤0.175)+(5.636363636*(X-0.175)+0.2)*(0.175<X et X≤0.45)+(1.864661654*(X-0.45)+1.75)*(0.45<X et X≤1.78)+(0.5*(X-1.78)+4.23)*(1.78<X et X≤7.96)+(0.01447178*(X-7.96)+7.32)*(7.96<X et X≤11.415)+(0.4293785311*(X-11.415)+7.37)*(11.415<X et X≤12.3)+(­0.1205385165*(X-12.3)+7.75)*(12.3<X et X≤26.818181)+(­0.3849999615*(X-26.818181)+6)*(26.818181<X et X≤27.727272)+(0.0841688299*(X-27.727272)+5.65)*(27.727272<X et X≤29.45)+(0*(X-29.45)+5.795)*(29.45<X et X≤29.9)+(­0.2*(X-29.9)+5.795)*(29.9<X et X≤30.1)+(0*(X-30.1)+5.755)*(30.1<X et X≤31.4)+(­0.8772727273*(X-31.4)+5.755)*(31.4<X et X≤32.5)+(­1.605882353*(X-32.5)+4.79)*(32.5<X et X≤34.2)+(­0.7714285714*(X-34.2)+2.06)*(34.2<X et X≤35.25)+(­0.4133333333*(X-35.25)+1.25)*(35.25<X et X≤39)+(­0.1671671672*(X-39)+­0.3)*(39<X et X≤39.999)+(467*(X-39.999)+­0.467)*(39.999<X et X≤40)
Comment as-tu fait ?
Show/Hide spoilerAfficher/Masquer le spoiler
StarTrekVoyager a écrit:j'ai juste fait un petit programme en Basic qui se sert de la fonction toString( et qui transforme deux listes (en l'occurence L1 et L2) contenant les coordonnées en fonction piecewise. Au final, je suis passé par le Canada, et au fil d’optimisations pointilleuses et de l'aide de Hayleia ( :troll: ), j'ai fini par atteindre 2507, ce dont je suis fier car je suis le seul à avoir atteint ce score via le Passage du Nord-Ouest, et seulement 2 pixels rouges au milieu du trajet :P


3ème, Wistaro nous reprend le trajet passant au nord puis au Panama, et l'optimise à fond aux limites de la calculatrice avec des bornes et paramètres jusqu'à 12 décimales.
Ce travail énorme lui fait gagner 2520,8€.
Code: Tout sélectionner
(X≥0 et X<0.39040072)*(1.1154517614619X+0)+(X≥0.39040072 et X<0.6159999999999)*(6.2523551901438X+­2.0054507971278)+(X≥0.6159999999999 et X<1.5151817999999)*(2.0589510374876X+0.57768616090792)+(X≥1.5151817999999 et X<2.272727273)*(1.0357190795859X+2.1280686006988)+(X≥2.272727273 et X<8.18181833)*(0.48688104011428X+3.3754277814656)+(X≥8.18181833 et X<10.31757576008)*(0.00324894152321X+7.3324177506944)+(X≥10.31757576008 et X<12.459242419992)*(0.0651476536958X+6.6937730984024)+(X≥12.459242419992 et X<16.818100001)*(­0.24931238202496X+10.611706914846)+(X≥16.818100001 et X<21.21212121)*(­0.67863042907404X+17.832020762352)+(X≥21.21212121 et X<21.3436666726)*(­5.0339797617236X+110.2182187184)+(X≥21.3436666726 et X<21.66599999989)*(­5.0326587114136X+110.19002266093)+(X≥21.66599999989 et X<22.27)*(­1.510660628864X+33.8824122048)+(X≥22.27 et X<29.24242424)*(­0.82065043104722X+18.515885099421)+(X≥29.24242424 et X<31.21212121)*(­0.4781740360904X+8.5010450659072)+(X≥31.21212121 et X<31.730666669964)*(1.7532633637234X+­61.146849529606)+(X≥31.730666669964 et X<33.630000001)*(0.60265048290128X+­24.637135742072)+(X≥33.630000001 et X<39.613939381)*(0.6443365292748X+­26.039037481656)+(X≥39.613939381 et X<39.999)*(0.26151722801858X+­10.874056887815)+(X≥39.999 et X<40)*(413.6292843X+­16545.171372)
Comment t'y es-tu pris ?
Show/Hide spoilerAfficher/Masquer le spoiler
Wistaro a écrit:J'ai tout d'abord commencé par développer en langage TI-Basic un programme permettant de générer une trajectoire avec une série de points. Le fonctionnement est plutôt simple: on va tracer une fonction affine entre chaque points.
Pour cela, je vais d'abord trouver le coefficient directeur de cette droite en faisant la différence des valeurs en Y sur la différence des valeurs en X.
Pour trouver l'ordonnée à l'origine (B), il suffit de faire , pour un point, Y moins le coefficient directeur multiplié par la valeur de X.
Nous avons donc, entre 2 points A et B, une équation de la forme aX+B
Reste à faire cela entre les points B et C, C et D, etc...

Il faut ensuite appliquer telle fonction sur tel intervalle.
Donc, j'ai fais ceci:
(X >= POINT "gauche" and X< POINT suivant "droite") * (aX+B)
Ainsi, le premier point sera évalué avec la fonction aX+B.
Le second point, lui, sera évalué avec la fonction suivante, donc a'X+b'.

L'inverse pouvait provoquer des bugs, c'est pour cela que j'ai choisi ce sens.

Si l'on a 2 listes, l'une comportant les X (x1,x2,x3,x4...) et l'autres les Y (y1, y2, y3, y4, ...), la fonction totale se présente sous la forme:
(X >= x1 and X< x2) * (aX+B) + (X >= x2 and X< x3) * (a'X+B') + (X >= x3 and X< x4) * (a''X+B'')....

La génération de la fonction fonctionne. Il faut désormais définir la trajectoire.
J'ai tout d'abord commencé sur papier.
J'ai imprimé la carte en grand format et essayé de tracer à la règle (car la droite est la trajectoire la plus courte) la meilleure trajectoire.
Il ne restait ensuite qu'à stocker dans une liste les différentes coordonnées des points de ma trajectoire, puis d'appliquer mon programme de génération de fonction.
Au fur et à mesure, j'ai proposé divers trajectoires, m'améliorant de version en version. J'ai optimisé ma manière de travailler, en utilisant un double écran (sur un écran, la carte sur CEmu, avec la résolution quasi-maximale et sur l'autre le clavier).
J'ai finis par arriver à la limite de mon programme, vers les 2 500.
Pour continuer à grossir le score, j'ai conçu un autre algorithme pour affiner les points à 0.0001 près.
Le fonctionnement était trivial.Pour chaque point, il augmentait de 0.0001 sur Y, puis lançait la génération, puis lançait TOUR83, obtenait le score. Si le score était supérieur au score précédant, on recommence en augmentant de 0.001. Autrement, on diminuait.

Ce programme étant relativement lent, j'ai finis par affiner à la main tout les points , pour enfin arriver au score de 2 520,8.


Avec cette technique et cette trajectoire, je doute que l'on puisse aller plus loin.


2ème, Hayleia nous arrache 2574,0€.
Il s'agit à nouveau de partir vers le nord et d'affronter le Canada, mais à la différence de ses adversaires, tel un TASseur (Tool Assisted Speedrunneur) de jeux vidéo, Hayleia arrive à trouver au pixel près une façon de traverser le Canada sans escale !
Ses paramètres sont aussi optimisés à fond jusqu'à 12 décimales.
Mais sa stratégie est également bien différente des autres candidats. Au lieu d'être définie comme un assemblage de segments, sa fonction est ici définie point par point, pour chacune des 265 colonnes de pixels de la zone graphique, ce qui bien évidemment donne une équation ci-dessous beaucoup plus longue.
Une autre astuce apparemment payante, est également l'utilisation de la variable système ΔX accessible via :f44: :f105:, qui contient la distance séparent deux pixels consécutifs sur une même ligne.
Code: Tout sélectionner
0+(X=0ΔX)0+(X=1ΔX)0.167530487805+(X=2ΔX)0.637256097561+(X=3ΔX)1.122134146341+(X=4ΔX)1.622164634146+(X=5ΔX)2.137347560976+(X=6ΔX)2.39493902439+(X=7ΔX)2.652530487805+(X=8ΔX)2.91012195122+(X=9ΔX)3.167713414634+(X=10ΔX)3.425304878049+(X=11ΔX)3.682896341463+(X=12ΔX)3.955640243903+(X=13ΔX)4.107164634146+(X=14ΔX)4.25868902439+(X=15ΔX)4.334451219512+(X=16ΔX)4.410213414634+(X=17ΔX)4.485975609756+(X=18ΔX)4.561737804878+(X=19ΔX)4.6375+(X=20ΔX)4.713262195122+(X=21ΔX)4.789024390244+(X=22ΔX)4.864786585366+(X=23ΔX)4.940548780488+(X=24ΔX)5.01631097561+(X=25ΔX)5.092073170732+(X=26ΔX)5.167835365854+(X=27ΔX)5.243597560976+(X=28ΔX)5.3193597560972+(X=29ΔX)5.39512195122+(X=30ΔX)5.4708841463412+(X=31ΔX)5.5466463414632+(X=32ΔX)5.6224085365852+(X=33ΔX)5.6981707317072+(X=34ΔX)5.7739329268292+(X=35ΔX)5.8496951219512+(X=36ΔX)5.9254573170732+(X=37ΔX)6.0012195121952+(X=38ΔX)6.0769817073172+(X=39ΔX)6.1527439024392+(X=40ΔX)6.2285060975612+(X=41ΔX)6.3042682926832+(X=42ΔX)6.3800304878052+(X=43ΔX)6.4709451219512+(X=44ΔX)6.5618597560972+(X=45ΔX)6.652774390244+(X=46ΔX)6.74368902439+(X=47ΔX)6.8346036585372+(X=48ΔX)6.9103658536592+(X=49ΔX)6.98612804878+(X=50ΔX)7.0618902439032+(X=51ΔX)7.137652439024+(X=52ΔX)7.137652439024+(X=53ΔX)7.137652439024+(X=54ΔX)7.137652439024+(X=55ΔX)7.137652439024+(X=56ΔX)7.137652439024+(X=57ΔX)7.137652439024+(X=58ΔX)7.1528048780492+(X=59ΔX)7.1679573170732+(X=60ΔX)7.1831097560972+(X=61ΔX)7.198262195122+(X=62ΔX)7.213414634146+(X=63ΔX)7.2285670731712+(X=64ΔX)7.2437195121952+(X=65ΔX)7.25887195122+(X=66ΔX)7.274024390244+(X=67ΔX)7.289176829268+(X=68ΔX)7.3043292682932+(X=69ΔX)7.3194817073172+(X=70ΔX)7.3346341463412+(X=71ΔX)7.349786585366+(X=72ΔX)7.36493902439+(X=73ΔX)7.3800914634152+(X=74ΔX)7.3952439024392+(X=75ΔX)7.4103963414632+(X=76ΔX)7.425548780488+(X=77ΔX)7.440701219512+(X=78ΔX)7.440701219512+(X=79ΔX)7.440701219512+(X=80ΔX)7.440701219512+(X=81ΔX)7.440701219512+(X=82ΔX)7.440701219512+(X=83ΔX)7.440701219512+(X=84ΔX)7.440701219512+(X=85ΔX)7.440701219512+(X=86ΔX)7.440701219512+(X=87ΔX)7.440701219512+(X=88ΔX)7.440701219512+(X=89ΔX)7.440701219512+(X=90ΔX)7.440701219512+(X=91ΔX)7.440701219512+(X=92ΔX)7.440701219512+(X=93ΔX)7.440701219512+(X=94ΔX)7.440701219512+(X=95ΔX)7.440701219512+(X=96ΔX)7.440701219512+(X=97ΔX)7.440701219512+(X=98ΔX)7.440701219512+(X=99ΔX)7.440701219512+(X=100ΔX)7.440701219512+(X=101ΔX)7.440701219512+(X=102ΔX)7.440701219512+(X=103ΔX)7.440701219512+(X=104ΔX)7.440701219512+(X=105ΔX)7.440701219512+(X=106ΔX)7.440701219512+(X=107ΔX)7.440701219512+(X=108ΔX)7.440701219512+(X=109ΔX)7.440701219512+(X=110ΔX)7.440701219512+(X=111ΔX)7.440701219512+(X=112ΔX)7.440701219512+(X=113ΔX)7.440701219512+(X=114ΔX)7.440701219512+(X=115ΔX)7.440701219512+(X=116ΔX)7.440701219512+(X=117ΔX)7.440701219512+(X=118ΔX)7.440701219512+(X=119ΔX)7.440701219512+(X=120ΔX)7.440701219512+(X=121ΔX)7.440701219512+(X=122ΔX)7.440701219512+(X=123ΔX)7.440701219512+(X=124ΔX)7.440701219512+(X=125ΔX)7.440701219512+(X=126ΔX)7.440701219512+(X=127ΔX)7.440701219512+(X=128ΔX)7.440701219512+(X=129ΔX)7.440701219512+(X=130ΔX)7.440701219512+(X=131ΔX)7.440701219512+(X=132ΔX)7.440701219512+(X=133ΔX)7.440701219512+(X=134ΔX)7.440701219512+(X=135ΔX)7.440701219512+(X=136ΔX)7.440701219512+(X=137ΔX)7.440701219512+(X=138ΔX)7.440701219512+(X=139ΔX)7.440701219512+(X=140ΔX)7.440701219512+(X=141ΔX)7.440701219512+(X=142ΔX)7.440701219512+(X=143ΔX)7.440701219512+(X=144ΔX)7.440701219512+(X=145ΔX)7.440701219512+(X=146ΔX)7.440701219512+(X=147ΔX)7.440701219512+(X=148ΔX)7.440701219512+(X=149ΔX)7.440701219512+(X=150ΔX)7.440701219512+(X=151ΔX)7.440701219512+(X=152ΔX)7.440701219512+(X=153ΔX)7.440701219512+(X=154ΔX)7.440701219512+(X=155ΔX)7.440701219512+(X=156ΔX)7.440701219512+(X=157ΔX)7.440701219512+(X=158ΔX)7.440701219512+(X=159ΔX)7.440701219512+(X=160ΔX)7.440701219512+(X=161ΔX)7.440701219512+(X=162ΔX)7.440701219512+(X=163ΔX)7.440701219512+(X=164ΔX)7.440701219512+(X=165ΔX)7.440701219512+(X=166ΔX)7.440701219512+(X=167ΔX)7.440701219512+(X=168ΔX)7.440701219512+(X=169ΔX)7.440701219512+(X=170ΔX)7.440701219512+(X=171ΔX)7.440701219512+(X=172ΔX)7.440701219512+(X=173ΔX)7.440701219512+(X=174ΔX)7.440701219512+(X=175ΔX)7.440701219512+(X=176ΔX)7.440701219512+(X=177ΔX)7.440701219512+(X=178ΔX)7.440701219512+(X=179ΔX)7.440701219512+(X=180ΔX)7.440701219512+(X=181ΔX)7.274024390244+(X=182ΔX)7.198262195122+(X=183ΔX)7.1225+(X=184ΔX)7.0921951219512+(X=185ΔX)7.0618902439032+(X=186ΔX)7.031585365854+(X=187ΔX)7.0012804878052+(X=188ΔX)6.970975609756+(X=189ΔX)6.970975609756+(X=190ΔX)6.970975609756+(X=191ΔX)6.98612804878+(X=192ΔX)6.9103658536592+(X=193ΔX)6.8346036585372+(X=194ΔX)6.728536585366+(X=195ΔX)6.6224695121952+(X=196ΔX)6.5315548780492+(X=197ΔX)6.2133536585372+(X=198ΔX)5.9103048780492+(X=199ΔX)5.7587804878052+(X=200ΔX)5.74362804878+(X=201ΔX)5.728475609756+(X=202ΔX)5.713323170732+(X=203ΔX)5.6981707317072+(X=204ΔX)5.6830182926832+(X=205ΔX)5.6678658536592+(X=206ΔX)5.652713414634+(X=207ΔX)5.63756097561+(X=208ΔX)5.6224085365852+(X=209ΔX)5.4708841463412+(X=210ΔX)5.3193597560972+(X=211ΔX)5.167835365854+(X=212ΔX)5.01631097561+(X=213ΔX)4.864786585366+(X=214ΔX)4.713262195122+(X=215ΔX)4.561737804878+(X=216ΔX)4.3647560975612+(X=217ΔX)4.167774390244+(X=218ΔX)3.970792682927+(X=219ΔX)3.77381097561+(X=220ΔX)3.576829268293+(X=221ΔX)3.379847560976+(X=222ΔX)3.182865853659+(X=223ΔX)2.985884146341+(X=224ΔX)2.788902439024+(X=225ΔX)2.591920731707+(X=226ΔX)2.39493902439+(X=227ΔX)2.197957317073+(X=228ΔX)2.000975609756+(X=229ΔX)1.819146341463+(X=230ΔX)1.66762195122+(X=231ΔX)1.561554878049+(X=232ΔX)1.455487804878+(X=233ΔX)1.364573170732+(X=234ΔX)1.334268292683+(X=235ΔX)1.303963414634+(X=236ΔX)1.273658536585+(X=237ΔX)1.243353658537+(X=238ΔX)1.213048780488+(X=239ΔX)1.182743902439+(X=240ΔX)1.15243902439+(X=241ΔX)1.122134146341+(X=242ΔX)1.091829268293+(X=243ΔX)1.061524390244+(X=244ΔX)1.031219512195+(X=245ΔX)1.000914634146+(X=246ΔX)0.970609756097+(X=247ΔX)0.940304878049+(X=248ΔX)0.91+(X=249ΔX)0.879695121951+(X=250ΔX)0.849390243903+(X=251ΔX)0.819085365854+(X=252ΔX)0.788780487805+(X=253ΔX)0.758475609756+(X=254ΔX)0.728170731707+(X=255ΔX)0.713018292683+(X=256ΔX)0.697865853659+(X=257ΔX)0.682713414634+(X=258ΔX)0.66756097561+(X=259ΔX)0.652408536585+(X=260ΔX)0.637256097561+(X=261ΔX)0.622103658537+(X=262ΔX)0.394817073171+(X=263ΔX)0.167530487805+(X=264ΔX)0
Peux-tu expliquer les astuces qui t'ont permis d'atteindre un tel score ?
Show/Hide spoilerAfficher/Masquer le spoiler
Au départ, j'essayais simplement de traduire une liste de points cherchés à la main en une fonction ligne brisée afin d'obtenir une courbe potable, en passant notamment par le Canada (le passage à 2 pixels), directement sur calculatrice.

Ensuite, ayant appris que le Panama avait un passage sans rouge, j'ai écrit quelques programmes de bruteforce en Basic afin d'essayer rapidement des points et trouver comment y passer, et Ruadh a été assez sympathique pour m'indiquer qu'il fallait une certaine pente. Ceci sur CEmu afin de tester plus vite.
Une fois ce bruteforce effectué et une courbe à 2528 trouvée, j'ai pensé que quitte à écrire des bruteforces, autant en écrire un qui me donne toute la trajectoire. J'ai donc converti l'image du planisphère avec sourcecoder et écrit un programme C pour PC qui teste "tous" les Y possibles (évidemment sur un échantillon discret paramétrable avec un pas) pour tous les I possibles et qui renvoie le plus court chemin. Ruadh a aussi été d'une grande aide pour les corrections de ce programme, sur le calcul du coût (à traduire depuis le Basic) ou la "traduction en fonction" finale (j'ai longtemps pensé que mon bruteforce ne fonctionnait pas alors que c'était la traduction en fonction qui posait problème). Il y avait notamment un bug final qui n'a pas été corrigé avant l'envoi de la fonction qui faisait que le bruteforce trouvait un bon chemin mais n'arrivait pas à sortir une liste de points (problème de précision des float...). La fonction que j'ai envoyée provient donc d'un bruteforce de Ruadh, mon programme ayant un score inférieur de 0.5€ (le problème a été résolu ensuite, et de toute façon à 0.5€ près j'ai la même place au classement...).

Si ça vous intéresse aussi, le bruteforce ne tourne qu'en 5 minutes, pas plus. Il serait plus lent avec une précision supérieure mais cela semblait inutile (et il pourrait être amélioré mais j'ai la flemme).


1er, Ruadh nous décroche le gros lot avec 2574,4€.
La trajectoire est similaire à celle de Hayleia, mais avec à nouveau un assemblage de segments et donc une équation beaucoup plus courte.
La méthode de recherche utilisée est par contre visiblement beaucoup moins empirique que celle des concurrents, puisqu'il n'y a aucune approximation dans l'équation, juste des valeurs exactes.
En plus de la variable système ΔX, il utilise également la variable système ΔY également accessible via :f44: :f105: , et donnant cette fois-ci la distance séparant deux pixels consécutifs dans une même colonne.
Code: Tout sélectionner
ΔY(157/142(X=ΔX)+(13/4/ΔXX-609/284)(X>ΔX et X≤5ΔX)+(12/7/ΔXX+5501/994)(X>5ΔX et X≤12ΔX)+(X/ΔX+2003/142)(X>12ΔX et X≤14ΔX)+(17/33/ΔXX+97907/4686)(X>14ΔX et X≤47ΔX)+(X/ΔX/2+1534/71)(X>47ΔX et X≤51ΔX)+(X/ΔX/13+79715/1846)(X>51ΔX et X≤77ΔX)+6973/142(X>77ΔX et X≤180ΔX)+(9841/71-X/2/ΔX)(X>180ΔX et X≤183ΔX)+(59431/710-X/5/ΔX)(X>183ΔX et X≤188ΔX)+6547/142(X>188ΔX et X≤191ΔX)+(10054/71-.5/ΔXX)(X>191ΔX et X≤193ΔX)+(74027/426-2/3/ΔXX)(X>193ΔX et X≤196ΔX)+(61785/142-2/ΔXX)(X>196ΔX et X≤198ΔX)+5411/142(X=199ΔX)+(76957/1278-X/ΔX/9)(X>199ΔX et X≤208ΔX)+(34805/142-X/ΔX)(X>208ΔX et X≤215ΔX)+(304695/994-9/7/ΔXX)(X>215ΔX et X≤229ΔX)+1577/142(X=230ΔX)+(70051/426-2/3/ΔXX)(X>230ΔX et X≤233ΔX)+(100817/1988-5/28X/ΔX)(X>233ΔX et X≤261ΔX)+(28088/71-3/2/ΔXX)(X>261ΔX et X≤263ΔX))-­11(X≥181ΔX et X≤183ΔX ou X=188ΔX ou X=198ΔX ou X=199ΔX ou X≥229ΔX et X≤233ΔX
Quel est ton secret ?
Show/Hide spoilerAfficher/Masquer le spoiler
J'ai travaillé uniquement en utilisant les pixels, en utilisant ΔX et ΔY. D'abord il a fallu trouver la trajectoire optimale, ce qui m'a pris un certain temps. Pour cela, je me suis aidé du programme du concours grâce auquel j'ai remarqué que seuls les pixel de départ et d'arrivé (et ceux directement en dessous) étaient importants (c'était en v3, ça a été modifié par la suite), on pouvait donc traverser la terre s'il y avait deux cases vides (eau) adjacentes ou diagonalement voisines. Cela autorisait à passer à deux endroits, au Canada et au Panama. Le Canada semble le passage qui réduit au maximum la distance et c'est donc celui que j'ai choisit d'emprunter.

J'ai ensuite cherché les coordonnées en pixels (plus simple car ce ne sont que des entiers naturels) pour lesquelles je doit changer la pente de la fonction. Je me suis ensuite servi du fait que le programme arrondit les pixels à l'entier le plus proche pour optimiser la trajectoire. J'ai ainsi pu ajouter ou enlever 0,5 à chaque ordonnée Y pour avoir la pente de chaque partie de la fonction la plus petite en valeur absolue. J'ai ensuite cherché les fonctions affines qui reliaient chacun de ces pixels, de la façon suivante (f(x)=a.(ΔY/ΔX).X+b une fonction affine utilisée pour X1⩽X⩽X2 , Y1=f(X1), Y2=f(X2) , X1,Y1,X2,Y2 sont en pixels) : a=-(Y2-Y1)/(X2-X1) et b=y1-a.(ΔY/ΔX).x1 . J'ajoute ensuite les valeurs (plus en pixels cette fois) minimale et maximale de X (X1.ΔX et X2.ΔX respectivement) ce qui donne : (a.(ΔY/ΔX).X+b)(X>X1.ΔX et X⩽X.ΔX).

Une fois cela fait, j'ai tout rassemblé en une unique fonction affine par morceaux simplement en ajoutant un plus (+) entre chaque fonction.




Nous tenons à remercier et féliciter tous les participants pour leurs recherches et productions très intéressante et pertinentes. :bj:
En effet le climat a évolué depuis l'époque de Jules Verne, et avec la fonte des glaces il est vrai que le grand nord canadien devient de plus en plus navigable et est donc un enjeu économique important.

Comme prévu, nous allons donc maintenant contacter dans l'ordre chaque gagnant, afin qu'il puisse choisir son lot.



Et à bientôt pour un futur concours ! ;)
Lien vers le sujet sur le forum: Résultats concours 2016 : le Tour du monde en 83 Premium CE (Commentaires: 66)

Test matériel prototype TI-Innovator Hub DVT

Nouveau messagede critor » 12 Oct 2016, 13:37

72897288Dans plusieurs articles précédents, nous avons vu comment programmer le TI-Innovator Hub et construit plusieurs projets.
Aujourd'hui, nous allons enfin regarder en détail comment fonctionne ce périphérique, et lui arracher tous ses secrets ! ;)
Comme indiqué au dos, l'échantillon analysé ici n'est pas le produit final mais un prototype de niveau DVT. Usuellement, cela implique quand même qu'il sera très proche des modèles de production, la phase d'ingénierie ayant été validée et étant donc terminée selon la classification du musée Datamath :
  1. PROTO
  2. EVT (Engineering Validation Test)
  3. DVT (Design Validation Test)
  4. PVT (Production Validation Test)
  5. MP (Mass Production)

7285728772867284Ce périphérique prévu pour TI-83 Premium CE et TI-Nspire CX offre nombre de composants d'entrée/sortie permettant de coder en interaction avec le monde réel, nouvelle orientation définie par les programmes appliqués depuis cette rentrée au collège :
  • On note déjà au dos un élément sonore intégré, légendé de façon fort pratique avec l'identifiant à utiliser dans les programmes : SOUND.
  • Sur la gauche, 3 ports d'entrée pour capteurs Groove analogiques, IN 1, IN 2 et IN 3, les deux premiers en 3,3 Volts et le dernier en 5 Volts.
  • Sur la droite, 3 ports de sortie pour actionneurs Groove digitaux, OUT 1, OUT 2 et OUT 3, les deux premiers là encore en 3,3 Volts et le dernier en 5 Volts.
  • Sur le haut, un port BREADBOARD pour utiliser une platine d'expérimentation, et un port micro-USB type B pour une alimentation optionnelle et la mise à jour du firmware depuis un ordinateur.
  • Sur le bas, un capteur de luminosité intégré LIGHT, un port pour éléménts Groove série (protocole I²C), et un port mini-USB B dit DATA pour le contrôle de tous les éléments précédents depuis un programme calculatrice.

73087306Dévissons et retirons la façade du TI-Innovator. Ce périphérique fait usage d'une carte de développement TI-LaunchPad MSP-EXP432P401R qui peut être acquise séparément. Ces cartes portent une double référence car elles comportent deux zones distinctes. Et l'on peut justement noter de grosses différences entre les références de la carte TI-Innovator et de celle achetée séparément :
  • FP14-10 + MSP-EXP432P401R-ET pour la carte venant dans le TI-Innovator
  • MSP-EXP432P401R Rev 1.0 + XDS110-ET Rev 1.0 pour la carte achetée séparément
Malgré nombre de différences visuelles, les deux cartes ont des architectures identiques :
  • Dans la zone inférieure, une architecture autour d'un microcontrôleur Texas Instruments XMS432P401R regroupant :
    • un processeur ARM Cortex-M4F 32-bits 48MHz
    • 64Ko de mémoire de travail
    • 256Ko de mémoire Flash
    C'est cette zone qui est programmable et donc contrôlable par l'utilisateur.
  • Dans la zone supérieure, une architecture organisée autour d'un microcontrôleur Texas Instruments TM4C1294NCPDT rassemblant :
    • un processeur ARM Cortex-M4F 32-bits 120MHz
    • 256Ko de mémoire cache (SRAM)
    • 1Mo de mémoire Flash
    Cette zone s'occupe du contrôle de la zone XMS432P401R, étant capable d'en prendre le contrôle pour reprogrammer son microprogramme (firmware) ou encore pauser son exécution pour débugage. En théorie, même si la zone XMS432P401R a reçu de l'utilisateur un programme fortement défectueux, il est impossible de la bloquer définitivement ! :bj:
66327313La carte TI-LaunchPad intègre plusieurs éléments programmables :
  • 1 diode rouge LED1
  • 1 diode RVB LED2
  • 2 boutons poussoirs S1 et S2
    (le bouton S3 étant dédié à la réinitialisation la carte)
Et justement, parmi les nombreuses différences entre les deux cartes, on peut noter que les trois boutons S1, S2 et S3 ont été déplacés sur les côtés pour la carte du TI-Innovator, peut-être dans l'idée d'une meilleure accessibilité une fois la carte enfermée dans le TI-Innovator.
Mais au final, comme la face avant de ce prototype TI-Innovator ne dispose pas de fentes latérales et doit donc dans tous les cas être dévissée avec un outil pour permettre l'accès à ces boutons, l'intérêt de cette modification reste très discutable.

7295La carte TI-LaunchPad est donc loin de fournir toute la connectivité décrite plus haut. Il nous reste donc des secrets à découvrir dans la base inférieure du TI-Innovator... retirons-la ! ;)
Et avant même de nous attaquer à ce que renferme la base du TI-Innovator, nous notons une différence majeure sur le verso des cartes TI-LaunchPad, au niveau du bloc J101.

73087307Attardons-nous donc sur ce bloc. Sur la carte TI-LaunchPad achetée séparément, ce bloc constitue un pont entre les deux zones de la carte TI-LaunchPad, destiné à être configuré à l'aide de cavaliers (jumpers) et contrôlant la communication entre ces deux zones.
Y sont présents entre autres :
  • 5V, l'alimentation 5 Volts
  • 3V, l'alimentation 3 Volts
  • RTS, signal de réinitialisation
  • CTS, le signal d'horloge
  • RXD, une voie de communication série de la zone TM4C1294NCPDT vers la zone XMS432P401R
  • TXD, une voie de communication série de la zone XMS432P401R vers la zone TM4C1294NCPDT

73107312Sur la carte venant avec le TI-Innovator les cavaliers sont absents et le bloc J101 se prolonge sur le dessous de la carte via un connecteur femelle dans laquelle s'enfiche la base du TI-Innovator.
L'interfaçage avec la base du TI-Innovator s'effectue également avec deux autres connecteurs à 2x10=20 broches chacun, J1 et J4.

Pourquoi cette modification ? Nos tests montrent que :
  • Dans le TI-Innovator, la carte TI-LaunchPad intégrée n'est contrôlable depuis la calculatrice que via le port mini-USB fourni par la base.
    Le port micro-USB intégré à la carte est inopérant si connecté à la calculatrice, réservé à la mise à jour du firmware depuis un ordinateur ou à une alimentation optionnelle.
  • Si déconnectée de sa base, la carte TI-LaunchPad du TI-Innovator peut être utilisée exactement comme une carte TI-LaunchPad normale, à condition de rajouter sur son bloc J101 les jumpers 5V, 3V, RX et TX manquants.
    Son contrôle depuis la calculatrice reste parfaitement possible dans cette configuration, mais via son connecteur micro-USB intégré.
  • On peut remplacer la carte du TI-LaunchPad intégrée au TI-Innovator par la carte TI-LaunchPad achetée séparément, une fois le firmware TI-Innovator installé dessus.
    La carte ainsi que les éléments de la base du TI-Innovator sont parfaitement contrôlables depuis la calculatrice.
    Par contre, le contrôle nécessite là encore l'usage du connecteur micro-USB intégré à la carte, le connecteur mini-USB de la base étant inopérant.

En conséquence, cela veut dire que :
  • La communication avec les ports et éléments intégrés à la base du TI-Innovator s'effectue via les connecteurs J1 et J4, bien présents sur les deux cartes.
  • Le bloc J101 modifié a donc pour seul rôle de délocaliser la communication USB avec la zone XMS432P401R de la carte TI-LaunchPad, du connecteur micro-USB intégré vers le connecteur mini-USB apporté par la base du TI-Innovator.
    Une raison évidente à ce changement est que cela rend possible la connexion du TI-Innovator à la calculatrice via le câble mini-USB (A) <-> mini-USB (B) fourni avec tout achat neuf pour la communication entre deux calculatrices, câble qui devient donc interchangeable avec celui fourni avec le TI-Innovator.
    Sans cela, TI aurait dû faire produire en masse une solution de connectivité mini-USB A <-> micro-USB (B).

72997298Ceci étant compris, attaquons-nous à la base du TI-Innovator.
Malgré sa taille imposante, nous y notons que l'élément sonore n'est apparemment pas un haut-parleur mais un buzzer, dont la connexion se fait sans fil par simple contact avec une deuxième carte électronique.

7301Cette carte dispose d'une référence FP14-20-2 allant donc de pair avec la FP14-10 de la carte TI-LaunchPad du TI-Innovator.
C'est donc cette carte qui fournit les éléments et ports additionnels non intégrés à la carte TI-LaunchPad :
  • la sortie pour le buzzer
  • le port mini-USB
  • le capteur de lumière
  • les 7 connecteurs Grove
  • le port BreadBoard
On note qu'électroniquement, cette carte FP14-20-2 n'est pas bien intéressante et ne fait sans doute pas grand chose par elle-même, ne disposant que de rares circuits intégrés et de plus assez petits (en terme de nombre de broches).
Lien vers le sujet sur le forum: Test matériel prototype TI-Innovator Hub DVT (Commentaires: 13)

Structure électronique de l'atome dans ta TI-Nspire

Nouveau messagede critor » 15 Oct 2016, 14:51

Aujourd'hui, nous te présentons un petit programme Lua très utile pour ta TI-Nspire si tu étudies la structure électronique de l'atome, et donc peut-être sans le savoir tel Monsieur Jourdain, le 1er nombre quantique. ;)
Ce thème est abordé en Seconde avec les 18 premiers éléments chimiques, puis repris en BAC+1 selon le cursus choisi.

7385Elements par MrZ te donne la répartition des électrons sur les différentes couches (1er nombre quantique) entourant les noyaux atomiques. :)
Outre son utilité, le programme dispose de nombre de points forts :
  • Il gère l'intégralité des 118 éléments chimiques, et saura donc t'accompagner aussi bien au lycée que dans l'enseignement supérieur ! :bj:
  • Il respecte l'ordre de remplissage des couches et sous-couches tel que défini par la règle de Klechkowski et pas ses quelques exceptions ! :bj:
  • Et en prime, la représentation est même animée ! :bj:

On pourra regretter que la sélection de l'élément nécessite l'usage de touches peu intuitives et surtout non documentées ni à l'écran ni dans le document :
  • touches :ns6: et :ns4: pour augmenter ou diminuer le numéro atomique de 1
  • touches :ns8: et :ns2: pour augmenter ou diminuer le numéro atomique de 10

De façon maintenant plus scientifique, on pourra regretter :
  • L'absence d'une transcription écrite usuelle du remplissage.
    Ci-contre, cela s'écrirait (K)2(L)8(M)18(N)13(O)2
  • L'absence d'informations sur le remplissage des orbitales ou sous-couches (2ème nombre quantique), alors que le programme est de toutes façons obligé d'en tenir compte pour l'ordre de remplissage des couches.
    Ci-contre, cela s'écrirait en forme complète 1s22s22p63s23p64s23s104p65s24d5
    ou encore en forme abrégée [Kr]4d55s2



Téléchargement : archives_voir.php?id=694122

Source : http://www.cncalc.org/forum.php?mod=vie ... &tid=12417
Lien vers le sujet sur le forum: Structure électronique de l'atome dans ta TI-Nspire (Commentaires: 1)

Programme révolutionnaire Distance avec étapes + rédaction

Nouveau messagede critor » 16 Oct 2016, 13:25

Depuis la sortie de la version système 5.2, le langage de programmation de la TI-83 Premium CE permet de réaliser des affichages juxtaposant textes et nombres.
Des capacités totalement inédites sur un modèle de milieu de gamme ! :bj:

En pratique, cela veut dire qu'il est maintenant très facile de réaliser des programmes de calcul donnant de façon claire les différentes étapes conduisant à leur résultat. :bj:
Dans un article précédent, nous te montrions ce que cela pouvait donner avec un programme de calcul des coordonnées du milieu en Seconde.

7386Aujourd'hui nous restons sur le niveau Seconde mais avec cette fois-ci un programme de calcul de la distance entre deux points dans un repère orthonormal, encore une fois le meilleur programme de ce genre jamais sorti sur une calculatrice graphique ! :bj:
  • contrairement à bon nombre d'autres programmes du genre, possibilité de préciser toi-même les noms des points, et donc d'obtenir directement une rédaction correcte ! :bj:
  • présentation correcte prête à être recopiée ! :bj:
  • présentation claire avec un code couleur des données, du raisonnement, des formules du cours recontextualisées, des calculs intermédiaires et des résultats ! :)
  • jusqu'à 4 étapes de calculs intermédiaires selon les simplifications possibles ! :bj:
  • avec la touche :f11: tu peux cibler au choix un résultat en écriture exacte ou décimale :)
  • en fin de programme, le résultat final est repris sur l'écran de calculs, et même pour plus de lisibilité détaillé en écriture naturelle pour les formes exactes éventuelles ! :bj:
  • fractions, racines carrées, sommes avec racines, quotients avec racines... rien ne lui fait peur ! :#tritop#:

Bien évidemment... ce programme sera banni de la mémoire lors de l'activation du mode examen à partir de 2018. Pour le reste de l'année scolaire, c'est à toi de décider de t'appuyer dessus ou pas.

Téléchargement : archives_voir.php?id=694544
Lien vers le sujet sur le forum: Programme révolutionnaire Distance avec étapes + rédaction (Commentaires: 0)

Fighters, jeu de combat 2 joueurs en Lua pour toute Nspire

Nouveau messagede critor » 16 Oct 2016, 16:10

Aujourd'hui, nouveau jeu de combat en Lua par MrZ pour tous les utilisateurs de TI-Nspire.

7387Toi et ton adversaire choisissez votre bonhomme dessiné de façon stylisé et devez vous affronter.
Les touches de contrôle des deux joueurs sont disposées de façon similaire de chaque côté du clavier, permettant de jouer de façon très confortable en classe en mettant la calculatrice entre toi et ton voisin : :)
  • touches :ns4: et :nssg: pour avancer
  • touches :ns7: et :ns3: pour reculer
  • touches :ns0: et :ns9: pour sauter
  • touches :ns1: et :ns6: pour attaquer
Notons qu'en contraste avec le dessin simpliste des bonhommes l'attaque est particulièrement soignée, donnant alternativement des coups de poingt et pied animés de façon réaliste - ce qui donne un certain charme à la chose. ;)

Tu disposes également de pouvoirs spéciaux, mais sache les utiliser avec parcimonie car tu seras ensuite vulnérable à attendre que ta barre d'énergie se reremplisse : ;)
  • touches :nspd: et :ns5: pour les yeux qui tuent avec le laser à la Superman
  • touches :nspf: et :ns8: pour la téléportation


Téléchargement : archives_voir.php?id=694691

Source : http://www.cncalc.org/forum.php?mod=vie ... &tid=12420
Lien vers le sujet sur le forum: Fighters, jeu de combat 2 joueurs en Lua pour toute Nspire (Commentaires: 1)

Joue tes musiques MIDI sur TI-Innovator avec ta 83Premium CE

Nouveau messagede critor » 16 Oct 2016, 19:02

Dans un article précédent dans le contexte du projet MUSATOR, nous te développions un moyen de transcrire très facilement et de façon complète tes partitions sur ta calculatrice graphique TI-83 Premium CE.
Une fois cette tâche terminée, tu pouvais alors les jouer sur le périphérique TI-Innovator si connecté. :)

Mais évidemment, si il s'agissait non pas de composer quelque chose mais de retranscrire une longue partition déjà existante, l'activité n'était pas des plus passionnantes.

Aujourd'hui, TI-Planet te lance un nouveau service entièrement gratuit, MIDIVATOR, qui te convertit automatiquement tes musiques MIDI au format MUSATOR !
Tu n'as alors plus qu'à copier/coller et jouer. :bj:

Et nous allons de suite placer la barre très haut - voici en vidéo ce que ça donne avec l'air Der Hölle Rache extrait de la Flûte enchantée de Mozart : ;)

Code: Tout sélectionner
152:7 .O34A.A.A.*6D.,4A.*F.F.E.E.5D..3 ,5A..7 *G6E.4C+.5A..3 5D..7 D+6F+.4F+.5G..3 5A..7A+.5G..D+..D..C+..7 .,F5A..*C..7F6 .4C.5A4G.5F4E.5D4C.,5A+4A.5A+..3 *5G..6 .4G.5A+4A.5G4F.5E4D.5C,4A+.5A..3 *5F..7 .,5A+..*D..F..7A+6A..3 ..6G+.4F.6G+.4F.7E6 5C..7F6G..3 ..5A.7 4C.C.6F.4F.6G.4G.7A5 ..3A+A..4GA3A+ *C..4 3C.4 3C.4 3C.4 3C.4 3C.4 3C.4 3C.4 ,7F5 ..3GF..4EF3G A..4 3A.4 3A.4 3A.4 3A.4 3A.4 3A.4 3A.4 7D5 ..3ED..4CD3E F..4 3F.4 3F.4 3C.4 3G.4 3G.4 3G.4 3C.4 3A..4 3F.4 3A.4 *3C.4 3F.4 3C.4 3D.4 ,3A+.4 *3C..4 ,3F.4 3A.4 *3C.4 3F.4 3C.4 3D.4 ,3A+.4 *5C..6 ,F.4F.7G6A+..3 ..7C.5D4E.7F5 ..3A+A..4GA3A+ *C..4 3C.4 3C.4 3C.4 3C.4 3C.4 3C.4 3C.4 ,7F5 ..3GF..4EF3G A..4 3A.4 3A.4 3A.4 3A.4 3A.4 3A.4 3A.4 7D5 ..3ED..4CD3E F..4 3F.4 3F.4 3C.4 3G.4 3G.4 3G.4 3C.4 3A..4 3F.4 3A.4 *3C.4 3F.4 3C.4 3D.4 ,3A+.4 *3C..4 ,3F.4 3A.4 *3C.4 3F.4 3C.4 3D.4 ,3A+.4 *5C..6 ,F.4F.6G.4G.6G+.4G+.5A.6 .F..3 ..7C.5D4E.5F..


Tu peux très facilement ajuster la conversion.
Pour le rythme, il te suffit de modifier la valeur numérique en début de chaîne, donnant le nombre de battements (noires) à la minute. :)
Pour l'octave, le convertisseur code le seul octave de départ en absolu en début de chaîne (O0, O1, O2, ..., O9) et tous les autres changements d'octave en relatif. Tu as donc la seule valeur de départ à modifier si tu souhaites jouer la musique plus haut ou plus bas. :)

Précisons que le périphérique TI-Innovator ne dispose que d'une seule voie.
A moins de disposer de plusieurs périphériques (et de plusieurs calculatrices...), il est donc impossible de jouer plusieurs notes en même temps.

Le convertisseur prévoit cette situation et te laisse sélectionner la (ou les) piste(s) à convertir, normalement au moins la piste de l'instrument principal.

Si malgré ta sélection plusieurs notes sont jouées en même temps, le convertisseur privilégiera à chaque fois la note la plus remarquable afin de choquer le moins possible l'oreille, c'est-à-dire la note la plus haute.


Quand est-ce qu'on se monte un orchestre avec plein de périphériques TI-Innovator ? ;)


Lien : https://tiplanet.org/scripts/midivator/

Crédits : fichier MIDI converti
Lien vers le sujet sur le forum: Joue tes musiques MIDI sur TI-Innovator avec ta 83Premium CE (Commentaires: 0)

-
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.
1301 utilisateurs:
>1288 invités
>8 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)