Page 1 of 1

Capteur SGP30 avec Flowcode 4.

Posted: Sun Jun 19, 2022 5:12 pm
by oliviermalherbe
Bonjour à tous,

Je cherche utiliser le capteur TVOC/eCO2 SGP30 en programmant sur flowcode 4 avec les routines I2C.
Quelqu'un aurait-il déjà travaillé sur ce sujet ?
J'ai réalisé un programme en essayant d'utiliser les routines I2C mais en info de retour, je n'ai que 255.
Je joints une copie de mon programme ainsi que la doc du capteur, si quelqu'un peut m'aider.

Cordialement.

Olivier.

Re: Capteur SGP30 avec Flowcode 4.

Posted: Mon Jun 20, 2022 12:25 pm
by Benj
Bonjour Olivier,

Il semble que l'adresse 0x58 puisse être l'adresse 7 bits et donc pour vos opérations d'écriture, vous devez utiliser (0x58 << 1) = 0xB0 et pour votre opération de lecture au lieu de 0x59, utilisez 0xB1.

Votre lecture n'est pas tout à fait correcte. Vous avez actuellement ceci.

Hello Olivier,

It looks like the address 0x58 might be the 7-bit address and so for your write operations you should use (0x58 << 1) = 0xB0 and for your read operation instead of 0x59 use 0xB1.

Your read isn't quite correct. You currently have this.

Start
Transmit_Byte (0x58)
Trasnmit_Byte (Register Address MSB)
Trasnmit_Byte (Register Address LSB)
Stop
Restart
Transmit_Byte (0x59)
Receive_Byte(0)
Receive_Byte(0)
...
Receive_Byte(0)
Receive_Byte(0)
Stop

Il devrait plutôt ressembler à quelque chose de plus comme ça.

It should instead look something more like this.

Start
Transmit_Byte (0xB0)
Trasnmit_Byte (Register Address MSB)
Trasnmit_Byte (Register Address LSB)
Restart
Transmit_Byte (0xB1)
Receive_Byte(0)
Receive_Byte(0)
...
Receive_Byte(0)
Receive_Byte(1)
Stop


Votre boucle est While 10 mais cela va actuellement boucler pour toujours car 10 sera toujours vrai. Cela devrait être changé pour boucler 10 fois dans les propriétés de l'icône de boucle.


Your loop is While 10 but this will currently loop forever because 10 will always be true. This should be changed to loop 10 times in the loop icon properties.


Assurez-vous également d'avoir des résistances de rappel externes à 1,8 V entre 1K et 10K sur les lignes SDA/SCL. Le 1,8 V de la tension de votre microcontrôleur PIC peut être un problème. Avez-vous un circuit de décalage de niveau pour vous aider ?

J'espère que cela t'aides.


Also make sure you have external pull up resistors to 1.8V between 1K and 10K on the SDA/SCL lines. The 1.8V to your PIC microcontroller voltage might be a problem do you have a level shifter circuit present to help with this?

Hope this helps.

Re: Capteur SGP30 avec Flowcode 4.

Posted: Mon Jun 20, 2022 9:21 pm
by oliviermalherbe
Bonjour Ben,

Merci pour votre réponse rapide.
Je n'avais pas remarqué le décalage pour l'adresse... J'ai cherché pendant des heures... :lol:

J'ai fait les modifications et cela fonctionne parfaitement.
Je vous envoie mon programme.

Encore merci pour votre aide précieuse.
Cordialement.

Olivier.