Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //SENDER
- #include <SPI.h>
- #include <nRF24L01.h>
- #include <RF24.h>
- #include <DHT.h>
- RF24 radio(7, 8); // CE, CSN
- const byte address[6] = "00001";
- struct packageOfWeatherData{ // data struct of received data from outside
- float temperature;
- float humidity;
- float heatindex;
- };
- typedef struct packageOfWeatherData PackageOfWeatherData;
- PackageOfWeatherData weatherDataPackage;
- struct fullWeatherDataPackage{ //data struct of received outside and measured inside data
- float outTemperature;
- float outHumidity;
- float inTemperature;
- float inHumidity;
- };
- typedef struct fullWeatherDataPackage FullWeatherDataPackage;
- FullWeatherDataPackage inOutWeatherData; // <--- this will be sent to the other Arduino
- DHT dht(2, DHT11);
- void setup() {
- radio.begin();
- radio.openReadingPipe(1, address);
- radio.setPALevel(RF24_PA_MAX);
- radio.setChannel(100);
- radio.setDataRate(RF24_250KBPS);
- radio.startListening();
- dht.begin();
- Serial.begin(115200);
- }
- void loop() {
- if (radio.available()) {
- radio.read(&weatherDataPackage, sizeof(weatherDataPackage));
- // Serial.print("új adat "); Serial.println(millis()/1000);
- inOutWeatherData.outTemperature = weatherDataPackage.temperature;
- inOutWeatherData.outHumidity = weatherDataPackage.humidity;
- inOutWeatherData.inTemperature = dht.readTemperature();
- inOutWeatherData.inHumidity = dht.readHumidity();
- // Serial.print(F("Outside Temperature: ")); Serial.print(inOutWeatherData.outTemperature, 1); Serial.print(F("°C "));
- // Serial.print(F("Outside Humidity: ")); Serial.print(inOutWeatherData.outHumidity, 0); Serial.print(F("% "));
- // Serial.print(F("Inside Temperature: ")); Serial.print(inOutWeatherData.inTemperature, 1); Serial.print(F("°C "));
- // Serial.print(F("Inside Humidity: ")); Serial.print(inOutWeatherData.inHumidity, 0); Serial.println(F("% "));
- Serial.write((byte*)&inOutWeatherData, sizeof(inOutWeatherData)); // sending struct package to the other Arduino
- }
- }
- //-----------------------------RECEIVER-----------------------
- struct fullWeatherDataPackage{ //data struct of received outside and measured inside data
- float outTemperature;
- int outHumidity;
- float inTemperature;
- int inHumidity;
- };
- typedef struct fullWeatherDataPackage FullWeatherDataPackage;
- FullWeatherDataPackage inOutWeatherData;
- void setup() {
- Serial.begin(115200);
- }
- void loop() {
- Serial.readBytes((byte*)&inOutWeatherData, sizeof(inOutWeatherData));
- Serial.print(F("Outside Temperature: ")); Serial.print(inOutWeatherData.outTemperature, 1); Serial.print(F("°C "));
- Serial.print(F("Outside Humidity: ")); Serial.print(inOutWeatherData.outHumidity, 0); Serial.print(F("% "));
- Serial.print(F("Inside Temperature: ")); Serial.print(inOutWeatherData.inTemperature, 1); Serial.print(F("°C "));
- Serial.print(F("Inside Humidity: ")); Serial.print(inOutWeatherData.inHumidity, 0); Serial.println(F("% "));
- delay(1000);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement