Alors voila j'ai réussi mais voila un autre problème
quand je tape le flipper a droite un coup il détecte que la frappe est a droite mais parfois il détecte que c'est la gauche.
Voila un exemple comment j'ai procéder :
admettons que ma valeur a plat est 50
si je penche le module a gauche on régresse dans le nombre 49.48.47...
quand je penche le module a droite ca augmente le nombre 51.52.53...
Houlà...
1) Merci de publier votre code actuel...
2) merci également d'indiquer quel broche de l'accéléromètre est connecté à quel broche du Picaxe, ou de préciser dans le code si vous lisez X,Y ou Z
3) Quand vous décrivez une expérimentation, mettez toujours la platine au départ dans la même position. Disons que X va à droite, Y va devant vous et Z va vers le haut.
4) Maintenant que vous savez lire une accélération, il faudrait utiliser les 3 valeurs.
5) Désolé, mais il va falloir faire un peu de physique.
Selon vos observations, il me semble que le matériel fonctionne parfaitement bien, mais c'est le code qui est trop simpliste...
Votre accéléromètre mesure 3 accélérations suivant les axes X, Y et Z
Normalement X et Y sont dessinés sur la platine.
Le Z est un point : imaginez qu'il y a une troisième flèche qui part de ce point et va vers le haut.
En partant de la position décrite ci-dessus, et en l'absence totale de mouvement (platine posée sur la table) :
- X et Y doivent être nuls puisqu'il n'y a pas d'accélération horizontale, (mais en fait vous devriez lire 512 puisque c'est l'équivalent du zéro)
- Z mesure l'accélération de la pesanteur (si cette notion n'est pas claire pour vous, dites le : je tenterai d'expliquer)
Si vous penchez à droite :
- Y ne doit pas changer (donc toujours 512)
- Z doit changer (à priori se rapprocher de 512)
- X doit augmenter (à priori au delà de 512)
En partant de la position décrite ci-dessus, si vous penchez à gauche:
- Y ne doit pas changer (donc toujours 512)
- Z doit changer (à priori se rapprocher de 512)
- X doit diminuer (à priori en dessous de 512)
Si vous ne faites pas de mouvement brusque, il n'y a pas d'autres accélérations que celle de la pesanteur.
Maintenant, si vous tapez horizontalement de la droite vers la gauche, vous créez une forte accélération suivant X, immédiatement suivie d'un décélération.
Probablement, vous tenez le module de la main gauche et tapez avec la droite.
Dans ce cas, instinctivement, la main gauche retient le module pour éviter qu'il ne s'envole. Le mouvement est humainement difficile à contrôler. Il y a probablement un mouvement involontaire vers la droite suivi d'un mouvement horizontal vers la gauche pour rétablir visuellement la position du bidule.
Il faudrait une camera rapide pour filmer tout ça.
Les valeurs sont lues un peu au hasard dans tous ces mouvements, ce qui explique des valeurs tantôt positives, tantôt négatives...
Comme dit par PieM en #6, il va falloir intégrer une série de mesures pour en déduire quelque chose de fiable...
Pour ça, il faudra avoir la courbe d'évolution des accélérations lors d'un choc typique. S'il n'y a pas de choc d'avant en arrière, on peut se contenter de X et Z
Soit on utilise un oscillo.
A défaut, suivant le Picaxe utilisé, on peut écrire un petit programme qui va charger en mémoire une série de valeurs et les restituer ensuite pour analyse. (c'est d'ailleurs exactement ce que fait un oscillo numérique...)
A défaut, il faudra se contenter de la théorie seule...
Il y a deux différences entre les modifications d'accélération produites par une rotation (on penche) et celles produites par un choc :
- dans le cas de la rotation, l'accélération est toujours la même pour une position donnée,
- dans le cas d'un choc à partir d'une position de départ, l'accélération évolue rapidement dans un sens puis dans l'autre et au final, la valeur est la même qu'au début.
- à noter que dans un choc il peut y avoir une accélération intense et brève dans un sens, compensée par une accélération plus faible pendant un temps plus long dans l'autre sens.
- la valeur absolue de l'accélération liée à la pesanteur est sur terre de 9,81 m/s/s Les accélérations liées à des rotations sont obligatoirement inférieures à cette valeur( en fait, c'est la pesanteur multipliée par le sinus de l'angle de rotation)
- l'accélération liée à un choc (en particulier la première, la plus intense) peut facilement atteindre plusieurs fois celle de la pesanteur.
Une seule mesure est insuffisante. Il faut disposer de plusieurs mesures successives et si possible sur les deux axes, pour savoir si c'est un choc, et dans quel sens.
L'intervalle entre les mesures doit être plus court que les variations à observer. Dans le cas d'un choc, ça se compte en ms.
Impossible d'observer ça avec un sertxd. Le code doit être optimisé en conséquence.