hbachetti:
Sans le code ... 
Le problème c'est que c'est un code assez gros.
Je peu tout mettre si tu veux.
En fait je ne veux pas appeler la class complète dans la class moteur. Je veux juste appeler une fonction public de la class ultrason, par une fonction public qui est dans moteur.
C'est vrai que pour plus de clarté je vais vous mettre le code.
Pour expliquer, avant de démarrer les moteur je veux appeler une fonction de la class ultrason pour vérifier qu'il n'y a pas d'obstacle.
Je pense que le fait d'avoir séparé les class chacune dans un fichier h/cpp complique la chose. Du moins pour les déclarations en fait ?
Au pire je vais tout regrouper dans le main.ino et j'aurais un code de 2000 lignes moins lisible.
Ou alors je progresse et trouve une solution pour les déclarations 
Merci encore !
EDIT:
hbachetti:
Personnellement je dirais : pas vraiment ...
Il vaudrait mieux laisser à l'application principale le soin de piloter le moteur en fonction du capteur.
En fait j'ai consu le programme de cette façon. :
Lorsque je veux faire une manœuvre par exemple le demi tour, je la fais en plusieurs étapes.
1 je stop
2 un quart de tour
3 je vérifie qu'il n'y ai pas d'obstacle
4 j'avance
5 stop
6 quart de tour
7 vérifie obstacles
8 j'avance
Donc avant d'avancer je dois demander au capteur ultra son si il y a un obstacles.
Sauf que j'ai créé ça de façon à ce que ce soit géré par la class moteur.
Voilà pourquoi je souhaite appeler mes ultrason depuis une fonction qui est de la class moteur.
Parce que si je fais tourner les ultra son en permanence et mon gyroscope sa bug.
Je ne sais pas pourquoi, alors l'idée est de faire fonctionner seulement quand il faut le capteur ultrason
EDIT2:
en cherchant j'ai vue qu'il fallait inclure toute les librairie dans chaque cpp
C'est à dire ultrason.h dans le moteur.cpp
Ce qui devrait résoudre le fait que la class ultrason ne soit pas déclaré.
Apparemment l'ide arduino compile chaque fichier séparément puis le. Ino
Donc si je comprend bien,
Dans mon fichier moteur.cpp je vais faire
#include ultrason.h
Avec un
Extern ultrason US = ultrason();
Et dans le main.ini
Creer l'objet
Ultrason US = ultrason();
Autre question, pour les pros des pointeurs.
Si je crée mon objet comme ceci maClass class1 = maClass();
Je vais acceder à la variable
class1.pin1 =1;
Et si je fais maClass *class1 = new maClass();
Je dlis utiliser
class1->pin1=1
Dites moi si je me trompe
Si je crée de la première manière class1 et ensuite un class2, la variable pin1 ne sera pas différente dans class1 et class2 ?
Alors que si je fais de la deuxième manière
J'attriburai à class1 la pin1 = 1 et class2 pin1=34
En gros si c'est la deuxième manière c'est un clone, de la class avec chaque objet différent l'un des autres. C'est à dire orientée objet
Les objets c'est assez complexe et je ne trouve pas d'endroit ou on parle de class sans new. Peut être parce que sa ne rime à rien car une classe est vraiment faite pour du poo, mais sa marche dans le compilateur alors...
Merci !