#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include "Adafruit_BME280.h"
Adafruit_BME280 bme;

RF24 radio(8, 7);
const byte address[6] = "00001";

struct package {
  float temperature;
  float humidity;
};
typedef struct package Package;
Package data;

unsigned long previousSystemTime = millis();

void setup() {
  //Start the NRF24
  radio.begin();
  radio.setPALevel(RF24_PA_MAX);
  radio.openWritingPipe(address);
  radio.stopListening();
  //Sensor
  unsigned status;
  status = bme.begin(0x76);
}

void loop() {
  if (millis() >= previousSystemTime + 5000) {
    collectSensorData();
    sendData();
    previousSystemTime = millis();
  }
}

void collectSensorData() {
  data.temperature = bme.readTemperature();
  data.humidity = bme.readHumidity();
}

void sendData() {
  radio.write(&data, sizeof(data));
}
