diff options
author | Alphara <42233094+xAlpharax@users.noreply.github.com> | 2023-11-04 15:45:12 +0000 |
---|---|---|
committer | Alphara <42233094+xAlpharax@users.noreply.github.com> | 2023-11-04 15:45:12 +0000 |
commit | 9f33e5a68b0013a1f1a7aa010e246616df74bf60 (patch) | |
tree | 52804505869a52a40cb9aa86878cb0a3128d6fdb /learning_examples | |
parent | 9cb5a1dab096ba3d7babe1fc2d2717f5cea65cb8 (diff) |
Did some improvements, namely:
- Researched some more about the pinouts
- got mq135 to work with a workaround (because the library is complete CRAP)
- Prepared to advance with the DSM for dust metrics
- Hopefully a good enough collection of basic reads to comprise a comprehensive data bundle for the AI training, inference and public interest.
Diffstat (limited to 'learning_examples')
-rw-r--r-- | learning_examples/MQ135_DHTxx_esp32_CRAP/MQ135_DHTxx_esp32.ino | 58 | ||||
-rw-r--r-- | learning_examples/parts_per_mil_mq135_workaround_analog_esp32/parts_per_mil_mq135_workaround_analog_esp32.ino | 10 |
2 files changed, 68 insertions, 0 deletions
diff --git a/learning_examples/MQ135_DHTxx_esp32_CRAP/MQ135_DHTxx_esp32.ino b/learning_examples/MQ135_DHTxx_esp32_CRAP/MQ135_DHTxx_esp32.ino new file mode 100644 index 0000000..51b14f1 --- /dev/null +++ b/learning_examples/MQ135_DHTxx_esp32_CRAP/MQ135_DHTxx_esp32.ino @@ -0,0 +1,58 @@ +#include <MQ135.h> +#include <DHT.h> + +/* MQ135 + DHT Temp Sensor + + Combination of the MQ135 air quality sensor and a DHT11/22 temperature sensor to accurately measure ppm values through the library correction. + Uses the Adafruit DHT Sensor Library: https://github.com/adafruit/DHT-sensor-library + + Written by: https://github.com/NuclearPhoenixx/MQ135 +*/ + +#define PIN_MQ135 15 // MQ135 Analog Input Pin +#define DHTPIN 23 // DHT Digital Input Pin +#define DHTTYPE DHT11 // DHT11 or DHT22, depends on your sensor + +MQ135 mq135_sensor(PIN_MQ135); +DHT dht(DHTPIN, DHTTYPE); + +float temperature, humidity; // Temp and Humid floats, will be measured by the DHT + +void setup() { + Serial.begin(9600); + + dht.begin(); +} + +void loop() { + // Serial.println("aaaaaaaaaaaaaaaaaa"); + humidity = dht.readHumidity(); + temperature = dht.readTemperature(); + + // Check if any reads failed and exit early (to try again). + if (isnan(humidity) || isnan(temperature)) { + Serial.println(F("Failed to read from DHT sensor!")); + return; + } + + float rzero = mq135_sensor.getRZero(); + float correctedRZero = mq135_sensor.getCorrectedRZero(temperature, humidity); + float resistance = mq135_sensor.getResistance(); + float ppm = mq135_sensor.getPPM(); + float correctedPPM = mq135_sensor.getCorrectedPPM(temperature, humidity); + + Serial.print("MQ135 RZero: "); + Serial.print(rzero); + Serial.print("\t Corrected RZero: "); + Serial.print(correctedRZero); + Serial.print("\t Resistance: "); + Serial.print(resistance); + Serial.print("\t PPM: "); + Serial.print(ppm); + Serial.print("ppm"); + Serial.print("\t Corrected PPM: "); + Serial.print(correctedPPM); + Serial.println("ppm"); + + delay(300); +}
\ No newline at end of file diff --git a/learning_examples/parts_per_mil_mq135_workaround_analog_esp32/parts_per_mil_mq135_workaround_analog_esp32.ino b/learning_examples/parts_per_mil_mq135_workaround_analog_esp32/parts_per_mil_mq135_workaround_analog_esp32.ino new file mode 100644 index 0000000..dc2ed08 --- /dev/null +++ b/learning_examples/parts_per_mil_mq135_workaround_analog_esp32/parts_per_mil_mq135_workaround_analog_esp32.ino @@ -0,0 +1,10 @@ +void setup() { + Serial.begin(9600); + // put your setup code here, to run once: + Serial.println("begin"); +} + +void loop() { + Serial.println(analogRead(15)); // ppm metrics (raw (i think)) + // put your main code here, to run repeatedly: +} |