Se connecter

Informatique

Programmation

Sujet : Arduino Uno et accéléromètre - Quelques questions...
3
-Riguel-
Niveau 46
22 mai 2016 à 02:49:11

J'ai corrigé ça mais apparemment aucune correspondance avec la fonction
MMA7660::getAcclemeter(float *ax,float *ay,float *az)

LoloBzh56
Niveau 10
22 mai 2016 à 08:04:37

Fais voir ton code

-Riguel-
Niveau 46
22 mai 2016 à 14:14:29

Le voici :


#include <Wire.h>
#include "MMA7660.h"
MMA7660 acc;
void setup()
{
    acc.init();
    pinMode(13, OUTPUT);
    Serial.begin(115200);
}

void loop()
{

    static long cnt     = 0;
    static long cntout  = 0;
    float ax,ay,az;
    int8_t x, y, z;

    acc.getXYZ(&x,&y,&z);

    Serial.print("x = ");
    Serial.println(x);
    Serial.print("y = ");
    Serial.println(y);
    Serial.print("z = ");
    Serial.println(z);


    if(acc.getAcclemeter(float *ax,float *ay,float *az))
    {
        Serial.print("get data ok: ");
    }
    else
    {
        Serial.print("tiem out: ");
    }
    
    Serial.println("accleration of X/Y/Z: ");
    Serial.print(ax);
    Serial.println(" g");
    Serial.print(ay);
    Serial.println(" g");
    Serial.print(az);
    Serial.println(" g");
    Serial.println();
    delay(50);

}
-Riguel-
Niveau 46
22 mai 2016 à 14:15:35

J'ai essayé de mettre aussi
if(acc.getAcclemeter(ax,ay,az))

ou

if(acc.getAcclemeter(&ax,&ay,&az))
-Riguel-
Niveau 46
22 mai 2016 à 15:27:25

J'ai modifié et ça compile effectivement le programme, maintenant comment le lancer ? Je veux dire, il est téléversé (je pense qu'il fonctionne) mais comment le lancer et avoir les valeurs d'accélération affichées à l'écran ?

-Riguel-
Niveau 46
22 mai 2016 à 15:34:57

Le téléversement se fait, ça écrit "Téléversement terminé" mais dans l'historique des erreurs ça met "Bibliothèque non valide dans C:\ etc"

LoloBzh56
Niveau 10
22 mai 2016 à 18:50:11

Hello, la je suis via mobile donc ça va être chaud.

Alors déjà pour ton code, la bonne manière d'écrire est bien:

acc.getAcclemeter(&ax,&ay,&az)

Si tu veux savoir pourquoi il faut mettre le "&" renseigne toi sur l'utilisation des pointeurs (genre sur openclassroom).

Ensuite ton if ici est inutile, car la méthode "getAccelemeter" ne retourne rien (void). Donc en fait, Tu testes toujours un void.

Si tu as bien fais le câblage , ici ça devrait fonctionner tu devrais pouvoir afficher les différents axes comme tu le fais.

Pour info une fois le televersement effectué, le code est "sauvegardé" sur la carte arduino et à chaque fois que tu l'allume c'est toujours le même code qui est exécuté (jusqu'au prochain televersement bien sûr).

Pour afficher les valeurs à l'écran, normalement il y a une console permettant de simuler un port série sur l'IDE. Donc t'as juste à indiquer le bon baudrate (dans ton cas 115200) Et tu devrais voir les valeurs affichées.

Pour le message d'erreur concernant la librairie, Je ne sais pas. Regarde sur Google en tapant le texte de l'erreur.

-Riguel-
Niveau 46
22 mai 2016 à 21:12:45

Ok merci de ton aide, j'essaierai ce que tu m'as dit.

Cependant je n'ai pas de console moi. :(

LoloBzh56
Niveau 10
23 mai 2016 à 08:46:42

Pour la console, c'est le bouton en haut à droite. Clique dessus après avoir connecté ton arduino à ton ordinateur:

https://www.noelshack.com/2016-21-1463985858-moniteurserie.png

Pour ce qui est du code, je viens de voir qu'un exemple existait sur le site:

https://github.com/Seeed-Studio/Accelerometer_MMA7660/blob/master/examples/MMA7660FC_Demo/MMA7660FC_Demo.ino

C'est marrant qu'ils utilisent directement "getXYZ". Mais bon, tu peux tester. L'autre fonction fait la même chose mais je ne sais pas pourquoi divise le résultat par 21.

-Riguel-
Niveau 46
26 mai 2016 à 13:05:19

Je testerai merci.

Je n'ai pas d'ordi actuellement.

-Riguel-
Niveau 46
30 mai 2016 à 22:25:01

Up

-Riguel-
Niveau 46
31 mai 2016 à 12:34:29

Auriez-vous des idées pour une calibration et un étalonnage ?

-Riguel-
Niveau 46
01 juin 2016 à 00:08:36

Personne ?

-Riguel-
Niveau 46
01 juin 2016 à 20:22:29

C'est bon ça fonctionne :bave:

Maintenant reste plus qu'à calibrer et étalonner, quelqu'un aurait des idées ?

Des conseils ou un truc comme ça. Pour la calibration il faut un autre prograe je suppose ?

-Riguel-
Niveau 46
02 juin 2016 à 22:45:07

Personne ?

-Riguel-
Niveau 46
05 juin 2016 à 02:19:52

Up

-Riguel-
Niveau 46
05 juin 2016 à 21:08:21

:-(

FreddyCouscous
Niveau 10
06 juin 2016 à 11:49:49

Je pense que l'étalonnage est déjà fait.

Après si tu veux changer la précision etc, tu peux toujours lire la datasheet et voir quelles valeurs il faut envoyer pour configurer autrement l'accéléromètre.

http://garden.seeedstudio.com/images/e/ee/MMA7660FC.pdf

3
Sujet : Arduino Uno et accéléromètre - Quelques questions...
   Retour haut de page
Consulter la version web de cette page