DHT 11 Werte per 433 MhZ übertragen und auf OLED anzeigen

Gast #4658781
Lesenswert?

Hallo zusammen,

ich nutze einen Arduino Nano als Sender:

Sensor: DHT 11 an PIN 2
Sender: 433 mhz an PIN 8

Zurzeit möchte ich den Empfangenen Wert im Seriellen Monitor Anzeigen 
und sie später auf einem OLED Display anzeigen. (das wird wohl noch 
etwas dauen :-)

Auf dem Sender wird im Seriellen Monitor schon das richtige Angezeigt :
Temp:
29.00
C
HUM:
46.0

Auf dem Empfänger wird im Seriellen Monitor leider nur ein Punkt und ein 
Quadrat angezeigt.

Liegt es daran das ich krampfhaft versuche den Wert direkt zu versenden 
ohne Ihn in einen String umzuwandeln ? ( das habe ich noch nicht 
bekommen).

Ich hoffe jemand kann mir bei meinem Problem Weiter Helfen.

Hier der Sketch des Senders:
1
#include <dht11.h>
2
#include <VirtualWire.h>
3

4
dht11 DHT11;
5
#define DHT11PIN 2
6

7
void setup() {
8

9

10
Serial.begin(9600);  
11

12
vw_setup(2000);
13
vw_set_tx_pin(8);
14

15
}
16

17
void loop() {
18

19
int chk = DHT11.read(DHT11PIN);
20

21
Serial.println("Temp: ");
22
Serial.println((float)DHT11.temperature, 2);
23
Serial.println(" C");
24
delay(500);
25

26
Serial.println("HUM: ");
27
Serial.println((float)DHT11.humidity, 2);
28
Serial.println(" C");
29

30
char msg[2] = {DHT11.humidity, 2};
31
vw_send((uint8_t *)msg, 2);
32
 vw_wait_tx(); // Wait until the whole message is gone
33

34

35
delay(5000);
36

37

38

39
}

Hier der Sketch des Empfängers:
1
#include <VirtualWire.h>
2

3

4
int i;
5
uint8_t buf[VW_MAX_MESSAGE_LEN];
6
uint8_t buflen = VW_MAX_MESSAGE_LEN;
7

8
void setup()
9
{
10
 Serial.begin(9600);
11
 Serial.println("device is ready...");
12

13
 vw_set_rx_pin(12);
14
 vw_setup(2000); // bps
15
 vw_rx_start();
16
}
17

18
void loop()
19
{
20

21

22
 if (vw_get_message(buf, &buflen)) { // überprüfen ob eine Nachricht eingegangen ist
23
   for (i=0;i< buflen;i++) {
24
      Serial.print((char)buf[i]);    // Nachricht aus buf ausgeben
25
   }
26
   Serial.println(" ");
27
 }
28
}


Langsam bin ich verzweifelt, massages wie Hallo oder ähnliches habe 
bereits hinbekommen, aber einen ausgelesenen wert aus dem DHT 11 leider 
noch nicht, zu mal er irgendwann auch beide werte übertragen sollte. 
Wichtig ist vielleicht noch zu sagen das DHT 11 ohne Kommastellen die 
werte ausgibt (erstmal schwierig genug  :smiley-confuse: )

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren