Remplacement capteur de luminosité TSL2561 - TSL2591

Bonjour à tous,

Je me permets de vous demander votre aide par rapport au remplacement d'un capteur de luminosité TSL2561 par un capteur TSL2591.

Tout d'abord je tiens à vous informer que je débute dans le monde magique d'Arduino.

Il y a quelques mois une de mes connaissances m'a transmis un programme me permettant de faire un suivi de la lumière avec un TSL2561.

Cette référence n'étant plus disponible j'ai donc décidé d'acheter un TSL2591.

En regardant les différentes caractéristiques et les différences entre ces deux capteurs j'ai remarqué que le TSL2561 possède 3 adresses I2C alors que le capteur TSL2591 ne possède qu'une adresse I2C.
J'ai essayé de faire des changements dans le code du TSL2561 pour incorporer le TSL2591 mais sans succès.

Est ce qu'il est possible de modifier le code du TSL2561 avec le TSL2591 car je ne vois pas comment passer des 3 adresses I2C en une seule adresse I2C.

boolean SFE_TSL2561::begin(char i2c_address)
	// Initialize TSL2561 library to arbitrary address or:
	// TSL2561_ADDR_0 (0x29 address with '0' shorted on board)
	// TSL2561_ADDR   (0x39 default address)
	// TSL2561_ADDR_1 (0x49 address with '1' shorted on board)
	// Always returns true

Je suis désolé si ma question est un peu flou et je te tiens à vous remercier d'avance pour votre aide.

Cordialement,

Bonjour,

Le TSL2561 n'a qu'une adresse I2C. Celle ci peut être modifiée en mettant des straps sur la carte.

Bonjour Kamill,

Merci pour ta réponse.

Mais je ne vois pas sur quelle borne je veux mettre un straps car le TSL2591 comporte exactement les mêmes bornes que le le TSL2591.

Sur le capteur TSL2561 je branche l'alimentation en Vin/GND et deux autres câble en SDA/SCL.

Sachant que le capteur TSL2591 comporte une connexion de moins (VIN/GND/3VO/INT/SDA/SCL).

Une image d'un capteur TSL2561et une image d'un capteur TSL2591 est en PJ de ce post.

Je vous remercie d'avance

obsolete-tsl2561-senseur-luxluminositelumiere-digital (1).jpg

obsolete-tsl2561-senseur-luxluminositelumiere-digital (1).jpg

bonjour
il suffit de retourner la carte

c'est écris dessus (enfin dessous pour le coup)

Bonjour Jfs59,

Je te remercie pour ta réponse.

Je suis vraiment désolé mais je n'ai pas compris.

Je dois connecter une borne 3vo et/ou int sur une autre borne ?

Merci d'avance pour votre temps.

Ok
autant pour moi

si c'est un 2561 suffit de retourner la carte si c'est un 2591 bah ...

The TSL2591 is a I2C sensor. That means it uses the two I2C data/clock wires available on most microcontrollers, and can share those pins with other sensors as long as they don't have an address collision. For future reference, the I2C address is 0x29 and you can't change it!

you can't change it

donc dans le programme utiliser 0x29

donc soit tu change l'adresse si possible soit tu utilise l'adresse fixe ! a priori (et j'ai lu le datasheet) la y en a qu une pas modifiable.

après concernant la librairie compatible ou pas ? je sais pas faut que les registres et les commandes correspondent dans les deux versions ...

Merci pour ta réponse.

Après plusieurs essais je pense que les librairies ne fonctionne pas ensemble.

Je vais essayer de modifier le code de pilotage en gardant les librairies du TSL2591.

Encore merci pour ton aide.

Quelles libraires ne fonctionnent pas ensemble?
Tu essaies de faire fonctionner un TSL2591 et un TSL2561? Si c'est ça il faut qu'ils aient des adresses I2C différentes.

J'ai essayé de faire fonctionner la librairie du TSL2591 dans mon code global Arduino qui comprend d'autres capteurs (qui été composé du TSL2561 avant en faisant les changements).

Ce que je n'arrive pas à cerner c'est que mon ancien code avec le TSL2561 avaient 3 I2C différents et donc comment faire pour mettre un capteur qui est composé que d'un seul I2C ?

Je pense que je n'ai pas encore toutes les compétences pour cerner le problème.

Merci pour votre aide en tout cas.

TON TSL2561 N'A QU'UNE ADRESSE I2C. Comme déjà dit au post #1.

Ton programme n'utilise qu'une adresse I2C.