Skip to content

IGSEdigheim/Classroom-Sensor

Repository files navigation

Classroom-Sensor

Der Classroom-Sensor verwendet einen ESP32-Mikrocontroller mit integriertem wifi-Modul.

Durch den Einsatz von FreeRTOS Tasks werden die einzelnen Bestandteile des Programms entkoppelt. Der Wifi-Task zum Beispiel, ist dafür zuständig, die wifi-Verbindung neu aufzubauen, falls sie abgebrochen wurde. Der Rest des Programms funktioniert aber mit und ohne wifi.

Mit den drei Sensoren werden die folgenden Umweltwerte gemessen

  • CO₂-Konzentration mit dem MH-Z19
  • Lufttemperatur, Luftfeuchtigkeit, Luftdruck und Luftwiderstand mit dem Bosch BME680
  • Lautstärke in Dezibel mit dem INMP441-Mikrofon

Die beiden RGB-Leuchtdioden zeigen die Lautstärke und den CO2-Wert optisch an. Ein Summer kann zusätzlich ein akkustisches Feedback geben. Die beiden Taster können noch frei konfiguriert werden.

Alle Teile des Programms kommunizieren über FreeRTOS-Queues miteinander und funktionieren dadurch vollkommen asynchron. Der Button-Task sendet zum Beispiel eine Nachricht wenn ein Taster gedrückt oder losgelassen wurde.

Die Platine wird in einem IKEA Bilderrahmen als Gehäuse untergebracht. Die "Frontblende" kann frei gestaltet werden. Dabei werden die LEDs integriert.

Hier können die Testdaten betrachtet werden.

In der Datei cred.h müssen die WLAN-Zugangsdaten und URL/Port des MQTT-Servers eingetragen werden.

ToDo

  • Die Taster und der Summer funktionieren aber haben noch keine Funktion.

Software

Verwendete Arduino Bibliotheken

Datenfluss

Datenfluss

MQTT-Topics

  • igs/environment/deepsleep
  • igs/environment/RAUM_ID/co2
  • igs/environment/RAUM_ID/bme680
  • igs/environment/RAUM_ID/vol

Wobei RAUM_ID durch eine eindeutige Kennzeichnung des Raumes ersetzt wird. Zu Testzwecken verwende ich raum1 und raum2.

Hardware

Platine

Auf der zugehörigen Projektseite auf oshwlab.com können Sie den Schaltplan und die Platine bearbeiten und von jlcpcb fertig lassen.

3D-Ansicht Platine Schaltskizze

  • Widerstände: R1 = 100, R2 = 120, R3 = 47, R4 = 100, R5 = 120, R6 = 47, R7 = 10k, R8 = 10k

  • Außenmaß: Die Innenmaße des Ikea Rahmens Ribba 10x15 definieren den Umriss der Platine (152.5mm x 102.6mm). Die Löcher (3,2mm) sind dafür da um optional den Feinstaubsensor auf die Rückseite der Platine anzuschrauben.

Anschlussmöglichkeiten für die LEDs

Auf der Platine gibt es zwei Anschlussmöglichkeiten für bis zu 6 LEDs. Eine RGB-LED ersetzt 3 LEDs. Es lassen sich also zwei RGB-LEDs anschließen und beliebig programmieren. Die erste LED könnte die CO₂-Konzentration und die zweite die Lautstärke anzeigen.

Die LEDs kann man an einem beliebigen Platz direkt auf die Platine auflöten indem man für eine RGB-LED vier nebeneinanderstehende freie Lötlöcher auswählt. Alle Löcher mit quadratischer Lötstelle sind mit GND (Minus) verbunden. Die anderen Löcher (mit runden Lötstellen) sind nicht verbunden. Für jede LED braucht es also eine Kabelverbindung zu einem der LED Anschlussstellen, die mit LED1 und LED2 beschriftet sind.

Alternativ kann man die LEDs auch mit einem Kabel mit der Platine verbinden, wenn man einen Connector auf die Platine lötet. Es eignet sich zu Beispiel ein abgewinkelter 2X4P IDC Connector oder ein 2x4 Pin Header. LCSC: 2X4P IDC Connector oder C492432

Anschluss für Feinstaubsensor (SDS011)

Dieser Anschluss ist für den Classroom-Sensor absolut optional. Dabei Feinstaubsensor handelt es sich um ein total anderes Projekt, dass sich mit dieser Platine ebenfalls umsetzten lässt.

Datenblatt des Feinstaubsensors

Bezugsquellen

Mikrocontroller, Sensoren und Aktoren

ESP32 (Doit 30Pin Version)

Jeder Pin des ESP32 Entwicklungsboards ist auf der Platine herausgeführt. Bei Bedarf können zwei einreihige Pin-Buchsen (15 Pins pro Seite) aufgelötet werden.

Bezugsquelle

CO₂-Sensor: (MH-Z19)

Bezugquelle

Umweltsensor (BME680)

Bezugsquelle

Mikrofon (INMP441)

Zur Lärmpegelmessung.

Bezugsquelle

Summer (Buzzer)

Bezugsquellen

Taster

Bezugsquellen

RGB-LED

Man hat die Wahl zwischen zwei RGB Leuchtdioden mit gemeinsamer Kathode oder bis zu 6 einzelnen LEDs. Man kann auch eine RGB LED und 3 einzelne LEDs verwenden. Ich rate zu diffusen LEDs, da sich die Farben besser mischen.

Bezugsquelle

Strombuchse für 5V

Bezugsquelle

Links zu weiteren Projekten

About

Sensor on ESP32 with CO2, MEMS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages