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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.