Relis mon commentaire ici https://m.jeuxvideo.com/riguel/forums/message/810093242
Il faut télécharger le .cpp et le .h et les installer manuellement en suivant la procédure indiquée à la ligne "Manual installation".
Toujours rien...
Y a pas un moyen plus facile d'utiliser cet accéléromètre ?
Le 21 mars 2016 à 16:29:22 Freddycouscous a écrit :
A tout hasard, as tu installé la librairie ?Dans le code donné tu as l'include suivant :
#include "MMA7660.h"
ça veut dire que tu dois utiliser la librairie MMA7660 pour pouvoir utiliser ce code. Les librairies possèdent l'extension ".cpp", tu ne peux donc pas l'utiliser comme on ferait habituellement dans un projet c++.
Tu dois suivre la procédure indiquée ici (Va à la ligne "Manual installation"):
https://www.arduino.cc/en/Guide/Libraries
Le code source de la librairie se trouve ici : https://github.com/reeedstudio/libraries/tree/master/DigitalAccelerometer_MMA7660FC
ça devrait normalement fonctionner, si on se base sur ce qu'il y a marqué dans le lien que tu as donné :
http://www.seeedstudio.com/wiki/Grove_-_3-Axis_Digital_Accelerometer%28%C2%B11.5g%29#With_ArduinoInstall the library we provide in the "Resources" section.
Le souci c'est qu'il n'y a que le code source de la librairie qui est dispo, pas le fichier .cp ou .h et c'est ça le souci.
Pour exemple, j'ai trouvé un .h et .cpp d'un autre accéléromètre pour essayer et la compilation se fait effectivement. Mes fichiers n'étaient pas de simples codes .txt.
Non mais l'extension c'est juste pour que le compilateur sache qu'il doit compiler un code C ou un code C++ etc...
Effectivement si tu copies/colles le code de la librairie dans un .txt et que tu essayes de compiler ça ne va pas fonctionner.
Le protocole I2C c'est un bus de communication au même titre que le SPI ou l'USART ou encore l'USB.
Ton accéléromètre fait lui même l’acquisition des donnée des 3 axes et les mets en forme pour qu'un autre microcontrôleur viennent lui demander de lui envoyer ces information.
L'utilisation de tels bus sur un microcontrolleur est en général pas facile pour un débutant, tout ça est mis sous forme de librairie qui possède des méthodes et des abribus. Il faut déclarer l'utilisation de la librairie #include machin.h) puis déclarer l'objet à utiliser.
Sans cours d'électronique/informatique c'est pas évident à deviner , mais il va bien favoir si tu veux progresser.
Le 13 mai 2016 à 09:43:17 Synless3 a écrit :
Le protocole I2C c'est un bus de communication au même titre que le SPI ou l'USART ou encore l'USB.
Ton accéléromètre fait lui même l’acquisition des donnée des 3 axes et les mets en forme pour qu'un autre microcontrôleur viennent lui demander de lui envoyer ces information.
L'utilisation de tels bus sur un microcontrolleur est en général pas facile pour un débutant, tout ça est mis sous forme de librairie qui possède des méthodes et des abribus. Il faut déclarer l'utilisation de la librairie #include machin.h) puis déclarer l'objet à utiliser.Sans cours d'électronique/informatique c'est pas évident à deviner , mais il va bien falloir si tu veux progresser.
Je suis d'accord, là il ne me reste plus qu'à trouver les librairies de l'accéléromètre en question, vu que pour un autre accéléromètre ça fonctionne (la librairie)
Je sais pas si je dois pleurer à ce moment là.
Le code de la libraire tu l'as ! Il y a des liens page 1!
Le 14 mai 2016 à 08:05:17 Market56 a écrit :
Je sais pas si je dois pleurer à ce moment là.Le code de la libraire tu l'as ! Il y a des liens page 1!
Tu n'as pas l'air de comprendre mon problème. Les cpp et h proposés sont en texte, moi il me les faut en .cpp et .h, comme l'exemple que j'ai trouvé. A ce moment je les mettrai dans un fichier .zip que j'importerai avec Arduino. Je vois pas comment je peux être plus clair.
Voilà ce que j'ai avec les librairies d'un autre accélérateur :
Les fichiers h et cpp, et le zip.
Ce que j'ai sur le site d'hébergement des codes :
Du texte, juste ça, pas d'endroit où télécharger les fichiers dans leur format respectif.
C'est plus clair ?
Bon, qu'est ce qu'il t'empêche exactement de prendre le texte, de le copier et le coller dans un fichier que tu nommes "Bidule.cpp" et "Bidule.h" ?
Réponse: Rien du tout ne t'en empêche !
Car, comme je l'ai dit plus haut, l'extension ne sert qu'au compilateur afin qu'il sache comment il doit interpréter le code qui se trouve à l'intérieur.
Donc, si tu veux faire fonctionner ton accéléromètre:
https://github.com/reeedstudio/libraries/blob/master/DigitalAccelerometer_MMA7660FC/MMA7660.cpp
https://github.com/reeedstudio/libraries/blob/master/DigitalAccelerometer_MMA7660FC/MMA7660.h
https://www.arduino.cc/en/Guide/Libraries
Je t'ai fait la manip et je l'ai mis dans un .zip :
https://www.transfernow.net/683t26j1nx3t?lng=fr
Je crois que le lien expire le 31 mai par contre.
Le 16 mai 2016 à 10:55:56 Market56 a écrit :
Bon, qu'est ce qu'il t'empêche exactement de prendre le texte, de le copier et le coller dans un fichier que tu nommes "Bidule.cpp" et "Bidule.h" ?Réponse: Rien du tout ne t'en empêche !
Car, comme je l'ai dit plus haut, l'extension ne sert qu'au compilateur afin qu'il sache comment il doit interpréter le code qui se trouve à l'intérieur.
Donc, si tu veux faire fonctionner ton accéléromètre:
- Copie le texte se trouvant ici :
https://github.com/reeedstudio/libraries/blob/master/DigitalAccelerometer_MMA7660FC/MMA7660.cpp
- Colle le texte dans un éditeur de texte (style notepad++)
- Enregistre le fichier et nomme le "MMA7660.cpp"
- Copie le texte se trouvant ici:
https://github.com/reeedstudio/libraries/blob/master/DigitalAccelerometer_MMA7660FC/MMA7660.h
- Colle le texte dans un éditeur de texte (style notepad++)
- Enregistre le fichier et nomme le "MMA7660.h"
- Enfin, tu dois suivre la procédure indiquée ici (Va à la ligne "Manual installation"):
https://www.arduino.cc/en/Guide/Libraries
Je n'avais aucune idée de comment faire pour créer un fichier sans type au départ...
Si je veux créer un fichier .txt y a une option pour ça : "Nouveau" "Fichier texte"
Pour CPP et H c'était pas possible.
Merci je vais essayer ça.
Après de nombreux essais, j'ai ça :
Impossible d'importer la librairie
J'ai réussi mais le programme de la carte ne fonctionne pas.
Malgré le fait que j'ai écrit "MMA7660 acc" ça me dit que "acc" n'est pas déclaré
Non en fait c'est le getAcceleration
'class MMA7660' has no member named 'getAcceleration'
Le 19 mai 2016 à 22:57:41 -Riguel- a écrit :
Non en fait c'est le getAcceleration'class MMA7660' has no member named 'getAcceleration'
C'est parce que la méthode s'appelle "getAcclemeter" dans la librairie. Regarde le code source :
void MMA7660::getAcclemeter(float *ax,float *ay,float *az)
{
int8_t x,y,z;
getXYZ(&x,&y,&z);
*ax = x/21.00;
*ay = y/21.00;
*az = z/21.00;
}
Le 20 mai 2016 à 14:02:50 LoloBzh56 a écrit :
Le 19 mai 2016 à 22:57:41 -Riguel- a écrit :
Non en fait c'est le getAcceleration'class MMA7660' has no member named 'getAcceleration'
C'est parce que la méthode s'appelle "getAcclemeter" dans la librairie. Regarde le code source :
void MMA7660::getAcclemeter(float *ax,float *ay,float *az) { int8_t x,y,z; getXYZ(&x,&y,&z); *ax = x/21.00; *ay = y/21.00; *az = z/21.00; }
Merci je vais essayer ça