AM2315 Temp. und Feuchtesensor

OP #6156902
Lesenswert?

Hallo Zusammen,

ich habe gerade einen AM2315 bei mir. Ich bin etwas unsicher wegen der 
I2C Adresse. Im Datenblatt stehen die 0xB8 und die und 0xB9. Wenn man 
sich im Netz nach Beispielen umschaut, findet man dort die 0x05C. Bei 
mir liefert der Sensor auf allen Adressen nur 0xFF. Diese Werte sehe ich 
auch auf dem Oszi.

Kennst jemand diesen Effekt? Ist das ggf. nur ein Timing Problem 
zwischen Wackup und dem Lesebefehl?

VG
Ingo
(Firma: matzetronics) #6156951
Lesenswert?

Manche geben die I²C Adresse als 7-Bit Adresse an und andere als 8-Bit 
Adresse mit dem LSB auf R/W Funktion.
So wird die Angabe 0xB8 und 0xB9 letzteres bedeuten - also 0xB8 zum 
Schreiben und 0xB9 zum Lesen. Schiebt man diese Adresse um 1 bit nach 
rechts:

0b10111001 - 0xB9 - Leseadresse 8-Bit

dann wird daraus
0b01011100 , und das ist dann 0x5C. Das R/W Bit wird dann von der 
Library erzeugt.

Welche Syntax deine I²C Lib benutzt, teste man am besten durch ein 
bestätigtes Adressbyte, bei dem das ACK Bit vom Slave mit low 
beantwortet wird. Wenn der Slave kein ACK liefert, fühlte er sich nicht 
angesprochen.

Der AM2315 ist insofern eigenartig, weil er eine Wake-Up erstmal mit 
NACK beantwortet, also so tut, als wäre er nicht da. Fragt man ihn dann 
max. 3ms später nochmal ab, sollte er mit ACK antworten und dann bereit 
zum Auslesen der Register sein. Ganz hinten im schrecklichen Datenblatt 
ist eine Flowchart, wie mans machen soll.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren