Interfaçage 20M2 avec un capteur i2c...

spheris

Senior Member
Bonjour,
Je me lance dans la communication avec un picaxe et un capteur i2c
Sans vouloir vous ennuyer avec des notions et questions simples, j'ai fait une recherche (boite Search n haut à droite) sur le forum pour commencer à lire les sujets traitants de l'i2C.
Sauf que quand je recherche le terme 'I2C', il m'affiche un message d'erreur :
The search could not be completed because the search keywords were too short, too long, or too common.

Je n'ai donc accès à aucun post et suis obligé de parcourir les forums les uns après les autres pour avoir mon info.
J'ai tenté 'i2c ' (avec des espaces) , 'picaxe i2c' , rien n'apparait.
Pourquoi ce blocage? Quelle est la chaine à rechercher qui fonctionne?
Merci pour votre réponse.
;-)
 

MGU

Senior Member
Bonjour,

Si ça peut aider, voici quelques pages de mon site utilisant des modules I2C:

MM
 

spheris

Senior Member
MGU,
Merci c'est ce que je cherchais.
kfjl, merci pour la commande, je vais lire la doc.
Est-il possible de brancher 3 capteurs I2C sur un picaxe 20m2?
Auriez-vous un tuto là dessus?
Merci
 

MGU

Senior Member
Quels capteurs ?
Oui, c'est le principe d'un bus.
Mais attention, certains modules intègrent les résistances de tirage et la multiplication des modules met toutes ces résistances en parallèle.
Voici un projet Qlocktwo, avec quatre PCF8574 et une horloge DS3231, soit 5 modules I2C en parallèle
MM
 

MGU

Senior Member
Hello PieM

Effectivement, j'ai oublié de préciser ce "détail", Mais c'est aussi pour cela que je demande de quel capteur il s'agit.

MM
 

kfjl

Member
kfjl, merci pour la commande, je vais lire la doc.

Je ne vous invitais pas à lire la doc.

Vous aviez du mal à trouver un mot clé pour faire une recherche sur le forum, je vous en ai donné un: hi2csetup.

Et la source pour en trouver d'autres: le manuel 2.
 

spheris

Senior Member
kflj,
je me suis mal exprimé, j'ai bien compris ce que vous aviez dit.
En lisant les tuto de MGU, j'ai bien compris qu'il faut une adresse pour lire les données du capteur.
Je souhaite lire les données de ce capteur :
adresse 073,
Par contre, je ne vois aucun détail pour le type de données reçues Word,int,etc... et la conversion à réaliser.
Auriez-vous une piste?
Merci pour votre réponse.
 

MGU

Senior Member
Bonjour,

Il y a quatre adresses : de 0x70 à 0x73 .
J'ai rien vu non plus, la réponse est dans la librairie "DFRobot_OxygenSensor.h".
Doit bien y avoir une doc ailleurs...

Attention, la durée de vie de ces capteurs (chers) est limitée à deux ans...

MM
 

spheris

Senior Member
Attention, la durée de vie de ces capteurs (chers) est limitée à deux ans..
Auriez-vous un autre capteur d'o2 moins cher et qui dure plus longtemps?
 

spheris

Senior Member
Bonsoir,
J'ai bien avancé. L'adresse est bien par défaut 0x73.
Sauf que notre picaxex a besoin d'une adresse 8 bits soit 0xE6.
En lisant simplement dans une boucle do loop le registre 0x03, j'ai une valeur 0910 correspondant à l'air ambiant soit 20.9%
Une simple conversion et le tour est joué.
Merci pour votre aide.
La solution était bien dans la librairie "DFRobot_OxygenSensor.h".

Voici le code de ma solution :
hi2csetup i2cmaster, 0xE6, i2cslow, i2cbyte
do
hi2cin 0x03,(b1,b2)
sertxd(#b1,#b2,10)
pause 1000
loop
 

MGU

Senior Member
Bonsoir,
J'ai bien avancé. L'adresse est bien par défaut 0x73.
Sauf que notre picaxex a besoin d'une adresse 8 bits soit 0xE6.
En lisant simplement dans une boucle do loop le registre 0x03, j'ai une valeur 0910 correspondant à l'air ambiant soit 20.9%
Une simple conversion et le tour est joué.
Merci pour votre aide.
La solution était bien dans la librairie "DFRobot_OxygenSensor.h".

Voici le code de ma solution :
hi2csetup i2cmaster, 0xE6, i2cslow, i2cbyte
do
hi2cin 0x03,(b1,b2)
sertxd(#b1,#b2,10)
pause 1000
loop
Bonjour,

C'est parfait, mais je n'ai pas bien compris en quoi consistait la conversion.
Là, on écrit les deux octets du registre 0x03, soit 09 10
Quelle est la relation entre 0910 et 20,9% ?

Je ne connais pas de capteur d'oxygène, d'autres seraient sans doute basés sur la même technologie

MM
 

spheris

Senior Member
Quelle est la relation entre 0910 et 20,9% ?
A) vue du coté mathématique
capteur linéaire donc relation liée par la formule : Y=aX+b
pour X = 910, Y = 20,9%
910 est l'échantillon reçu par le capteur pour un taux de 20.9% d'o2.
en soufflant sur le capteur on passe à 755 soit à peu près 17% d'o2.
B) Vue du coté informatique
Comme le dit MGU, je ne trouve pas le bout de code qui me permet de réaliser la conversion dans les sources.
J'en déduit qu'il s'agit du point A.
 

MGU

Senior Member
Quelle est la relation entre 0910 et 20,9% ?
A) vue du coté mathématique
capteur linéaire donc relation liée par la formule : Y=aX+b
pour X = 910, Y = 20,9%
910 est l'échantillon reçu par le capteur pour un taux de 20.9% d'o2.
en soufflant sur le capteur on passe à 755 soit à peu près 17% d'o2.
Si tu es sûr de ça, tu as deux équations et deux inconnues...
MM
 
Top