In this experiment we are dispensing mouthwash, but you can dispense any solution that you like base off your sensor data. This is a close loop control system where the output is based on the sensor data.
In this example, bad breath can be measured via volatile sulfur sensor, however but we are using the TVOC sensor … it’s tracking all VOC compound but can not isolate bad breath compound, sulfur . This sensor will be sufficient for what we are doing. Imagine you can dispense water pairing with humidity sensor, this could give you the right amount of water based on how dry your mouth is … I am not totally sure the science behind this, it’s just an example.
What you will need
- Adafruit CCS811 Air Quality Sensor Breakout – VOC and eCO2
- Sharp GP2Y0D810Z0F Digital Distance Sensor with Pololu Carrier – GP2Y0D810Z0F
- Adafruit Feather M0 Basic Proto – ATSAMD21 Cortex M0
or any micro controller with M0 chip so it’s easier to port my code over
- Monochrome 128×32 I2C OLED graphic display
or larger screen
- 4700uF 10v Electrolytic Capacitor
- 3D printed parts
Download the STL file for 3D printing
- EWP-2502HT6V High Temperature(100°C) Mini DC6V Water Pump, Food Grade, Sous Vide, 15 GPH
- Learn To Brew LLC Food Grade Vinyl Tubing – 10 feet 5/16 ID – 7/16 OD
- NeoPixel Mini PCB – Pack of 5
- Airline Tubing
- Listerine Cool Mint Listerine Antiseptic Mouthwash
Software & Interaction Design
You can download the sketch here, make sure that you include all the right libraries.
Feel free to tweak the software, but in this sketch it work as follow.
- Standby State: Measure and display the TVOC level / neopixel reflects the TVOC level
- When TVOC level went above the threshold, the neopixel will starts blinking
- The user can now place the cup under the distance sensor to activate the pump
- The pump will not activate when TVOC is below the threshold (optional)
You can log your TVOC via wifi with this setup