Problème entre 2 modules I2C ?

Bonjour à tous,
Pour (tenter de) faire du datalogging, j'utilise en ce moment :

  • une carte Arduino Mega 2560
  • un shield Ethernet avec carte SD
  • un module DS1307 i2c sur lequel je peux directement raccorder mes DS18B20
  • un afficheur LCD 4x20 i2c pour afficher les mesures instantanées.

Quand j'essaie de faire fonctionner les deux modules i2c ensemble dans le même programme, l'afficheur LCD est à peine lisible (pas assez de luminosité) alors qu'utilisés séparément il n'y a pas ce problème.

C'est probablement une question de débutant mais je voudrais bien savoir !
D'avance merci.

Bonjour,
je doute que l'on ait assez d'informations pour répondre précisément à ta question... Essaie de coller ici le code qui ne fonctionne pas histoire de pouvoir fouiller un peu dans ses entrailles :slight_smile:

FidelCastor:
...
Quand j'essaie de faire fonctionner les deux modules i2c ensemble dans le même programme, l'afficheur LCD est à peine lisible (pas assez de luminosité) alors qu'utilisés séparément il n'y a pas ce problème.

C'est probablement une question de débutant mais je voudrais bien savoir !
D'avance merci.

bonjour
tout ça alimenté au travers de l'arduino ?
si oui, il est fort probable que le regulateur est à bout de souffle

Bonjour,
En effet j'ai pensé à l'éventualité d'une faiblesse de l'alimentation qui passe par la carte MEGA.
Alors j'ai mis en parallèle une alimentation 9V via la prise Jack de la carte MEGA mais cela ne change rien à l'affichage !
Puis-je et comment alimenter différemment ?
Sinon mon programme fonctionne correctement.

FidelCastor:
Bonjour,
En effet j'ai pensé à l'éventualité d'une faiblesse de l'alimentation qui passe par la carte MEGA.
Alors j'ai mis en parallèle une alimentation 9V via la prise Jack de la carte MEGA mais cela ne change rien à l'affichage !
Puis-je et comment alimenter différemment ?
Sinon mon programme fonctionne correctement.

bonjour
perso et déjà pour test , j'alimenterais l'afficheur LCD par une alim 5V dediée

Bonjour, question toute bête mais quel est l'avantage de passé par une connexion I2C?

guigui76:
Bonjour, question toute bête mais quel est l'avantage de passé par une connexion I2C?

surement reduire le bilan d'utilisation de pins sur sa carte
RTC+LCD , ça n'utilise que "2 fils" (hors +V et GND)

Bonjour,
Pas de changement suite à mon alimentation séparée de l'afficheur LCD ainsi que du module ds1307 :~
J'ai pourtant installé une alimentation qui débite jusqu'à 400 mA !
L'afficheur a toujours d'une luminosité très faible et le programme installé fonctionne toujours.
Je persiste donc à croire qu'il y a un conflit entre mes deux modules i2c car testés individuellement tout va bien.
Une autre idée de test à me suggérer ?

As tu bien réglé le contraste?

Comment as-tu cablé le pin LED+ de ton LCD?

Des problèmes de fiabilité sur l'i2c sont envisageables : t'as mis des résistances de pull-up sur SDA et SCL ?

FidelCastor:

  • un module DS1307 i2c sur lequel je peux directement raccorder mes DS18B20

Heu ....;
Le 18B20 c'est du oneWire pas de l'I²C

Il n'y aurait pas un conflit entre le shield Ethernet et le rétroéclairage de l'afficheur?

Bonjour à tous et merci pour vos réponses,

Tout d'abord je donne des précisions complémentaires sur mon matériel :

  • carte MEGA 2560 FUNDUINO
    -shield Ethernet avec carte SD
  • module Tiny RTC I2C
  • afficheur YwRobot LCM 1602 IIC V1

@John_lenfr : J'ai bien essayé de jouer sur le contraste (potard à l'arrière du LCD) et il y a bien un strap installé sur le PIN LED du LCD et qui coupe l'allumage des led quand on le débranche.

@ B@tto : Les pin SDA et SCL des cartes RTC, MEGA et LCD sont reliées respectivement entre elles et je n'ai pas mis de résistances pull up sur ces broches. Pour en mettre je prends quelle valeur de résistance et je les branche sur la masse ou le + ?

@fdufnews : Les DS18B20 passent sur la carte Tiny RTC car cette carte posséde une résistance intégrée à la ligne DS.
La sortie DS de cette carte dédiée aux 18B20 est reliée à la broche 2 de la MEGA (entrée 1wire). L'i2c c'est juste pour la partie DS1307 ce cette carte Tiny qui elle communique via SDA/SCL
.
Conflit entre le shield ethernet et l'afficheur: Je ne pense pas car les deux cartes sans le module DS1307 fonctionnent correctement.
C'est depuis que j'ai mis en plus la carte DS1307 que l'affichage a perdu sa luminosité normale, avant tout allait bien d'où la question du sujet de ce topic.

FidelCastor:
@ B@tto : Les pin SDA et SCL des cartes RTC, MEGA et LCD sont reliées respectivement entre elles et je n'ai pas mis de résistances pull up sur ces broches. Pour en mettre je prends quelle valeur de résistance et je les branche sur la masse ou le + ?

Normalement entre 2.2 et 5k. Mais je viens de regarder la schématique du Tiny RTC et il y en a déjà d'intégrées, donc c'est pas ici qu'il faut chercher ...

Il faudrait déjà situé le problème (hard ou soft) : est-ce que tu as essayé tout branché, mais dans le code rien pour la rtc ? Et vice versa (pas de rtc mais code pour la piloter)?

L'ajout des nouvelles fonctionnalités n'aurait pas ralenti ta boucle principale?
Et dans ce cas est-ce que suite à un placement hasardeux des fonctions d'effacement de l'afficheur et de sa mise à jour tu ne te trouverais pas avec un temps d'effacement de l'écran supérieur au temps d'affichage.

J'avais un module RTC qui me faisait un truc bizzare dans le même sens aussi.

Quand je le branchais sans rien ajouter, il "pompait" tout le jus de l'alimentation et faisait planter la carte arduino.

Le fait d'avoir rajouté une résistance sur le pin + de l'alim du module RTC a résolu le problème

:wink:

Merci pour vos conseils.
Il faut que je refasse une batterie de tests de plusieurs PGM avec et sans chacun des éléments ... Et je vous tiens au courant.
J'ai acheté 3 configurations de ce type. J'ai aussi aussi commencé à croiser les cartes entre les 3 configurations pour voir si cela changeait quelque chose mais pour le moment c'est du pareil au même :~

bonjour
quant tu ecris ça :

Quand j'essaie de faire fonctionner les deux modules i2c ensemble dans le même programme, l'afficheur LCD est à peine lisible (pas assez de luminosité) alors qu'utilisés séparément il n'y a pas ce problème.

c'est un probleme de contraste ou un probleme de backlight ?
il y a un reglage de contraste sur ton module LCD ? ça donne quoi une action dessus dans le cas "litigieux" ? :grin:

C'est un problème de puissance lumineuse, un peu comme si l'afficheur était sous alimenté.
Le réglage de contraste situé au dos du LCD n'apporte rien de plus.

FidelCastor:
C'est un problème de puissance lumineuse, un peu comme si l'afficheur était sous alimenté.
Le réglage de contraste situé au dos du LCD n'apporte rien de plus.

ok , donc ça semble bien etre le backlight
tu peux tester quelle tension tu a exactement selon les cas (litigieux ou pas) entre 5V et GND de l'arduino
et les pins 15 et 16 du connecteur LCD