Coder Social home page Coder Social logo

water-alarm's Introduction

Water Alarm Clock

I kept missing Linear Algebra this semester (10 AMs are rough) so I decided to go to extreme measures. I built an alarm clock that dumps water on my head to wake me up.

The project consists of an internet-connected Raspberry Pi connected to a peristaltic water pump. The two components are mounted on the wall next to my bed. A water container sits under my bed, and a pipe runs up through the peristaltic pump up to the ceiling, right above my bed.

I can set an alarm by connecting to a webapp running on the Raspberry Pi. The webapp uses a recurring weekly cron job, as well as the GPIO library, to turn on the peristaltic motor at the scheduled time. As the motor rotates, it pumps water through the pipes, eventually falling onto my head.

I can SSH into the Pi at any time to manually manage the webapp or run the water alarm.

Here is a video of the alarm clock in action:

Water Alarm Video

The webapp I built to configure the alarm:

webapp

The entire thing as viewed from my bed:

project

The water reservoir under my bed from which the water is pumped from. I can go about a month before needing to refill the bottle:

water

The Raspberry Pi and peristaltic pump mounted on the wall. Note the small clear pipe coming into and out of the motor. (The small servo also present on the breadboard is used as a mechanical "transistor" in order to step up the voltage for the motor (I didn't have a transistor or relay readily available)):

pi

The pipe that hangs over me to wake me up. The water is dumped for about 5 seconds, and the initial pouring is unpleasant enough to leave me wide awake. Thankfully, the water dries up from my bed after about 30 minutes:

pipe

Setup

  1. Git clone
  2. ./script/setup.sh
  3. sudo ./run.py
  4. Modify config.py and change username/password.
  5. Configure server to run on boot (instructions here).

water-alarm's People

Contributors

patil215 avatar

Stargazers

Albert Lie 이영덕 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.