Der AHT10 Sensor kann zwei I2C Adressen verwenden 0x38 und 0x39.
Einzeln funktionieren sie prima. Wie muß ich den Test-Code umgestalten das ich beide
eAHT10Address_Low
eAHT10Address_High
angezeigt bekomme.
[code]
#include <Wire.h>
#include <Thinary_AHT10.h>
AHT10Class AHT10;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Wire.begin();
if(AHT10.begin(eAHT10Address_Low))
Serial.println("Init AHT10 Sucess.");
else
Serial.println("Init AHT10 Failure.");
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println("//Thinary Eletronic AHT10 Module//");
Serial.println("https://thinaryelectronic.aliexpress.com");
Serial.println(String("")+"Humidity(%RH):\t\t"+AHT10.GetHumidity()+"%");
Serial.println(String("")+"Temperature(℃):\t"+AHT10.GetTemperature()+"℃");
Serial.println(String("")+"Dewpoint(℃):\t\t"+AHT10.GetDewPoint()+"℃");
delay(500);
}
[/code]
Vielleicht habe ich deine Frage nicht richtig verstanden. Möchtest Du herausfinden ob der AHT10 an 0x38 oder an 0x39 hängt?
Normalerweise legt der Entwickler der Hardware die entsprechende I2C Adresse fix ab. Die Möglichkeit die Adresse auf 0x38 bzw 0x39 zu ändern hat den Hintergrund zwei AHT10 an deinem Arduino anzuschließen.
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden.
Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
mfg ein Moderator.
ich gehe mal davon aus das die beide Adressen eAHT10Address_High, und eAHT10Address_Low irgendwo in der Lib definiert sind. Du benötigst zwei Objekte von dem Sensor. Die bekommen je einen Namen. Anschließend startest Du beide mit .begin(Adresse). Ab dann kannst Du auf beide über ihren Objektnamen zugreifen.
AHT10Class AHT1; // erstes Objekt
AHT10Class AHT2; // zweites Objekt
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Wire.begin();
if(AHT1.begin(eAHT10Address_Low))
Serial.println("Init AHT1 Sucess.");
else
Serial.println("Init AHT1 Failure.");
}
if(AHT2.begin(eAHT10Address_High))
Serial.println("Init AHT2 Sucess.");
else
Serial.println("Init AHT2 Failure.");
}
Bei mir ginge es nicht, habe auch so gemacht. In der Lib sind beide definiert außer dem habe die nicht. Schau mal in die ,h jedoch habe mit Adsfruit AHTxx probiert