Hallo,
ich bin neu hier im Forum und hoffe ihr könnt mir helfen! Ich bin 15 Jahre alt und lerne zurzeit C (Konsolenanwendungen). Jetzt habe ich mir auch ein paar Arduinos gekauft. Dazu die 433 Mhz Module
MX-05V (Empfänger), MX-FS-03V (Sender) und den Temperatursensor DHT 22.
Ich möchte die Sensorwerte des DHT22 mit einem Arduino Nano auslesen und diese dann mit dem Sender zu einen anderen Arduino Nano schicken zum weiterverarbeiten.
Hier mein Sender-Code:
#include <DHT.h>
#include <VirtualWire.h>
#define DHTPIN 2
#define DHTTYPE DHT22
#undef int
#undef abs
#undef double
#undef float
#undef round
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
// Initialise the IO and ISR
vw_set_ptt_inverted(true);
vw_setup(2000);
vw_set_tx_pin(7);
}
void loop()
{
float hum = dht.readHumidity();
float temp = dht.readTemperature();
char msg[10];
sprintf(msg,"%f", temp);
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx();
delay(2000);
}
Hier mein Empfänger-Code:
#include <VirtualWire.h>
#undef int
#undef abs
#undef double
#undef float
#undef round
void setup()
{
Serial.begin(9600);
vw_set_ptt_inverted(true);
vw_setup(2000);
vw_set_rx_pin(7);
vw_rx_start();
}
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen))
{
int i;
for (i = 0; i < buflen; i++)
{
Serial.print(buf[i]);
}
Serial.println("");
}
}
Ich scheitere aber schon die Sensor-Werte (floats) zu senden. Irgendwie habe ich das noch nicht verstanden. Ich hab auch schon lange genug gegoogelt aber nichts treffendes gefunden.
Könnt ihr mir sagen was ich falsch gemacht bzw. verstanden habe ?
Wäre euch sehr dankbar !