Général bibliothèque arduino

J
jp73
Apprenti
20 Juil 2011
91
savoie
  • Auteur de la discussion
  • #1
bonjour

j ai installé un bibliothèque PID et j ai une erreur

"Bibliothèque non valide trouvée dans C:\Users\JFB\Documents\Arduino\libraries\libraries : C:\Users\JFB\Documents\Arduino\libraries\libraries
Bibliothèque non valide trouvée dans C:\Users\JFB\Documents\Arduino\libraries\PID : C:\Users\JFB\Documents\Arduino\libraries\PID"

je ne sais pas quoi faire.

merci d avance
 
V
vibram
Compagnon
15 Mar 2014
3 986
FR-74
Salut,

Est-ce que tu as vérifié qu'il existait bien un dossier : C:\Users\JFB\Documents\Arduino\libraries\PID ? il y a des fichiers dedans ?
Tu as procédé comment pour installer ta bibliotheque ?
Tu peux mettre le code aussi stp ?

merci
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 244
Corsier-sur-Vevey (Vaud)
Salut jp73
C:\Users\JFB\Documents\Arduino\libraries\libraries
Pourquoi 2x \Arduino\libraries\libraries?
N'aurais-tu pas 2 fois les mêmes?

Cordialement
jpbbricole
 
J
jp73
Apprenti
20 Juil 2011
91
savoie
  • Auteur de la discussion
  • #4
merci pour vos réponses rapide je vais regarder
 
J
jp73
Apprenti
20 Juil 2011
91
savoie
  • Auteur de la discussion
  • #5
heuu elle doit etre dans lib ou librairies, si ça ce trouve je l ai mis dans un autre dossier
 
J
jp73
Apprenti
20 Juil 2011
91
savoie
  • Auteur de la discussion
  • #6
bon je n ai plus q une erreur
"Bibliothèque non valide trouvée dans C:\Users\JFB\Documents\Arduino\libraries\PID : C:\Users\JFB\Documents\Arduino\libraries\PID"
les librairies doivent ce trouvées ou normalement pour celles qu on rajoute?
 
J
jp73
Apprenti
20 Juil 2011
91
savoie
  • Auteur de la discussion
  • #7
ce chemin m emmène sur un fichier deux fichiers zip
 
V
vibram
Compagnon
15 Mar 2014
3 986
FR-74
il faut que tu dezip ces fichiers de maniere a avoir tes fichiers à l'interieur de ton dossier PID
Voir la video ici:
C'est ubuntu mais le principe est le meme avec windows

Mais encore plus simple, dans l'IDE arduino, tu cliques sur "Croquis"
Puis "Inclure une bibliotheque"
Puis "Ajouter la bibliotheque ZIP"
Là tu es sur qu'elle sera correctement installée
librairie.png
 
J
jp73
Apprenti
20 Juil 2011
91
savoie
  • Auteur de la discussion
  • #9
ok bon ben ça marche apparemment.

par-contre comment fait on pour appelé les fonctions dans la bibliothèque bibliothèque .

merci bonne soirée
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 244
Corsier-sur-Vevey (Vaud)
Salut jp73
La meilleure façon d'apprendre c'est de faire les exemples de la bibliothèque
Menu Fichiers/Exemples/SPI
Regardes aussi de ce côté.

Bonne nuit.
jpbbricole
 
J
jp73
Apprenti
20 Juil 2011
91
savoie
  • Auteur de la discussion
  • #11
bonsoir


j ai besoins de votre aide car j ai installé une bibliothèque Adafruit pcd8544, que j ai installé par "ajouté la bibliothèque.zip et lorsque je fais la verif
il me m est " ATTENTION : Faux .github dossier dans la bibliothèque 'Adafruit PCD8544 Nokia 5110 LCD library' " j ai aussi installé l adafruit gfx elle ce trouve pas au meme endroit dans l ide et la pas d erreur.

lors de la compilation l erreur apparaît et la compilation ce fais jusque au bout et n affiche rien bien sur sur l afficheur 5110.

merci d avance pour votre aide
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 244
Corsier-sur-Vevey (Vaud)
Bonsoir jp73
J'ai fais des essais avec cette bibliothèque, il faut simplement supprimer le fichier
upload_2016-9-30_19-47-47.png

.github
et relancer l'IDE Arduino.

Bonne soirée
jpbbricole
 
J
jp73
Apprenti
20 Juil 2011
91
savoie
  • Auteur de la discussion
  • #13
super merci jpbricol :wink:
 
J
jp73
Apprenti
20 Juil 2011
91
savoie
  • Auteur de la discussion
  • #14
bonsoir

encore besoins de vos limier j ai une erreur qui s affiche "
exit status 1
'class Adafruit_PCD8544' has no member named 'setCursor' "

qu est ce sue ça veut dire??

merci bonne soirée
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 244
Corsier-sur-Vevey (Vaud)
Salut jp73
Pourrais-tu publier le programme où il y a l'erreur, j'ai essayé de compiler l'exemple pcdtest sans problème.

Bonne nuit
jpbbricole
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 244
Corsier-sur-Vevey (Vaud)
Il faut mettre tout le programme pour que je puisse essayer la compilation.
 
J
jp73
Apprenti
20 Juil 2011
91
savoie
  • Auteur de la discussion
  • #18
jpbbricole je t es écrit un message privé
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 244
Corsier-sur-Vevey (Vaud)
Salut jp73
C'est une va.....e!
En compilant le programme dans mon compilateur j'ai eu ces erreurs:

Compiling 'USIN_jpb73' for 'Arduino Mega w/ ATmega2560 (Mega 2560)'
Adafruit_PCD8544.h:69: error: expected class-name before '{' token
USIN_jpb73.ino:In function 'void loop()'
USIN_jpb73.ino:167: error: 'class Adafruit_PCD8544' has no member named 'setCursor'
USIN_jpb73.ino:168: error: 'class Adafruit_PCD8544' has no member named 'print'
USIN_jpb73.ino:169: error: 'class Adafruit_PCD8544' has no member named 'println'
Error compiling

Spécialement expected class-name before '{' token qui nous renvoie directement dans Adafruit_PCD8544.h !!
ça "sent" le conflit de bibliothèque.

En regardant l'exemple pcdtest je me suis rendu compte que la liste des bibliothèque n'était pas dans le même sens
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
//#include <gfxfont.h>

Comme celà, le programme se compile sans erreurs.

J'ai mis gfxfont.h en remarque car, dans cette configuration, il génère énormément d'erreurs!
Il faudrait voire comment utiliser cette bibliothèque du côté d'Adafruit.

Cordialement
jpbbricole
 
J
jp73
Apprenti
20 Juil 2011
91
savoie
  • Auteur de la discussion
  • #20
bonjour

bon ça marche même en gardant gfxfont.h pas d erreur.
je savais pas qu il fallait respecter un ordre pour les librairies ??
par contre j aimerais savoir comment ça fonctionne quand on écrit display.pint(xxxxx); il devrzis avoir un fonction display.print(xxxx) non dans pcd8544.h?
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 244
Corsier-sur-Vevey (Vaud)
display.pint(xxxxx); il devrzis avoir un fonction display.print(xxxx) non dans pcd8544.h?
Il n'y a pas de display.pint()!
mais
display.print()
ou
display.println()

Cordialement
jpbbricole
 
J
jp73
Apprenti
20 Juil 2011
91
savoie
  • Auteur de la discussion
  • #22
oui erreur de ma par print je la trouve pas dans la pcd8544.h je ne comprends pas trop comment ça marche
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 244
Corsier-sur-Vevey (Vaud)
Moi j'ai
upload_2016-10-2_15-44-47.png


As-tu essayé l'exemple pcdtest?
 
J
jp73
Apprenti
20 Juil 2011
91
savoie
  • Auteur de la discussion
  • #24
on ce comprend pas; oui j ai essayé pcdtest ce que je veux dire s est que display.print(); est une fonction qu'on dois retrouvé dans la librairie .h ou .ccp non ou je me plante carrément ?
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 244
Corsier-sur-Vevey (Vaud)
Salut jp73
display.print(); est une fonction qu'on dois retrouvé dans la librairie .h ou .ccp non ou je me plante carrément ?
Je dois dire que je n'ai pas "gratté" si loin, mais j'ai fait quelques recherches.

Tout d'abord, tu ne trouvera pas display parceque c'es un nom défini dans le programme par le programmeur.
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);
Avec cette ligne de commande on défini une nouvelle instance du PCD8544 à laquelle on va s'adresser pour afficher quelque chose.
Cette mécanique permet d'avoir plusieurs affichages (instances) dans le programme
Adafruit_PCD8544 display2 = Adafruit_PCD8544(8, 9, 10, 11, 12);
(C'est purement théorique, pas tresté)

tu pourrais très bien dire
Adafruit_PCD8544 ecran = Adafruit_PCD8544(7, 6, 5, 4, 3);
Avec cette ligne de commande on défini une nouvelle instance du PCD8544 à laquelle on va s'adresser pour afficher quelque chose.
Cette mécanique permet d'avoir plusieurs affichages (instances) dans le programme
Adafruit_PCD8544 ecran2 = Adafruit_PCD8544(8, 9, 10, 11, 12);
(C'est purement théorique, pas tresté)

Pour ce qui est du print et du println, il est utilisé la bibliothèque générale Print.h
#include "Print.h"
dans Adafruit_GFX.h

Bonne journée
jpbbricole
 
J
jp73
Apprenti
20 Juil 2011
91
savoie
  • Auteur de la discussion
  • #26
salut jpbbricolo

en effet j avais pas vu l include print.h

si je comprends bien pour le display il n est définit nul par, je pourrais le remplacer par nokia5110 par exemple?

bonne journée
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 244
Corsier-sur-Vevey (Vaud)
je pourrais le remplacer par nokia5110 par exemple?
Cette "mécanique" d'initialisation est faite pour ça, oui
Adafruit_PCD8544 nokia5110 = Adafruit_PCD8544(7, 6, 5, 4, 3);
et dans ton programme:
// draw a single pixel
nokia5110.drawPixel(10, 10, BLACK);
nokia5110.display();
delay(2000);
nokia5110.clearDisplay();

jpbbricole
 
J
jp73
Apprenti
20 Juil 2011
91
savoie
  • Auteur de la discussion
  • #28
cet mécanique est assez dur a comprendre je viens de retrouvé un article pour faire une librairie pour des afficheur que je vais lire sur hackable un magazine que j aime bien
 
S
speedjf37
Compagnon
15 Oct 2009
2 183
indre et loire
Cette "mécanique" d'initialisation est faite pour ça, oui
Adafruit_PCD8544 nokia5110 = Adafruit_PCD8544(7, 6, 5, 4, 3);
et dans ton programme:
// draw a single pixel
nokia5110.drawPixel(10, 10, BLACK);
nokia5110.display();
delay(2000);
nokia5110.clearDisplay();

jpbbricole
Adafruit_PCD8544 nokia5110 = Adafruit_PCD8544(7, 6, 5, 4, 3);
C++ :Ceci est la création d'un objet (n'importe quel nom sauf déjà utilisé ou réservé) de type "Adafruit_PCD8544" dont l'initialisation est "Adafruit_PCD8544(7, 6, 5, 4, 3)".
Ensuite on utilise l'objet avec les méthodes héritées du modèle.

Cordialement JF
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 244
Corsier-sur-Vevey (Vaud)
Salut jp73
dis sur le programme je ne comprends pas pourquoi j ai toujours après la virgule 00 par exemple 16.00° malgré avoir mis le map avec tous ces variables en float et fais des saut de 29 puis 28 puis 30, après le montage est alimenté aussi par l USB.
Pour autant que je sache, la fonction map ne retourne que des int.
L'astuce que je te propose pour contourner le problème est de multiplier par 10,100 ou 1000 à ta convenance, les paramètres 4 et 5 (x 100 dans l'exemple)
et ensuite de diviser le résultat obtenu par le facteur de multiplication précédemment utilisé

dis tu as quoi comme laser longueur d onde? à diode ou un yag?
Oh c'est du tout petit, 1.5w.

Cordialement
jpbbricole
 
Haut