INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 1 Bewertungen - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Sensordaten per I2C senden
29.03.2016, 10:26 (Dieser Beitrag wurde zuletzt bearbeitet: 29.03.2016 10:27 von ElAleMaNo.)
Beitrag #1
Sensordaten per I2C senden
Guten Morgen,

ich versuche zur Zeit Sensordaten von einem Temperatursensor an einem Mega auszulesen und dann per I2C an einen zweiten Mega zu senden. Dazu habe ich zuerst einmal das Master_writer Beispiel ein wenig abgewandelt. Mit einem Datenwert klappt das ganze auch, aber sobald ich den zweiten senden will, wird aus dem ersten nur noch ein Kästchen im Serialmonitor.

Code:
Temp1 is    Temp2 is19
Temp1 is    Temp2 is19
Temp1 is    Temp2 is19
Temp1 is    Temp2 is19
Temp1 is    Temp2 is19
Temp1 is    Temp2 is19

Ich hoffe man kann das jetzt im Forum sehen. Der code dazu sieht so aus.
Master_writer:
Code:
#include <Wire.h>
#include <dht.h>
#define dht1 A0
#define dht2 A1
dht DHT1;
dht DHT2;

void setup()
{
  Wire.begin(); // join i2c bus (address optional for master)
}

byte x = 0;
byte y = 0;

void loop()
{
  DHT1.read11(dht1);
  DHT2.read11(dht2);
  x = DHT1.temperature;
  y = DHT2.temperature;
  Wire.beginTransmission(8); // transmit to device #8
  Wire.write("Temp1 is ");        // sends five bytes
  Wire.write(x);              // sends one byte
  Wire.write("   Temp2 is");
  Wire.write(y);
  Wire.endTransmission();    // stop transmitting

  delay(500);
}

Für den Slave habe ich einfach das Slave_receive beispiel genommen.
Hat jmd. ne idee woran das liegt?

EDIT: ich sehe grade das man das im Post nicht sehen kann. also hinter "Temp1 is" sieht man einfach ein kleines kästchen. Temp 2 wird normal angezeigt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.03.2016, 10:37 (Dieser Beitrag wurde zuletzt bearbeitet: 30.03.2016 12:10 von Retian.)
Beitrag #2
RE: Sensordaten per I2C senden
Hallo,
ich denke, dein Problem liegt beim Empfänger. Beim Slave_receive beispiel werden alle Bytes, ausgenommen das letzte Byte, als Char am Seriellen Monitor ausgeben. Nur das letzte Byte wird als Zahl ausgegeben. Deshalb funktioniert es bei dir auch, wenn du nur einen Datenwert sendest. Sobald du zwei Datenwerte sendest, wird der erste Wert als Zeichen am Seriellen Monitor ausgeben. Und weil der Zahlenwert einem nicht darstellbarem Zeichen entspricht, wird das Kästchen angezeigt.

Übrigens: Ich kenne deine dht-Library nicht, aber das Messergebnis wird dort sicher nicht im Format "Byte" ausgegeben. Ein Byte ist eine vorzeichenlose 8-Bit Zahl, d.h. du kannst damit nur ganzzahlige Temperaturen von 0 bis 255 angeben.
Sieh dir die Beschreibung der Library an, welches Format das Temperaturmessergebnis dort hat.
Gruß
Retian
http://arduino-projekte.webnode.at/
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.03.2016, 23:44
Beitrag #3
RE: Sensordaten per I2C senden
Danke erstmal für deine idee.
Ich seh das genau so nachdem ich heute längere Zeit den sketch angestarrt habe Big Grin
Ich schaue mir das morgen mal an.
Zur dht library: normal sind die als integer definiert. Aber ich will ja nur ganzzahlinge Werte und die sind nicht grösser als 255. Da ich dachte das die Problematik in der bytelänge liegt habt ich sie als Byte definiert. Und vom Wert her funktioniert das auch.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  NRF24L01+ "Ping" senden, empfangen, bestätigen MeisterQ 8 375 23.08.2016 13:19
Letzter Beitrag: MeisterQ
  Problem mit ESP8266 und EMail senden torsten_156 1 591 13.06.2016 21:14
Letzter Beitrag: torsten_156
  Daten per Ethernet Shield 2 senden Mark79 3 854 22.03.2016 19:29
Letzter Beitrag: Mark79
  Sensordaten in MYSQL speichern rieders 3 688 02.03.2016 19:58
Letzter Beitrag: rieders
  Datei von SD an anderen Arduino senden ProgrammierTier 1 535 02.02.2016 09:05
Letzter Beitrag: hotsystems
Bug Problem mit DMX senden Helyx 2 512 31.01.2016 23:20
Letzter Beitrag: Helyx
  array von Php --> Arduino zu senden (ethernet) Mourti 0 441 27.01.2016 22:11
Letzter Beitrag: Mourti
  Stringvariable senden beim ESP8266 geht nicht , warum ? arduinofan 9 1.128 12.01.2016 11:05
Letzter Beitrag: arduinofan
  Mit dem Webserverbeispiel senden und empfangen. arduinofan 3 676 09.12.2015 12:41
Letzter Beitrag: arduinofan
  Daten per USB senden/empfangen chhec 6 1.052 03.11.2015 09:15
Letzter Beitrag: arduinofan

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste