Close
0%
0%

Super Squirter

Create your own iPhone controlled and motion activated water gun with pan tilt aiming, video feed and fast burst camera!

Similar projects worth following
906 views
The Super Squirter can be used with the optional iPhone App where it can be sighted, aimed, adjusted and triggered all while receiving the video feed to the screen. Whats more the App can connect to the Super Squirter from anywhere in the world.

The App is optional, the Super Squirter still works without it, when motion is detected the Super Squirter will fire and the camera will save a series of fast burst shots to the SD Card. Also the SD card can be accessed using a browser so you can view, download or delete the images online.

An ESPino is used to control the pan tilt arm, detect motion via a PIR Motion Sensor, turn the pump on using a transistor as a switch and trigger the camera on the Arducam UNO.
An ESP8266 ESP-12F UNO Board for ArduCAM Mini Camera and the Arducam Mini module Camera Shield w/ 2 MP OV2640 is used for the video feed to the iPhone App and as a fast burst camera to save images to the SD Card.

These are the highlights 

  • An ESPino is used to control the pan tilt arm, detect motion via a PIR Motion Sensor, turn the pump on using a transistor as a switch and trigger the camera on the Arducam UNO. 
  • An ESP8266 ESP-12F UNO Board for ArduCAM Mini Camera and the Arducam Mini module Camera Shield w/ 2 MP OV2640 is used for the video feed to the iPhone App and as a fast burst camera to save images to the SD Card. 
  • A HC-SR501 PIR Motion Detector is used to trigger the pump, pan tilt action and the camera burst to SD Card.Communication between the ESPino and Arducam UNO and the iPhone App is done using HTTP. 
  • An SD Card in the Arducam UNO is used to save images and to serve a htm file so that the saved images can be accessed via browser. 
  • A home made Vacuum Relief Valve is used to prevent water siphoning from the reservoir through the pump when not on. 
  • A 12v 3A Windscreen Washer Pump is used.Two 6v 7Ah Sealed Lead Acid Batteries are connected in series to provide 12v for the pump. 
  • Router configuration including LAN Static IP's and NAT Port Forwarding along with a DDNS or a Static IP is required. 
  • A TIP120 NPN Transistor is used to switch the pump on and off and the calculation is covered briefly, a 1N4001 Diode is used for flyback protection .

espino.ino

ino - 4.13 kB - 10/09/2017 at 02:47

Download

arducam_uno.ino

ino - 11.73 kB - 10/09/2017 at 02:47

Download

  • 1
    Breadboard


    This is one way to layout the breadboard, if you spin the Espino 180 degrees you can layout the board with no crossed wires. The size of the case, the fact I used the Arducam Uno and the length and stiffness of the micro usb cable I had kind of dictated this layout.

    I used micro USB cables to connect the 5V from the convertor to the boards, so only the black (GND) and red (+5V) are used and I just cut the green and white wires back.

  • 2
    Transistor

    The pump runs at 12v and when under load (pumping water) and it draws 3A.

    Looking at the TIP120 data sheet the max collector current (Ic) is 5 amps and the max collector-emitter voltage is 60v. So far so good. 

    Looking at figure 2 on the datasheet the base current (Ib) is given by Ic=250* Ib or Ib=Ic/250 so a collector current of 3.0 amps requires Ib=3.0/250 which equals 0.012A. From the ESPino-Datasheet-EN-2 the max current per I/O pin is about 12mA. 

    You could add a small resistor to make sure the Espino doens't try to output more than the 12mA, so looking at figure 2 we can see that when the collector current is 3A then Vbe(sat) is 1.8V. So when the Espino is high at ~3.3V the resistor should have a voltage drop of 3.3-1.8 = 1.5V accross it; 

    R=V/I R=1.5/11 

    R= 136ohms 

    So you could add a 100 or 150 ohm resistor if you like.

    TIP120 Datasheet

    ESPino Datasheet

  • 3
    Network

    Scenario A.

    If you would like to access the Super Squirter from the internet or WAN side of your router, either using the iPhone App or otherwise take control of it (you could write a Python script or otherwise construct the URL's to mimic the App) you will need to do configure your router.

    Typically Internet Service Providers (ISP's) have a pool of public IP addresses that are cycled through so you could find that your public IP changes every couple of days. If you are willing to lookup your public IP and update it in the App then you don't have to worry about a DDNS or Static IP. But if you just want to set and forget you can setup of DDNS service or a static public IP. 

    Then internally it needs to be set up so that any traffic from the internet is routed to the correct device, that is, assign static internal/private IP's to both the Arducam Uno and Espino (the LAN part) and direct traffic on the assigned ports to the assigned IP's (the NAT part).

    For example in your router you set the IP address of the Arducam Uno to 192.168.1.21 and then in the .ino file you set the webserver on port 82 (ESP8266WebServer server(82)), you then setup NAT to forward any traffic on port 82 to 192.168.1.21. 

    1. I have used https://www.dynu.com and they are great for a free DDNS service. Or contact your ISP and request a static public IP, they normally charge for that. If you just want to set it up to work with the PIR Motion Detector and have it save images to the SD Card when activated then skip this step. 

    2. Get the MAC address from both the Espino and Arducam Uno. You can set the SSID and Password in the .ino's, let them connect and then through your routers advanced settings pages you can find the MACs 

    3. Configure your router to assign static IP's to the Espino and Arducam Uno, use the MAC addresses to create Static IP entries in the LAN setup page. 

    4. Configure your router to NAT port forward to your Arducam Uno and Espino so they can be accessed from the internet using your router's ISP assigned public IP address. The Arducam Uno and Espino connected to your private network will have internal IP addresses that are not visible from the internet. As above, the Arducam Uno is listening on port 82 and the Espino on port 81 (see this line in the respective ino files - ESP8266WebServer server(##). On the NAT setup page create entries so that traffic on the assigned ports is routed to the correct static IP's

    Scenario B

    If you only want to run it using the motion detector or just use the App when your phone is connected to your home network then just skip the DDNS / Static Public IP steps above.

View all 5 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates