π
<-

News 2025
May (3)
April (2)

News 2024
August (1)
July (1)
May (1)

News 2023
June (2)
April (1)
March (2)

News 2022
July (1)
June (4)
May (4)
April (4)
March (3)

News 2021
August (5)
July (1)
June (1)
May (3)
April (12)
March (4)

News 2020
August (1)
July (3)
June (2)
May (2)
April (7)
March (4)

News 2019
August (1)
June (1)
May (3)
April (7)
March (10)

News 2018
August (3)
July (7)
June (3)
May (8)
April (13)
March (5)

News 2017
August (1)
July (1)
May (10)
April (3)
March (4)

News 2016
August (12)
July (3)
June (8)
May (12)
April (7)
March (9)

News 2015
August (11)
July (7)
June (6)
May (10)
April (2)
March (6)

News 2014
October (12)
August (4)
July (3)
June (13)
May (14)
April (12)
March (15)

News 2013
October (30)
August (14)
July (8)
June (27)
May (12)
April (29)
March (19)
January (27)

News 2012
October (37)
August (40)
July (27)
June (19)
May (35)
April (34)
March (42)
January (46)

News 2011
October (22)
August (23)
July (14)
June (29)
May (44)
April (24)
March (27)

News 2010
August (6)
July (10)
June (4)
May (1)
April (2)
March (1)

News 2009
June (1)

Module Python accéléromètre ADXL335 pour TI-Nspire CX II

New postby critor » 12 Apr 2021, 20:49

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 Edition, 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

En plus de son capteur de luminosité intégré (BRIGHTNESS), le TI-Innovator Hub te permet de connecter des capteurs externes :
  • soit sur ses ports IN 1, IN 2 et IN 3 des capteurs Grove
  • soit sur son port breadboard à 10 broches programmables

Nombre de capteurs différents sont gérés et interrogeables directement d'une simple ligne.

Commençons déjà par les capteurs les plus simples supportés aussi bien au format Grove que breadboard :
  • LIGHTLEVEL : capteur de luminosité
  • MOISTURE : capteur d'humidité
  • MOTION : capteur de mouvement infrarouge
  • POTENTIOMETER : potentiomètre rotatif
  • TEMPERATURE : capteur de température
  • BUTTON : bouton poussoir
  • SWITCH : interrupteur
75187590752075217516


D'autres capteurs plus évolués sont supportés uniquement au format Grove :
  • RANGER : capteur de distance à ultrasons
  • LOUDNESS : intensité sonore
  • DHT : capteur numérique d'humidité et température
  • MAGNETIC : capteur de champ magnétique
751275197522

Très joli, mais ne manquerait-il pas encore quelque chose pour des projets STEM ? Il n'y a pas d'accéléromètre, alors que c'est un capteur très répandu de nos jours (smartphones, montres connectées notamment pour le fitness, voitures notamment pour les airbags ou encore l'aide à la conduite...).

Les accéléromètres sont des micro systèmes électromécaniques (MEMS) détectant selon 3 axes l'accélération momentanée de l'objet dont ils font partie. Les mesures brutes superposent les effets de 2 phénomènes physiques, avec :
  • une composante statiques qui est la gravité s'appliquant à tout objet sur Terre
  • et une composante dynamique (accélération ou décélération dans le référentiel galiléen)

L'accéléromètre est ainsi un élément clé qui ouvre la porte à nombre de projets concrets.

9349Et bien nous ne t'avions pas encore tout dit. Il y avait déjà une solution même si elle est très loin d'être pleinement satisfaisante.

L'interface TI-SensorLink te permet d'adapter les capteurs Vernier analogiques au format Grove, et donc de les connecter aux ports IN 1, IN 2 ou IN 3.

Outre l'ensemble des types de capteurs cités ci-dessus lorsqu'il existe un équivalent dans la gamme Vernier, cela permet en prime de profiter de capteurs supplémentaires :
  • ENERGY : capteur d'énergie VES-BTA (voltage + intensité)
  • LIGHT : capteur de luminosité LS-BTA
  • ACCEL : accéléromètre faible G LGA-BTA

1640Le problème ? Et bien le LGA-BTA est un accéléromètre unidirectionnel, et absolument pas un accéléromètre 3D. C'est-à-dire qu'il ne mesure qu'une seule des 3 composantes 3D.

Ses possibilités et applications sont donc très restreintes, à moins d'en connecter 3 et de les disposer de façon orthogonale, ce qui serait quand même contraignant et cher...


Par contre, le TI-Innovator Hub te permet également d'utiliser des capteurs non supportés, aussi bien analogiques (ANALOG.IN) que numériques (DIGITAL.IN).

Pour les plus simples une connexion Grove peut suffire, tu auras juste à interpréter correctement la valeur brute mesurée.

Pour les plus complexes il faut s'orienter vers le port breadboard et gérer chaque contact nécessaire, c'est-à-dire écrire un véritable pilote pour le capteur ciblé.

1374913750Pour rester sur les accéléromètres 3D, on peut citer par exemple l'accéléromètre ADXL335, dont les spécifications sont publiques.

Aujourd'hui Hans-Martin Hilbig, formateur T3 pour Texas Instruments, s'appuie sur ces spécifications afin de te sortir ADXL335driver.py, un module Python additionnel pour TI-Nspire CX II rajoutant le support de l'accéléromètre ADXL335 ! :bj:

ADXL335driver est donc à installer dans le dossier /PyLib/ de ta calculatrice.

Il apparaît alors aux menus Python de ta calculatrice, mais n'a visiblement pas été conçu pour y lister ses fonctions. Mais pas grave, nous allons voir cela ensemble.

Donc, premières choses à faire, importer le module et construire la classe qui va nous permettre d'interroger l'accéléromètre. C'est on ne peut plus simple :
Code: Select all
from ADXL335driver import *
myadxl = adxl()

La fonction adxl() prend en paramètres optionnels les 3 contacts breadboard utilisés pour récupérer les 3 mesures en x, y et z.
Par défaut, l'appel adxl() est équivalent à l'appel adxl("BB5", "BB6", "BB7").

13751Niveau connexions physiques, nous relions :
  • la broche d'alimentation VCC de l'accéléromètre au 3.3V du breadboard TI-Innovator Hub
  • la broche de masse GND de l'accéléromètre à l'une des 8 masses du breadboard TI-Innovator Hub
  • ici la broche X_out de l'accéléromètre au BB5 du breadboard TI-Innovator Hub
  • ici la broche Y_out de l'accéléromètre au BB6 du breadboard TI-Innovator Hub
  • ici la broche Z_out de l'accéléromètre au BB7 du breadboard TI-Innovator Hub

L'exécution du code précédent te propose déjà une petite procédure de calibrage. Rien de bien complexe, tu devras juste poser l'accéléromètre à plat puis le retourner.

Cela nous sera très utile par la suite afin d'obtenir non plus de simples mesures brutes, mais des mesures directement compréhensibles et réutilisables.

Commençons déjà par les 3 mesures brutes (entiers de 10 bits). Tu peux les récupérer séparément ou ensembles via les méthodes suivantes :
  • myadxl.get_adcx()
  • myadxl.get_adcy()
  • myadxl.get_adcz()
  • myadxl.get_adcxyz()

13752Si tu as calibré correctement l'accéléromètre, les méthodes suivantes vont te permettre d'interpréter les mesures brutes de façon totalement transparente :
  • myadxl.get_gforcexyz() pour récupérer en unités g l'accélération appliquée à ton accéléromètre (dont dans tous les cas la gravité, même au repos)
  • myadxl.get_anglexyz() pour obtenir, au repos, l'inclinaison de ton accéléromètre dans l'espace, soit en degrés les 3 angles selon x, y et z

Ta TI-Nspire CX II peut donc enfin exploiter un accéléromètre 3D en Python, de tout nouveaux horizons pour tes projets ! :D


Téléchargement : ADXL335driver

Source : https://resources.t3europe.eu/t3europe- ... ce_id=3131

La démo Touhou Bad Apple maintenant sur TI-Nspire Ndless

New postby critor » 28 Apr 2021, 10:43

La Touhou Bad Apple Demo est un phénomène mondial depuis le début des années 2010 :
  • Tout commence en 1996 au Japon sur le microordinateur Nec PC-98 avec Touhou Project, une série de jeux vidéo shoot 'em up extrêmes. En effet il s'agit d'un sous-genre particulièrement difficile, le manic shooter, où la globalité de l'écran est souvent littéralement tapissée de projectiles. La difficulté infernale n'empêche pas des qualités qui feront son énorme succès : un gameplay addictif, des visuels colorés, des personnages récurrents très typés mangas.
  • En 1998 sort le 4ème jeu de la série, Lotus Land Story, pour le moment toujours sur PC-98.
  • En 2007 la musique de fond de son 3ème niveau est remixée dans une version étendue par Masayoshi Minoshima, avec ajout de la voix de la chanteuse J-Pop Nomico.
  • En 2008, Nico Nico Douga publie un scénarimage d'une séquence animée mettant en jeu les personnages du monde Touhou et se voulant accompagner le remix.
En 2009 un groupe collaboratif conduit par Anira termine de mettre la chose en images. La séquence anime de façon extrêmement lisse des silhouettes en noir et blanc avec une esthétique manga-magical-girl. Le succès est immédiat et mondial.

Mais la séquence intéresse particulièrement la sphère des demo makers, la Touhou Bad Apple Demo était née. Les communautés de programmeurs rivalisent d'ingéniosité pour porter aussi fidèlement que possible la Bad Apple Demo sur nombre d'anciennes machines que l'on pensait incapables de jouer des vidéos.

L'affichage en noir et blanc rend en effet le défi hautement intéressant, permettant ici un bel éventail d'astuces techniques allégeant la complexité des algorithmes. Il n'y a que 2 couleurs, cela se prête a priori bien à une compression de chaque image en RLE 1 bit, mais en prime d'une image à la suivante il n'y a la plupart du temps qu'une large minorité de pixels qui changent de couleur, ce qui ouvre également la voie à des compressions au niveau de la vidéo.

C'est donc à qui combinera les meilleures astuces en fonction de la plateforme ciblée. On peut citer nombre d'exploits avec des portages :
  • pour microordinateurs remontant jusqu'au début des années 1980 : IBM 5150 (1981), Commodore 64 (1982), Atari STE (1985), ...
  • pour consoles de jeux jusqu'à la fin des années 1970 : Atari 2600 (1977), Vectrex (1982), Nintendo NES (1988), Sega Master System (1985), Sega Megadrive / Genesis (1988), ...
Dans les communautés de calculatrices, nous n'avons pas échappé au phénomène. Et quoi de mieux à l'époque qu'une calculatrice graphique pour jouer une animation monochrome ? ;)
Nous ne retiendrons pour la suite que les démos Bad Apple effectivement codées pour les calculatrices sur lesquelles elles tournent.

C'est-à-dire que nous excluons d'autres façons de faire, comme :
  • les vidéos Bad Apple lues via un lecteur de vidéo
  • les homebrew Bad Apple jouées via un émulateur

C'est en décembre 2013 que fb39ca4 sort la première véritable démo Bad Apple du monde des calculatrices Texas Instruments, prenant la forme d'une application .8xk de 1,4 Mo pour TI-83 Plus et TI-84 Plus monochromes.

Précisons qu'avec une telle taille, elle ne peut être installée que sur les modèles supérieurs offrant 1,5 Mo de mémoire d'archive : TI-83 Plus Silver Edition, TI-83 Plus.fr USB, TI-84 Plus Silver Edition et TI-84 Plus Pocket SE.

Codée en langage assembleur z80, la démo jouée en plein écran 96×64 pixels impressionne de part sa fluidité et surtout inclut cette fois-ci enfin le son ! :favorite:

Le son est produit sur le port mini-Jack 2.5 supprimé des modèles plus récents, et nécessite donc un adaptateur mini-Jack 2.5 mâle ↔ mini-Jack 3.5 femelle.

À noter qu'il ne s'agit pas de la version originale mais, comme tu pourras vérifier sur la vidéo ci-dessous, d'un réarrangement instrumental (style musique électronique MIDI) adapté aux capacités de la machine et particulièrement au fait que nous n'avons maintenant quasiment plus de place en mémoire :

En 2015 c'est maintenant ac100v qui reprend le flambeau, mais cette fois-ci sur la scène Casio, avec ici encore une démo Bad Apple avec son et image ! :D

Elle prend la forme d'une application .g1a qui n'est pas compatible avec les dernières calculatrices de génération USB Power Graphic 3 (Graph 35+E II et fx-9750/9860GIII), mais seulement avec les :
  • USB Power Graphic (processeur SH3 - Graph 35+USB Graph 75/85/95 fx-9750GII / fx-9860G/GII)
  • USB Power Graphic 2 (processeur SH4 - Graph 35+E/USB Graph 75/95 fx-9750/9860GII)
L'application ne fait que 6 Ko mais va en fait chercher ses données dans 2 fichiers externes à transférer :
  • un fichier .vid de 535 Ko pour l'animation
  • et un fichier .aud de 770 Ko pour le son
Taille totale comparable de 1,27 Mo ce qui occupe à nouveau une très grande partie de la mémoire de stockage.

L'écran est ici plus large que le format d'affichage de la démo, puisque faisant 128×64 pixels. La démo, ici codée en langage C, est en fait jouée en 85×64 pixels, laissant des bandes noires latérales n'ayant pas besoin d'être rafraichies, ce qui est justement une astuce d'optimisation.

Mais énorme surprise, ici nous avons droit à la piste audio originale grâce au même adaptateur ! :favorite:

La semaine dernière, Loieducode / Gooseling nous sortait enfin la première démo Bad Apple sur calculatrice couleur, calculatrices graphiques à écran couleur ! :bj:

Il s'agissait ici d'une application .g3a dédiée à la Casio Graph 90+E ainsi qu'aux modèles internationaux ou plus anciens fx-CG10/20/50.

La démo est ici encore codée en langage C sur 64×56 pixels, puis affichée avec un grossissement de 4 sur 256×224 pixels, laissant donc ici une bande blanche à droite.

Cet exploit a remotivé M4x1m3 et l'a poussé à enfin publier la démo Bad Apple 320×240 pixels qu'il avait en développement pour calculatrice NumWorks sur la page des applications Omega.

En effet ici il y a nécessité d'installer le firmware tiers Omega, le seul à gérer l'ajout d'applications à ce jour, mais uniquement sur NumWorks N0110.

Ti64CLi++ te porte aujourd'hui la démo Bad Apple pour les TI-Nspire utilisant le jailbreak Ndless. L'écran étant au même format 320×240 pixels, il s'inspire du code C de M4x1m3.

Dommage par contre qu'il n'y ait pas le son ; il va falloir que Ti64CLi++ nous rajoute ça : ;)

Téléchargements :

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
5596 utilisateurs:
>5582 invités
>7 membres
>7 robots
Record simultané (sur 6 mois):
29271 utilisateurs (le 11/07/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)