Introduction: Smart Dispenser: Dispenses Solutions Based on the VOC Level

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.

Step 1: What You Will Need

  1. Adafruit CCS811 Air Quality Sensor Breakout - VOC and eCO2 https://www.adafruit.com/product/3566
  2. Sharp GP2Y0D810Z0F Digital Distance Sensor with Pololu Carrier - GP2Y0D810Z0F https://www.adafruit.com/product/1927
  3. Adafruit Feather M0 Basic Proto - ATSAMD21 Cortex M0 or any micro controller with M0 chip so it's easier to port my code over https://www.adafruit.com/product/2772
  4. Monochrome 128x32 I2C OLED graphic display or larger screen https://www.adafruit.com/product/931
  5. 4700uF 10v Electrolytic Capacitor https://www.adafruit.com/product/1589
  6. 3D printed parts Download the STL file for 3D printing
  7. EWP-2502HT6V High Temperature(100°C) Mini DC6V Water Pump, Food Grade, Sous Vide, 15 GPH http://amzn.to/2k8HKbg
  8. Learn To Brew LLC Food Grade Vinyl Tubing - 10 feet 5/16 ID - 7/16 OD http://amzn.to/2fBx9UF
  9. NeoPixel Mini PCB - Pack of 5 https://www.adafruit.com/product/1612
  10. Airline Tubing http://amzn.to/2xFgZhI
  11. Listerine Cool Mint Listerine Antiseptic Mouthwash http://amzn.to/2wZCOLP

Step 2: Software & Interaction Design

You can download the sketch here, make sure that you include all the right libraries. http://danchen.work/wp-content/uploads/2017/09/VOC_OLED_Graph2.ino_.zip

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)

Step 3: Wiring

Step 4: Extra Credit

You can log your TVOC via wifi with this setup

http://danchen.work/plotting-realtime-wifi-data-with-canvas-js/