Général bibliothèque arduino

J

jp73

Apprenti
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
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
 
J

jp73

Apprenti
heuu elle doit etre dans lib ou librairies, si ça ce trouve je l ai mis dans un autre dossier
 
J

jp73

Apprenti
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?
 
V

vibram

Compagnon
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
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
 
J

jpbbricole

Compagnon
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
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
 
J

jpbbricole

Compagnon
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
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
 
J

jpbbricole

Compagnon
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
 
J

jpbbricole

Compagnon
Il faut mettre tout le programme pour que je puisse essayer la compilation.
 
J

jpbbricole

Compagnon
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
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?
 
J

jpbbricole

Compagnon
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
oui erreur de ma par print je la trouve pas dans la pcd8544.h je ne comprends pas trop comment ça marche
 
J

jp73

Apprenti
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 ?
 
J

jpbbricole

Compagnon
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
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
 
J

jpbbricole

Compagnon
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
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
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
 
J

jpbbricole

Compagnon
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
 

Sujets similaires

N
Réponses
3
Affichages
632
jpbbricole
J
G
Réponses
4
Affichages
29 933
fauxjetons
fauxjetons
wika58
Réponses
261
Affichages
14 786
midodiy
midodiy
Faber29
Réponses
8
Affichages
513
Faber29
Faber29
fauxjetons
Réponses
3
Affichages
802
MegaHertz
MegaHertz
A
Réponses
10
Affichages
547
yvon29
yvon29
G
Réponses
1
Affichages
507
Greg de Nîmes
G
H
Réponses
8
Affichages
19 929
homebuilder
H
marktwo
Réponses
16
Affichages
1 291
laboureau
laboureau
T
Réponses
0
Affichages
590
toulousain
T
B
Réponses
11
Affichages
441
Benji31110
B
500H
Réponses
13
Affichages
497
500H
Haut