22 Commits

Author SHA1 Message Date
Yannick van Etten
4f79695d9c Foto toegevoegd van het aansluitschema 2024-11-29 14:04:12 +01:00
Yannick van Etten
b2d233386c uitleg toegevoegd voor de MQ5 gassensor 2024-11-29 13:52:27 +01:00
Yannick van Etten
160b43f49e nog stukje toegevoegd aan de tvoc/eco2 sensor uitleg 2024-11-19 15:26:46 +01:00
Yannick van Etten
afe8ae3357 uitleg toegevoegd van de tvoc/eco2 sensor toegevoegd 2024-11-19 15:23:40 +01:00
Yannick van Etten
66d5444488 Uitleg van de DHT11 sensor toegevoegd aan sensoronderzoek 2024-11-19 15:07:17 +01:00
Yannick van Etten
bcbd6743fb Added comment 2024-11-18 11:16:53 +01:00
Yannick van Etten
9997bf2319 Removed double code 2024-11-18 11:12:02 +01:00
Yannick van Etten
0ae0b83e4b Merged m5 code into sensor code 2024-11-18 11:09:13 +01:00
Yannick van Etten
db8758e1e5 removed unnecessary code 2024-11-13 14:45:27 +01:00
Yannick van Etten
08dff8bbc1 changed test code for the m5stack sensor 2024-11-13 14:37:14 +01:00
Yannick van Etten
f0260c1a91 changed file location 2024-11-13 13:46:04 +01:00
Yannick van Etten
40d601a35b Name change and small changes 2024-11-13 13:02:22 +01:00
Yannick van Etten
3525479b17 Added comments 2024-11-11 10:53:10 +01:00
Yannick van Etten
2e08bf7e74 Removed baseline 2024-11-11 09:19:08 +01:00
Yannick van Etten
12c25b33a7 Added test code for M5 sensor. (work in progress) 2024-10-31 16:27:30 +01:00
Yannick van Etten
5b27974d5a Added comments 2024-10-31 15:27:17 +01:00
Yannick van Etten
f4ce50db18 Name change 2024-10-31 15:12:00 +01:00
Yannick van Etten
9bd9b6c4b2 Added code for the MQ5 gas sensor 2024-10-30 18:04:58 +01:00
Yannick van Etten
c08f1e434c rewrote DHT11 code 2024-10-30 15:35:03 +01:00
Yannick van Etten
fb35d2a84d Code toegevoegd voor de DHT11 sensor 2024-10-29 15:17:27 +01:00
Yannick van Etten
b67c51e56b Documentatie uitgebreid 2024-10-29 14:06:29 +01:00
Yannick van Etten
8b03438d47 Start Sensoronderzoek 2024-10-28 15:23:32 +01:00
4 changed files with 178 additions and 0 deletions

View File

@@ -0,0 +1,79 @@
# Sensor onderzoek
In dit bestand gaan we onderzoek doen naar de sensoren die we willen gebruiken op de Kobuki.
Hierin gaan we meerdere sensoren vergelijken met elkaar en kijken welke wij het beste kunnen gebruiken voor ons project.
## Probleem
Voor ons project moeten wij een manier vinden om gassen/stoffen te detecteren zodat je in een gebouw weet waar je niet veilig naartoe kan.
## De vraag
> Welke sensoren kunnen wij het beste gebruiken om schadelijke gassen/stoffen te vinden in een gebouw ?
## Voorwaarden
De voorwaarden waar de sensors aan moeten voldoen zijn:
- De sensoren moeten op de kobuki passen.
- We moeten zo weining mogelijk sensoren gebruiken zodat we genoeg plek over houden voor andere onderdelen van de Kobuki.
## Hoe aansluiten
Wij gaan deze sensoren aansluiten op een esp32 en deze laten wij via MQTT de gegevens doorsturen naar de raspberry pi.
## De sensoren.
Wij zijn uitgekomen op 3 sensoren.
- De dht11 sensor
- De tvoc/eC02 Gas Unit.
- Gravity: Elektrochemische zuurstof-/O2-sensor (0-25%Vol, I2C) SEN0322
- Gassensor MQ-5 module (OT2018-D55)
Wij hebben voor de Dht11 en de tvoc/eC02 gas unit gekozen omdat wij deze bij james konden lenen. En wij hebben gekozen voor de Gassensor MQ-5 module (OT2018-D55) Omdat dit een mooie kleine sensor is die wij makkelijk kwijt kunnen op de kobuki.
Voor de o2 sensor hebben wij gekozen voor de Gravity: Elektrochemische zuurstof-/O2-sensor (0-25%Vol, I2C) SEN0322. Deze sensor is helaas op het moment van schrijven (29-10-2024) niet op voorraad dus deze sensor kunnen wij helaas nog niet toevoegen. Zodra deze sensor op voorraad is zal ik deze bestellen en aan de esp toevoegen.
## Sensor uitleg
#### Dht11
De dht11 is een eenvoudige en goedkope sensor die wordt gebruikt om de temperatuur en luchtvochtigheid te meten.
De sensor bevat de volgende onderdelen om te werken:
- Een thermistor : Dit is een component die temperatuur meet door variaties in elektronische weerstand.
- Een capacitieve vochtigheidssensor : Deze meet de relatieve luchtvochtigheid door de verandering in het materiaal tussen de condensatorplaten te meten. Deze verandering gebeurt door de waterdamp in de lucht.
- Een geïntegreerde microcontroller : Deze microcontroller verwerkt de gegevens van de sensoren en zet deze om in een digitaal signaal.
Het meetbereik van de sensor is 0 tot 50 graden voor temperatuur en voor de luchtvochtigheid is het 20 tot 90%
Hierbij is de temperatuur tot ±2 graden nauwkeurig en de luchtvochtigheid ±5 procent.
De DHT11 kan aangesloten worden op een 3.3 of 5 volt voeding.
Wij kunnen deze sensor dus zonder problemen compleet aansluiten op de esp32s3
#### Tvoc/eC02 Gas Unit
De M5Stack TVOC/eCO2-Gassensensor-eenheid (SGP30) is een compacte sensor ontwikkeld om vluchtige organische stoffen (TVOC) en schijnbare CO₂-concentraties (eCO2) te meten.
Deze component maakt gebruik van de SGP30-sensor van Adafruit
De SGP30 is gebaseerd op een metal-oxide (MOX) halfgeleidertechnologie.
Deze technologie detecteert veranderingen in elektrische weerstand bij blootstelling aan vluchtige organische stoffen (VOC's),
zoals ethanol en aceton.
De sensor bevat ingebouwde algoritmes om de gemeten VOC waarden om te zetten in tvoc en eco2.
- TVOC : Dit is de totale concentratie vluchtige organische stoffen.
- ECO2 : Dit is een geschatte koolstofdioxideconcentratie.
Dit is een schatting op basis van de VOC metingen.
Deze sensor werkt op 3.3 en 5 volt dus ook voor deze sensor kunnen wij de esp32s3 gebruiken.
#### MQ5 Gassensor
De MQ5-gassensor is een veelgebruikte sensor voor het detecteren van brandbare gassen, zoals aardgas (methaan), vloeibaar petroleumgas (LPG), waterstof en koolmonoxide. Het werkt op basis van veranderingen in elektrische weerstand van het sensorelement wanneer het wordt blootgesteld aan specifieke gassen.
De kern van de MQ5 sensor is een chemisch gecoat metalen oxide (meestal tinoxide).
Dit materiaal reageert op de aanwezigheid van brandbare gassen.
Wanneer de sensor gasdeeltjes detecteert, reageren deze met zuurstofionen op het oppervlak van het tinoxide. Deze reactie veroorzaakt een verandering in de elektrische geleidbaarheid (weerstand) van het materiaal.
De verandering in weerstand wordt door een elektronisch circuit omgezet in een elektrisch signaal dat de concentratie van gas vertegenwoordigt.
De MQ5 sensor heeft ook een ingebouwde verwarmingsspiraal die het sensorelement op een hoge temperatuur houdt (ongeveer 300-500°C). Deze temperatuur zorgt ervoor dat gassen efficiënt reageren met het tinoxide-oppervlak.
Het enige nadeel van deze sensor is dat hij niet selectief is dus de sensor kan geen onderscheid maken tussen bijvoorbeeld methaan en lpg.
## Aansluitschema
![Afbeelding aansluitschema](images/Aansluitschema_sensors.png)
Hierboven is te zien hoe wij de sensoren hebben aangesloten op de esp32.

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

View File

@@ -0,0 +1,59 @@
#include <DHT.h>
#include <Wire.h>
#include "Adafruit_SGP30.h"
Adafruit_SGP30 sgp;
// define pins and type of DHT sensor
#define DHTPIN 4
#define DHTTYPE DHT11
#define MQ5_PIN 2
#define SDA_PIN 10
#define SCL_PIN 11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
//initialize serial communication and the sensors
Serial.begin(9600);
dht.begin();
pinMode(MQ5_PIN, INPUT);
Wire.begin(SDA_PIN, SCL_PIN);
Serial.println("SGP30 test");
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
int mq5Value = analogRead(MQ5_PIN);
// if sensor isn't connected properly display error message
if (isnan(h) || isnan(t) || isnan(mq5Value)) {
Serial.println("Fout bij het lezen van de sensors!");
return;
}
if (! sgp.IAQmeasure()) {
Serial.println("Measurement failed");
return;
}
// puts sensor values in the serial monitor
Serial.print("Luchtvochtigheid: ");
Serial.print(h);
Serial.print(" %\tTemperatuur: ");
Serial.print(t);
Serial.println(" *C");
Serial.print("MQ5 waarde: ");
Serial.println(mq5Value);
Serial.print("TVOC "); Serial.print(sgp.TVOC); Serial.print(" ppb\t");
Serial.print("eCO2 "); Serial.print(sgp.eCO2); Serial.println(" ppm");
delay(500);
}

View File

@@ -0,0 +1,40 @@
// Test code is merged to main sensor code os this file is not needed anymore
#include <Wire.h>
#include "Adafruit_SGP30.h"
Adafruit_SGP30 sgp;
#define SDA_PIN 10
#define SCL_PIN 11
void setup() {
Serial.begin(115200);
while (!Serial) { delay(10); }
Wire.begin(SDA_PIN, SCL_PIN);
Serial.println("SGP30 test");
if (!sgp.begin()) {
Serial.println("SGP30 sensor not found :(");
while (1);
}
// Start measurements (initialize baseline)
if (! sgp.IAQinit()) {
Serial.println("SGP30 IAQinit failed!");
while (1);
}
}
void loop() {
if (! sgp.IAQmeasure()) {
Serial.println("Measurement failed");
return;
}
Serial.print("TVOC "); Serial.print(sgp.TVOC); Serial.print(" ppb\t");
Serial.print("eCO2 "); Serial.print(sgp.eCO2); Serial.println(" ppm");
delay(1000); // 1 second delay
}