AHT10 Test mit zwei Sensoren

Hallo Forumsmitglieder,
ich möchte mir eine Temperatursteuerung mit zwei AHT10 Sensoren bauen, habe auch schon einige Tests gemacht, aber am Code hapert es, da ich Anfänger bin.

Meine Hardware ist ein Arduio Uno, 2 AHT10 Sensoren und ein TC2004A-01 LCD.
Ich scheitere leider aber schon an der void Setup.
Nach,

32 Inside_sensor.begin(eAHT10Address_Low);
33 Outside_sensor.begin(eAHT10Address_High);

arbeiten sie zwar korrekt (im seriellen Monitor) aber

36 LCD.setCursor(0,0);
37 LCD.print(" Temperatur Messung ");
38 LCD.setCursor(0,1);
39 LCD.print(" Control System ");
40 LCD.setCursor(0,2);
41 LCD.print(" Version 1.0 ");
42 LCD.setCursor(0,3);
43 LCD.print(" Name ");
44 delay(5000);
45 digitalWrite(Backlight,LOW);

wird nicht auf dem LCD ausgeführt.
Wenn ich die Sensoren aus Code entferne, wird alles in meinem LCD angezeigt.

Was muss ich am Code ändern, damit beide Sensoren und mein LCD funktionieren ?

Vielen Dank schon mal, Ralf

/* AHT10 Test mit zwei Sensoren*/


#include <TimerOne.h>
#include <Wire.h>
#include <Thinary_AHT10.h>
#include <LiquidCrystal.h>

/*
 Pinbelegung am TC2004A-01 LCD:
 * LCD RS pin to digital pin 2, PD2
 * LCD Enable pin to digital pin 3, PD3
 * LCD D4 pin to digital pin 4, PD4
 * LCD D5 pin to digital pin 5, PD5
 * LCD D6 pin to digital pin 6, PD6
 * LCD D7 pin to digital pin 7, PD7
*/

LiquidCrystal LCD(2, 3, 4, 5, 6, 7); //initialisiere Pins von TC2004A-01 LCD
const int Backlight = 13;            //HIGH wenn Backlight on, PB5

AHT10Class Inside_sensor; // erstes Objekt
AHT10Class Outside_sensor; //zweites Objekt

void setup()
{
  pinMode(Backlight,OUTPUT); //Setup Backlight output, switch on
  digitalWrite(Backlight, HIGH);

  LCD.begin(20, 4);
  Wire.begin();
  Inside_sensor.begin(eAHT10Address_Low);
  Outside_sensor.begin(eAHT10Address_High);
 
   
  LCD.setCursor(0,0); // Display Title und Version
  LCD.print(" Temperatur Messung ");
  LCD.setCursor(0,1);
  LCD.print("  Control System    ");
  LCD.setCursor(0,2);
  LCD.print("  Version 1.0       ");
  LCD.setCursor(0,3);
  LCD.print("      Name          ");
  delay(5000);
  digitalWrite(Backlight,LOW);
 
}

void loop()
{
  Serial.print("\t\t\t""Inside_sensor");
  Serial.println("\t\t""Outside_sensor");
  Serial.print(String("") + "Humidity(%RH):\t\t" + Inside_sensor.GetHumidity() + "%");
  Serial.println(String("\t\t\t") + Outside_sensor.GetHumidity() + "%"); 
  Serial.print(String("") + "Temperature(℃):\t" + Inside_sensor.GetTemperature() + "℃");
  Serial.println(String("\t\t\t") + Outside_sensor.GetTemperature() + "℃");
  Serial.print(String("") + "Dewpoint(℃):\t\t" + Inside_sensor.GetDewPoint() + "℃");
  Serial.println(String("\t\t\t") + Outside_sensor.GetDewPoint() + "℃");
  delay(2000);  
}

Das ist nicht der kompletter Sketch, sehe nirgennd wo, wo Du die werte auf den LCD schreibst.
Warum machts du die hintergrund Beleuchtung im Setup aus?

 digitalWrite(Backlight,LOW);

Und wo ist

Serial.begin(115200);

am Anfang vom Setup?

Schalte alle Warnungen in der IDE ein , bist ja schon länger dabei

Versuche nicht mit dem Konstrukt auf den LCD schreiben den wenn die werte sich Ändern hast auf ein mall Dreistellige anzeige :wink:
wenn Du alles zeigst baue ich dir das um, nur die Librarie vom LCD musst zeigen welsche das ist

Hallo fony,
wie schon erwähnt, ist das nur ein Test und die ersten Schritte zur einer Temperatursteuerung. Das schreiben auf das LCD funktioniert auch siehe

aber nur wenn ich beide Sensoren auskommentiere.

//Inside_sensor.begin(eAHT10Address_Low);
//Outside_sensor.begin(eAHT10Address_High);

im seriellen Monitor werden auch die Daten der beiden Sensoren angezeigt.

Nehme ich jedoch die Sensoren in Betrieb, erfolgt keine Ausgabe nach Bild_1 mehr.

Grüße

Dann zeige doch mal die Fehlermeldungen oder erst wie fony schreibt, alle Fehlermeldungen aktivieren und dann zeigen.

Es gibt beim Kompilieren und Hochladen auf den UNO keine Fehlermeldung.

Zeile 36 - 45 wird einfach nicht mehr ausgeführt.

Ich sehe weiter hin keine Ausgabe für den LCD in der Loop. Schämst Du dich ganzen Sketch zeigen, wenn ja dann möchtst nicht meine sehen😂
Auf dem Foto sehen wir nur die Setup Ausgabe,was nach parr Sekunden verschwindet, den das Display wird abgeschaltet= die Hintergrundbeleuchtung wird abgeschaltet

Und wie sind deine Einstellungen in der IDE ?

Mach folgendes, in der IDE gehe auf für Forum kopieren und füge das hier rein. Wen ich Nachmittag zu Hause bin mache das für dich.
Ich werde das nicht vom Bild abschreiben.

Das meinte ich, ohne Serial.begin muss eine Meldung kommen.

Das hattest du ihm ja auch schon geschrieben.
Aber trotz mehrmaligem Hinweis scheint den To das nicht zu interessieren.

Jetzt sehe gerade, @eisenbahn_21 will außen Temp. mit einem AHT messen, das kann er sich abschminken schneller als man denken kann. Die AHT10 sind I²C Dinger.

Warum ?
Wenn die I2C-Leitung nur ca. 15 cm lang ist, gibt es noch kein Problem.
Oder er nimmt einen 2. Controller dafür und überträgt mit Funk o.ä. Alles möglich. :sweat_smile:

1 Like

Na, ja bis 0,5m wen man glück hat, obwohl hier im Forum so mansche behaupten das es auch bei 2m funktioniert ohne alles, wahrscheinlich mit 1kHz Übertragung.

Genau :wink: das hat doch @SpaghettiCode gemacht und ich nachgebaut ;), mittlerweile werden die Platinen für alles möglichen Missbraucht

Genau, das geht auch, man muss nur etwas Erfahrung haben.
Da spielt das Kabel, das Umfeld und die von dir genannte Taktfrequenz eine nicht zu verachtende Rolle. Viel Anfänger fallen aber damit auf die Nase.

Trotz P82B715 was 1A Funktioniert hat, ist mir Funk lieber :wink:

Naja, es kommt auf die Anwendung an.
Wenn man Funk/Wlan gut anwenden kann, ist es damit deutlich einfacher.

Hallo zu post #9

Mach folgendes, in der IDE gehe auf für Forum kopieren und füge das hier rein. Wen ich Nachmittag zu Hause bin mache das für dich.
Ich werde das nicht vom Bild abschreiben.

/* AHT10 Test mit zwei Sensoren*/


#include <TimerOne.h>
#include <Wire.h>
#include <Thinary_AHT10.h>
#include <LiquidCrystal.h>

/*
 Pinbelegung am TC2004A-01 LCD:
 * LCD RS pin to digital pin 2, PD2
 * LCD Enable pin to digital pin 3, PD3
 * LCD D4 pin to digital pin 4, PD4
 * LCD D5 pin to digital pin 5, PD5
 * LCD D6 pin to digital pin 6, PD6
 * LCD D7 pin to digital pin 7, PD7
*/

LiquidCrystal LCD(2, 3, 4, 5, 6, 7); //initialisiere Pins von TC2004A-01 LCD
const int Backlight = 13;            //HIGH wenn Backlight on, PB5

AHT10Class Inside_sensor; // erstes Objekt
AHT10Class Outside_sensor; //zweites Objekt

void setup()
{
  pinMode(Backlight,OUTPUT); //Setup Backlight output, switch on
  digitalWrite(Backlight, HIGH);

  LCD.begin(20, 4);
  Wire.begin();
  Inside_sensor.begin(eAHT10Address_Low);
  Outside_sensor.begin(eAHT10Address_High);
 
   
  LCD.setCursor(0,0); // Display Title und Version
  LCD.print(" Temperatur Messung ");
  LCD.setCursor(0,1);
  LCD.print("  Control System    ");
  LCD.setCursor(0,2);
  LCD.print("  Version 1.0       ");
  LCD.setCursor(0,3);
  LCD.print("      Name          ");   
  delay(5000);
  digitalWrite(Backlight,LOW);
 
}

void loop()
{
  Serial.print("\t\t\t""Inside_sensor");
  Serial.println("\t\t""Outside_sensor");
  Serial.print(String("") + "Humidity(%RH):\t\t" + Inside_sensor.GetHumidity() + "%");
  Serial.println(String("\t\t\t") + Outside_sensor.GetHumidity() + "%"); 
  Serial.print(String("") + "Temperature(℃):\t" + Inside_sensor.GetTemperature() + "℃");
  Serial.println(String("\t\t\t") + Outside_sensor.GetTemperature() + "℃");
  Serial.print(String("") + "Dewpoint(℃):\t\t" + Inside_sensor.GetDewPoint() + "℃");
  Serial.println(String("\t\t\t") + Outside_sensor.GetDewPoint() + "℃");
  delay(2000);  
}




zu post#10

Das meinte ich, ohne Serial.begin muss eine Meldung kommen.

Ja es fehlt Serial.begin(werde ich ergänzen), es kommt aber keine Meldung und es werden die Daten im seriellen Monitor ordnungsgemäß ausgegeben.

zu post#7

Ich sehe weiter hin keine Ausgabe für den LCD in der Loop.

ich brauche als Anfänger nicht an der loop weiterarbeiten, wenn die setup nicht nach meinen Wünschen läuft.

siehe post#1

Was muss ich am Code ändern, damit beide Sensoren und mein LCD funktionieren ?

Grüße

Wen im Setup nichts angezeigt wird stimmt was nicht mit der LCD Lib.
Wie viele Verbindungen hat dein LCD? Zeige mal Link zum Display.

Erstmals muss Setup angezeigt werden.
Besser mach mall Foto vom deinem Aufbau.