Création d'une library/bibliothèque [HELP]

ZuKii
dim, 01/24/2016 - 12:05
Bonjours, je suis un étudiant de 17 ans et je vais vous présenter mon probleme pour mon projet de TPE :
Pour mon TPE, moi et mes collègue, nous avons décider de créer un robot qui sort tout seul d'un labyrinthe (En utilisisant la technique de suivre un mur, ici dans notre cas celui de droite). Donc pour la création de mon programme j'ai essayer de faire des library pour que mon programme soit plus claire et j'ai procédé comme ça :
Puis j'ai fait "nouvelle onglet" et j'ai nommé le ficher en terminant par ".h" et j'ai fait les "include" donc mon voila ce que ca donne pour le début (labibot c'est le nom de mon projet :D) :
-
Dans "Avancer.h" : j'ai "avancer()"
-
Dans Detection_Mur.h" : j'ai DetectionMD() et Detection MAV()
-
Dans Rotation.h : j'ai mais deux types de rotation
Et don voila ma loop :
Donc pour finir, une fois que je fais vérifer, Arduino me montre un tas de message d'erreur par exemple:
Avancer.h:6: error: 'MoteurGR' was not declared in this scope
digitalWrite (MoteurGR,LOW);
Alors qu'il est déclaré au début du programme, donc je ne comprends pas. Est ce que j'ai mal fait mes library et donc dans ce cas quelqu'un peut m'expliquer comment les faire car sur internet j'ai pas touver de tuto que j'ai reussis a comprendre. Ou alors est-ce un autre problème ?
ZuKii
dim, 01/24/2016 - 12:11
Désolé pour la forme mais j'ai pas reussi à mettre mieux ,alors que lorsque j'ai ecrit ce message, c'était pas comme ça :(
Alex
lun, 01/25/2016 - 11:16
Il n'y a pas de soucis, j'ai un petit bug dans mon css que j'essaie de résoudre.
Pour ta question: c'est assez subtile la première de créer une librairie conçernant la déclaration des variables.
Je te conseille de bien regarder comment j'ai fais dans mon code pour la voiture et de t'en inspirer.
C'est normal que tu galères un peu la première fois en tout cas, j'ai rencontré le même problème.
ZuKii
lun, 01/25/2016 - 19:31
Le truc, c'est que je me suis inspirer de ta voiture sauf que j'ai fait quelque modification, mais le probleme quand j'ai essayé de créer des bibliothèque (avec des sous-programme à l'interieur) pour rendre mon programme plus propre au lieu de mettre mes sous-programme a la fin. Le probleme c'est qu'il ne trouve pas mes fichier.h que j'ai créer (de la facon dont j'ai expliqué en haut) donc ne trouve pas mes sous programme. Donc la question c'est : Comment créer une bibliothèque afin de mettre mes sous programme comme dans celui de ta voiture ?
Alex
mer, 01/27/2016 - 11:02
Normalement tu as seulement besoin de créer tes fichiers .c et .h et ensuite dans mon fichier qui contient setup() et loop(), tu commences par inclure tes librairies.
Par contre, fais bien attention de toujours bien inclure des librairies dans un ordre cohérent.
Je m'explique: le compilateur d'Arduino va seulement se charger de remplacer le code situé dans tes fichiers .h et .c en début de ton programme. Il faut donc que les variables que ces fichiers utilisent soient déjà déclarées.
J'espère que mon explication est claire.
ZuKii
mer, 01/27/2016 - 13:08
Ok, je pense avoir compris, je teste ça !