Partage
  • Partager sur Facebook
  • Partager sur Twitter

[arduino] compatibilité librairies SD et LCD

6 février 2014 à 19:25:41

Plop a tous,

Je fais un montage sur mon arduino utilisant un écran LCD 42x84 (nokia 5110) et un ... truc pour lire les cartes SD ^^'

Donc voilà, je teste le matériel individuellement d'abord : l'écran marche tout va bien, sur les pins 7, 6, 5, 4 et 3, et mon module SD aussi, sauf que lui ne demande pas les pins, il y a juste la ligne   "if (!SD.begin(10))" qui dit que le pin des donnees est le 10.

Le soucis c'est que lorsque que je combine les deux, l'écran ne marche plus ! Enfin il marche "partiellement", les fonctions de dessin (display.drawTriangle()) fonctionnent, mais pas les fonctions de texte (display.println() n'affiche rien !)... c'est assez problématique !

et ce, dès l'ajout de la ligne "#include <SD.h>" ... :/ je pense qu'il s'agit d'un problème de compatibilité entre les librairies "Adafruit_GFX.h> et <Adafruit_PCD8544.h>" et "<SD.h> et <SPI.h>", et qu'il faudrait donc pouvoir définir les pins du module SD.

Là où c'est bizarre c'est que s'il y a un problème de compatibilité, rien ne devrait fonctionner, or le module SD marche bien...

Voili voilou si ce problème est connu je vous prie de m'expliquer le soucis...

  • Partager sur Facebook
  • Partager sur Twitter
6 février 2014 à 19:37:11

Il me semble que le module SD, utilises le SPI aussi, donc il y a forcément un conflit entre les deux entités. Après il y a surement moyen de faire quelque chose mais ça risque de demander beaucoup de travail. (Peut être avec le chip select)

-
Edité par Po2yaourt 6 février 2014 à 19:39:01

  • Partager sur Facebook
  • Partager sur Twitter
Oalley.fr une carte intelligente pour se déplacer et se retrouver !
6 février 2014 à 19:39:26

Voui, le module SD fonctionne avec le SPI (enfin SD.h me donne une erreur de compilation sans SPI.h) mais par contre, l'écran marche très bien sans SPI.h donc c'est pas forcément lié ?

  • Partager sur Facebook
  • Partager sur Twitter
6 février 2014 à 19:48:00

Le problème c'est que Adafruit_PCD8544.h utilise le SPI mais sans la surcouche de la librairie spi.h si j'ai bien compris.

Sur la page de la librairie :

These displays use SPI to communicate, 4 or 5 pins are required to
interface

https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library/blob/master/Adafruit_PCD8544.cpp

  • Partager sur Facebook
  • Partager sur Twitter
Oalley.fr une carte intelligente pour se déplacer et se retrouver !
6 février 2014 à 19:52:43

Po2yaourt a écrit:

These displays use SPI to communicate, 4 or 5 pins are required to interface

yup, mais justement, Mon écran est branché dessus ^^' .. ou alors c'est "4 ou 5 pins sont nécéssaires" au lieu de "les pins 4 ou 5 sont nécéssaires" ?

Si j'ai bien compris ce que tu veux dire, c'est que Adafruit_PCD8544.h utilise le SPI mais sans devoir intégrer le fichier directement dans le code, du coup si je l'ajoute avec #include, ça le met deux fois et ça fait buguer ?

Que faut-il que je fasse alors ?

Edit : après différents tests, c'est tout ce qui est String qui ne marche plus ... (sauf quand on fait Serial.println("hellow");, enfin si on utilise la fonction string (String trolol = "test"; Serial.println(trolol);) ça marche pas... C'est mysterieux.



-
Edité par Matruck 6 février 2014 à 19:58:07

  • Partager sur Facebook
  • Partager sur Twitter
6 février 2014 à 22:13:21

C'est étrange, tout (les Strings) fonctionne jusqu'a ce que j'ajoute "Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);" et là tout part en cacahuète, le serial est spamé de symboles biarres (style "Initializing SD Ini.½7@IInitializing SDIni.½7i¡R+¥±¥é¥¹SD Ini.7izR+¥±¥é¥¹SD Ini.7i")
Et le display.print(String) n'écrit rien du tout :(

Ya vraiment un soucis...

  • Partager sur Facebook
  • Partager sur Twitter
7 février 2014 à 20:56:46

Tu as essayé de stopper ton programme à ce niveau la et d'écrire sur le port série ? J'ai regardé le constructeur de la fonction sur github, je ne vois pas en quoi cela pourrait avoir une influence.

Étrange ce problème. Oo

  • Partager sur Facebook
  • Partager sur Twitter
Oalley.fr une carte intelligente pour se déplacer et se retrouver !
16 octobre 2019 à 17:28:09

Bonjour,

J'ai actuellement le même problème, une sorte d'incompatibilité apparaît...

Quelqu'un a-t-il une solution ? 

Merci d'avance

  • Partager sur Facebook
  • Partager sur Twitter
17 octobre 2019 à 9:44:56

Bonjour,

Tu devrais ouvrir ton propre sujet au lieu de déterrer un sujet aussi ancien, et indiquer les détails concernant les broches utilisées par chaque module et le code minimum qui reproduit le problème.

  • Partager sur Facebook
  • Partager sur Twitter
18 octobre 2019 à 1:17:41

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter