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
  433mHz Funkmodule senden/empfangen nicht metzgefa 2 467 06.05.2017 13:30
Letzter Beitrag: metzgefa
  Firmata (Daten senden an den Arduino und empfangen vom Arduino) comfan 6 674 29.04.2017 14:29
Letzter Beitrag: hotsystems
  Seriell Daten senden / empfangen mi ProMini Maxel 4 796 13.02.2017 12:29
Letzter Beitrag: Tommy56
  Temperatur via SMS senden Obermuda 6 650 07.02.2017 12:27
Letzter Beitrag: Tommy56
  Problem mit Sketch senden an Uno feuerwehr 5 650 31.01.2017 20:41
Letzter Beitrag: Tommy56
  NRF24L01+ "Ping" senden, empfangen, bestätigen MeisterQ 8 897 23.08.2016 13:19
Letzter Beitrag: MeisterQ
  Problem mit ESP8266 und EMail senden torsten_156 1 1.166 13.06.2016 21:14
Letzter Beitrag: torsten_156
  Daten per Ethernet Shield 2 senden Mark79 3 1.218 22.03.2016 19:29
Letzter Beitrag: Mark79
  Sensordaten in MYSQL speichern rieders 3 1.197 02.03.2016 19:58
Letzter Beitrag: rieders
  Datei von SD an anderen Arduino senden ProgrammierTier 1 771 02.02.2016 09:05
Letzter Beitrag: hotsystems

Gehe zu:


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