From c915e95f7564f2ec9def6f6f6b15e25fe86a6dc1 Mon Sep 17 00:00:00 2001 From: Steven Date: Thu, 23 Sep 2021 16:50:31 -0400 Subject: Added code for tempature+humidity sensor which is on hand. arduino ide insists on new directory structure. --- src/main/main.ino | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 src/main/main.ino (limited to 'src/main/main.ino') diff --git a/src/main/main.ino b/src/main/main.ino new file mode 100644 index 0000000..bdab190 --- /dev/null +++ b/src/main/main.ino @@ -0,0 +1,85 @@ +#define TEMP_SENSOR_PIN 14 +#define HUMIDITY_SENSOR_PIN 14 +#define FAN_PIN 15 +#define CO2_PIN 16 +#define ULTRASONIC_PIN 17 + +#define CHECK_FREQUENCY 1 // check sensors every second +#define HUMIDITY_DESIRED 75 +#define HUMIDITY_VARIATION 3 // ultrasonic turns on at (75 - 3 = 72) and off + // at (75 + 3 = 78) + + +// Tempature + Humidity Sensor +#include +#include +#include +#define DHTTYPE DHT11 +#define DHTPIN TEMP_SENSOR_PIN +DHT_Unified dht(DHTPIN, DHTTYPE); + +int get_humidity () { + // Get temperature event and print its value. + sensors_event_t event; + dht.temperature().getEvent(&event); + if (isnan(event.temperature)) { + Serial.println(F("Error reading temperature!")); + } + else { + return event.temperature; + /* Serial.print(F("Temperature: ")); */ + /* Serial.print(event.temperature); */ + /* Serial.println(F("°C")); */ + } +} + +int get_tempature () { + sensors_event_t event; + // Get humidity event and print its value. + dht.humidity().getEvent(&event); + if (isnan(event.relative_humidity)) { + Serial.println(F("Error reading humidity!")); + } + else { + return event.relative_humidity; + /* Serial.print(F("Humidity: ")); */ + /* Serial.print(event.relative_humidity); */ + /* Serial.println(F("%")); */ + } +} + +int get_co2 () { ; } +bool start_ultrasonic () { ; } +bool stop_ultrasonic () { ; } +bool start_fan () { ; } +bool stop_fan () { ; } + + +bool log ( int humidity, int temp, int co2 ) { + Serial.printf("Tempature: %d\tHumidity: %d\tCO2: %d\n", + humidity, temp, co2); +} + +void setup () { + Serial.begin(115200); + dht.begin(); /* temp/humidity sensor */ +} + +void loop() { + delay(CHECK_FREQUENCY * 1000); + int humidity = get_humidity(); + int temp = get_tempature(); + int co2 = get_co2(); + + if ( humidity < (HUMIDITY_DESIRED - HUMIDITY_VARIATION) ) { + start_ultrasonic(); + stop_fan(); + } else if ( humidity > (HUMIDITY_DESIRED + HUMIDITY_VARIATION) ) { + start_fan(); + stop_ultrasonic(); + } else { + ; // keep doing the same + } + + log(humidity, temp, co2); +} -- cgit v1.2.3