Forum: Mikrocontroller und Digitale Elektronik DHT 11 Werte per 433 MhZ übertragen und auf OLED anzeigen


von Starcounter (Gast)


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: )

: Verschoben durch User
von Nitram E. (slexx)


Lesenswert?

Hast du die richtige Übertragungsrate am Terminal(Rechner) eingestellt? 
Also 9600?

Schicke dir später mal ein Code von mir... Hatte das gleiche auch mal 
gemacht.

von Redt (Gast)


Lesenswert?

Was hat das unter Projekte und Code verloren?
Kann man das nicht verschieben?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.