diff --git a/cybergarden-sensor/lib/Sensors/Sensors.cpp b/cybergarden-sensor/lib/Sensors/Sensors.cpp new file mode 100644 index 0000000..9fd7591 --- /dev/null +++ b/cybergarden-sensor/lib/Sensors/Sensors.cpp @@ -0,0 +1,28 @@ +#include + + +float Sensor::temperatureSensor(){ + return analogRead(TEMP_SENS); +} + +float Sensor::humiditySensor(){ + float h = dht->readHumidity(); + if (isnan(h)) { + return -1; + } + else{ + return h; + } +} + +int Sensor::photoSensor(){ + int value = analogRead(PHOTO_SENS); + return value; +} + +int Sensor::vibroSensor(){ + int value = analogRead(VIBRO_SENS); + return value; +} + + diff --git a/cybergarden-sensor/lib/Sensors/Sensors.h b/cybergarden-sensor/lib/Sensors/Sensors.h new file mode 100644 index 0000000..446d320 --- /dev/null +++ b/cybergarden-sensor/lib/Sensors/Sensors.h @@ -0,0 +1,31 @@ +#pragma once +#include "Arduino.h" +#include "DHT.h" +#include "math.h" + +/////////////////////////////////////////////////////// +// Pins Definitions +/////////////////////////////////////////////////////// + +#define HUM_SENS 33 +#define TEMP_SENS 32 +#define PHOTO_SENS 25 +#define VIBRO_SENS 26 +class Sensor{ + + private: + //KY-015 + DHT *dht; + + public: + float temperatureSensor(); + float humiditySensor(); + int photoSensor(); + int vibroSensor(); + +Sensor() + { + dht = new DHT(HUM_SENS, DHT11); + dht->begin(); + } +}; diff --git a/cybergarden-sensor/platformio.ini b/cybergarden-sensor/platformio.ini index 203b30b..1084f9e 100644 --- a/cybergarden-sensor/platformio.ini +++ b/cybergarden-sensor/platformio.ini @@ -16,3 +16,7 @@ monitor_speed = 115200 lib_deps = mikem/RadioHead@^1.120 rweather/Crypto@^0.4.0 + paulstoffregen/OneWire@^2.3.7 + milesburton/DallasTemperature@^3.11.0 + adafruit/DHT sensor library@^1.4.4 + adafruit/Adafruit Unified Sensor@^1.1.13 diff --git a/cybergarden-sensor/src/main.cpp b/cybergarden-sensor/src/main.cpp index d2c64f8..d3d579f 100644 --- a/cybergarden-sensor/src/main.cpp +++ b/cybergarden-sensor/src/main.cpp @@ -2,10 +2,12 @@ #include "TransmitterModule.h" #include "TransmissionModule.h" #include "ReedSolomonModule.h" +#include "Sensors.h" TransmitterModule transmitterModule; ReedSolomonModule reedSolomonModule; TransmissionModule transmissionModule(transmitterModule, reedSolomonModule); +Sensor sensors; void setup() { Serial.begin(115200); @@ -17,10 +19,45 @@ uint16_t getMockSensorData() { } void loop() { - MeasureData measureData; - measureData.sensor_id = 0xA5; - measureData.sensor_type = 0x01; - measureData.payload = getMockSensorData(); - transmissionModule.transmit(measureData); - delay(1000); + MeasureData measureData_temp; + measureData_temp.sensor_id = 0xA5; + measureData_temp.sensor_type = 0x01; + measureData_temp.payload = sensors.temperatureSensor(); + transmissionModule.transmit(measureData_temp); + + delay(100); + + MeasureData measureData_hum; + measureData_hum.sensor_id = 0xA5; + measureData_hum.sensor_type = 0x02; + measureData_hum.payload = sensors.humiditySensor(); + transmissionModule.transmit(measureData_hum); + + delay(100); + + MeasureData measureData_photo; + measureData_photo.sensor_id = 0xA5; + measureData_photo.sensor_type = 0x03; + measureData_photo.payload = sensors.photoSensor(); + transmissionModule.transmit(measureData_photo); + + delay(100); + + MeasureData measureData_vibro; + measureData_vibro.sensor_id = 0xA5; + measureData_vibro.sensor_type = 0x04; + measureData_vibro.payload = sensors.photoSensor(); + transmissionModule.transmit(measureData_vibro); + + delay(100); + + Serial.print(sensors.humiditySensor(), DEC); + Serial.print(" "); + Serial.print(sensors.temperatureSensor(), DEC); + Serial.print(" "); + Serial.print(sensors.photoSensor(), DEC); + Serial.print(" "); + Serial.println(sensors.vibroSensor(), DEC); + + delay(100); } \ No newline at end of file