Thursday, April 7, 2016

SmartKeg

Arduino (Typical)
There are a bunch of "Smart Keg" projects out there.  This one is my own implementation of one tailored to fit my needs.  What originally started this project is a beer light I have.  It has just been sitting in my garage collecting dust.  Every now and then when I had a party I would turn it on and it would blink away but it is such a pain to plug it in and configure the switches.  I came up with an idea to use an Arduino to power a Ground Fault Isolated power outlet controlled by a 5v Power Relay to turn the sign off and on.  I think every time you pull the tap the light will start and will continue up to 2 minutes after you finish pouring and then every day at 5 pm too.

5V Power Relay
Liquid Flow Meter
2.8" TFT Capacitive Touch Screen
For the Arduino to know when the tap is pouring and power the relay, I bought a Liquid Flow Meter.  This way every time the beer flows, the flow sensor will send pulses to the Arduino letting it know to power the relay.  After some thinking, I realized that I can also use this flow sensor to monitor how much beer is poured and keep track of how much beer will be left in the keg.  Now that I was going to monitor how much beer was left in the keg, I decided I needed to add some type of LCD screen.  Originally I was just going to use the RGB LCD 16x2 Character Display.  But then I found a 2.8" TFT Capacitive Touch Shield.  This would provide me with a much cleaner display of information and be able to interact with the Arduino.  With this display, I might as well monitor the temperature inside the kegerator too.  So I bought a DROK Waterproof Temperature Sensor (DS18B20) to be display on the screen as well.

So after a few modifications to the original plan, I am now going to use the flow sensor to power a relay that will turn on my beer light.  It will also count how many beers are left in the keg and display that on the touch screen.  The temperature sensor will also display the temperature inside the kegerator on the screen.

Now that I have a touch screen, I can interact with the Arduino to reset the beer left counter once the keg is replaced.  I may also get another relay to control the temperature inside the kegerator.  Currently, there is a knob inside that's just numbered but you have to guess at the temperature.  Using the Arduino to control when the compressor turns on and off may help keep the beer at a more stable temperature.

All the parts are currently en route to my house.  Once they arrive I will post more pictures of how the build is going.  You can also find the source code, flow diagrams, and amplifying information over at my repository.