Top Internet of Things Daily & Weekly

Building a Shower Timer with an ESP8266

Building a Shower Timer with an ESP8266
🔧 

#IoT

  • Close water valve by controlling 2 relays connected // to ball valve motor
  • void webServerHandleCycleCmd() { g_HttpServer.send(200, “text/plain”, “Cycling water valve” ); // Set the Flash water variable to true.
  • Valve is Opened” : “Valve is Closed”; message += ” : “; for(int idx = 0; idx < MONITOR_MINS; idx++) { message += g_Rpms[idx]; message += " "; } message += " \n"; message += "Commands : /open /close /update /cycle /reset\n"; g_HttpServer.send(200, "text/plain", message ); }
  • // // Hot Water monitoring system installed at the intake of a hot water tank.
  • An electrically operated ball valve is installed on the supply side of my hot water tank and paired with a water flowmeter.

Building a Shower Timer with an ESP8266 | Patrick Walsh

@ESP8266: Building a Shower Timer with an ESP8266
🔧

#IoT

Dads, you too can enjoy that warm trickling feeling of a hot shower once again without rising at the crack of dawn. Necessity is the mother of invention, and in my house, with two teenage daughters, I had to end the curse of cold morning showers by building a shower timer that I installed on my hot-water tank.

An electrically operated ball valve is installed on the supply side of my hot water tank and paired with a water flowmeter. A small microcontroller device monitors the amount of time during which the water is passing through the tank. When the allotted time is reached, the valve is temporarily cycled off and on for a few seconds to warn the person taking a shower that her time is up.

For this project, I selected an Adafruit HUZZAH ESP8266 board, which is both cheap and packed with features that make it interesting to play with. First, it has WiFi capability, which allows it to be controlled remotely. This means that it can be initialized as an access point, which allows me to configure it to join a home network. Second, it can run a Web server to allow over-the-air updates: once the original wiring plan is installed, there is no further need to connect it through the USB port for updates. Third, it comes with a built-in voltage regulator, converting the 5V current from the power supply that drives the valve’s motor to a voltage that can be handled by the GPIO pins.

The logic is quite simple. An interrupt routine monitors the impulses generated by the flowmeter device. These impulses are accumulated while, every minute, a timer calls a callback routine that stores the accumulated impulses in an array which can hold up to 15 minutes of data. When all the cells in the array contain a value other than 0, the controller cycles the valve off and on

Building a Shower Timer with an ESP8266

Comments are closed, but trackbacks and pingbacks are open.