enc28j60 und DS18B20

Hallo ich habe zwei Probleme und hoffe ihr könnt mir helfen.

Zu1 ich habe einen Sketch indem ich die Außentemperatur(DHT22 und eine Wassertemperatur schalten will mit einem Arduino Nano. Ich habe ein Relai einen DHT 22 und einen Ds18B20 Sensor mit einem I2c display verbaut, diese Schaltung funktioniert super, alles klappt.

Jetzt wollte ich die Schaltung um einen weiteren DS18B20 erweitern, jedoch zeigt er mir im Dispaly die Temperatur -127°C an?? habe darauf hin die Adressen gescannt und es kommt eine Adresse mit dem zusatz fühler der.. Familie heraus dann noch eine Nummer.in der nächsten zeile gibt er wieder eine Adresse aus mit dem zusat.. Familie heraus dann noch eine Nummer.

Muss ich beide nummern als Adresse eintragen????

Dann habe ich ein enc28j60 mit diesem möchte ich die Daten auf Thingspeak übertragen, bekomme jedoch keine Verbindung. kennt jemand einen geeigneten Skecht für diese Anwendung (übertragen der Daten mit dem enc28j60)???

Wäre nett wenn die erfahrenen Arduino user oder auch die mit ähnlichen Problemen mir helfen würden oder könnten

Wie sollen wir dir helfen, wenn du deinen Sketch geheim hälst ?

Für den enc28j60 nimm die uipethernet Lib von Norbert. Ist Befehlskompatibel mit der des w5100

Sketch und Fehlermeldung, ggf. Foto vom Aufbau mit gut sichtbaren Kabeln, und/oder Schaltplan wären gut

Den Sketch habe ich vergessen sorry!

Dieser Sketch funktioniert soweit, bis auf den zweiten Fühler (Pooltemperatur), der wird mir im Display zwar angezeigt, jedoch mit -127 °C.


#include "DHT.h"
DHT dht(3, DHT22);
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 10

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors (&oneWire);

int T1;
int T2;

LiquidCrystal_I2C lcd(0x3F, 16, 2);



void setup() {
Serial.begin(9600);
Serial.println("DHT Test!");
dht.begin();
pinMode (8, OUTPUT);
  delay(1000);
   lcd.begin();
   sensors.begin();
}

void loop() {
  delay(5000);   
  lcd.begin();
   lcd.backlight();
   lcd.setCursor(0,0);
   lcd.print("Aussentemp:");
    lcd.setCursor(0,1);  
   lcd.print(dht.readTemperature());
   delay (5000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Vorlauftemp T1:");
    lcd.setCursor(0,1);
lcd.print(sensors.getTempCByIndex(1));
delay (5000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Pooltemp. T2:");
    lcd.setCursor(0,1);
lcd.print(sensors.getTempCByIndex(2));
delay(5000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Luftfeuchte:");
    lcd.setCursor(0,1);
lcd.print(dht.readHumidity());
 sensors.requestTemperatures();
 Serial.print ("Vorlauftemp: ");  
 Serial.print(sensors.getTempCByIndex(0));
   float t=dht.readTemperature();
float l=dht.readHumidity();
if(isnan(t) || isnan(l))

{
 Serial.println("kein Wert !");
}
else
{
 Serial.print("Aussentemperatur: ");
Serial.print(t);
Serial.print("°C");
Serial.print(" Luftfeuchtigkeit");
Serial.print(l);
Serial.println("%");}
delay(1000);



if (t=dht.readTemperature() >20)
if ((sensors.getTempCByIndex(0)) > (t=dht.readTemperature()))
 {
 digitalWrite(8,HIGH);}

else{
digitalWrite(8, LOW);}
}

Dein Sketch ist fast nicht zu lesen. In einem Mobilgerät überhaupt nicht.
Setze den bitte in Code-Tags.

Verwende dazu die Schaltfläche </> oben links im Editorfenster.
Das kannst du auch nachträglich machen.
Dazu den Sketch markieren und die Schaltfläche klicken.

Damit wird dieser für alle besser lesbar.

Welche Temperatur möchtest du messen ? Also welcher Index (0, 1, 2) ist für dich wichtig ?

HotSystems: Welche Temperatur möchtest du messen ? Also welcher Index (0, 1, 2) ist für dich wichtig ?

Alle drei sind wichtig 0 und 1 funktioniren auch aber die 2 wird mir mit -127°C angezeigt. Die erste Temperatur () "Außentemperatur" kommt vom DHT 22

ich hab auch schon eine zeile mit DeviceAdress T1 und eine DeviceAdress T2 hinzugefügt im Sketch,

bei der zweiten Zeile bekomme ich beim kompelieren die Fehlermeldung:

"exponent has no digits"

Dann lies dir deinen Sketch nochmal durch. Du liest 3 mal einen DS18B20 aus, obwohl du von 2 schreibst.

HotSystems: Dann lies dir deinen Sketch nochmal durch. Du liest 3 mal einen DS18B20 aus, obwohl du von 2 schreibst.

Danke da hast du recht, habe ich geändert, löst aber leider das Problem nicht

dennis1005: Danke da hast du recht, habe ich geändert, löst aber leider das Problem nicht

Na das ist doch schon mal was.

Dann poste mal den aktuellen Sketch, allerdings vorher besser formatiert (Strg+T) in der IDE. Dann ist er noch besser lesbar.

HotSystems: Na das ist doch schon mal was.

Dann poste mal den aktuellen Sketch, allerdings vorher besser formatiert (Strg+T) in der IDE. Dann ist er noch besser lesbar.

Naja nicht ganz, wie ich gerade festgestellt habe war das die Zeile wo er mir die Temperatur am seriellen monitor wiedergibt.

dennis1005: Naja nicht ganz, wie ich gerade festgestellt habe war das die Zeile wo er mir die Temperatur am seriellen monitor wiedergibt.

Ich befürchte, du weist selbst nicht mit welchem Sketch du arbeitest. Der gezeigte zeigt alle im LCD an.

Und ohne richtigen Code können wir nicht helfen.

und einen enc28j60 seh ich auch keinen

ElEspanol: und einen enc28j60 seh ich auch keinen

Das ist ja mein Problem weiss nicht wenlchen ich für das ENC nehmen muss die Beispiele sind voll damit.

dennis1005: Das ist ja mein Problem weiss nicht wenlchen ich für das ENC nehmen muss die Beispiele sind voll damit.

Das solltest du auch zwingend erstmal weglassen und sehen, dass der bisherige Sketch funktioniert. Nur wenn du uns immer falsche Informationen postest, können wir nicht helfen.