Arduino Nano 33 IoT - Water/Liquid Valve

This guide explains how to control the flow of liquids like water, beer, or oil using the Arduino Nano 33 IoT and a solenoid valve. The same method works for controlling gas flow.

Arduino Nano 33 IoT water valve

Hardware Preparation

1×Arduino Nano 33 IoT
1×Micro USB Cable
1×Relay
1×Liquid Solenoid Valve
1×12V Power Adapter
1×Optionally, DC Power Jack
1×Breadboard
1×Jumper Wires
1×Recommended: Screw Terminal Expansion Board for Arduino Nano
1×Recommended: Breakout Expansion Board for Arduino Nano
1×Recommended: Power Splitter for Arduino Nano

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Disclosure: Some of the links provided in this section are Amazon affiliate links. We may receive a commission for any purchases made through these links at no additional cost to you.
Additionally, some of these links are for products from our own brand, DIYables .

Overview of Water/Liquid Valve

Pinout

Arduino Nano 33 IoT Water/Liquid Valve Pinout

A solenoid valve normally has two connection points.

  • Red positive pin (+): Connect this pin to the +12V terminal of your DC power supply.
  • Black or other colored negative pin (–): Connect this pin to the ground (GND) terminal of your DC power supply.

How Water/Liquid Valve works

The valve is usually shut. When you add 12V of DC power to its two points, the valve opens so water or liquid can flow.

※ NOTE THAT:

Some valves have a rubber ring inside that needs a minimum pressure to open the valve after you apply 12V DC. This pressure is made by the liquid flowing.

Some valves only let the liquid flow in one direction.

How to Control Water/Liquid Solenoid Valve

If the valve gets power from a 12V supply, it will open. To control the valve, you must use a relay between the Arduino Nano 33 IoT and the valve. The Arduino Nano 33 IoT sends signals to the solenoid valve through the relay. Find out more about the relay in the Arduino Nano 33 IoT - Relay tutorial.

Wiring Diagram

The wiring diagram between Arduino Nano and 33 IoT water valve

This image is created using Fritzing. Click to enlarge image

Arduino Nano 33 IoT Code

The code below repeatedly opens the water valve for five seconds, then closes it for five seconds.

/* * This Arduino Nano 33 IoT code was developed by newbiely.com * * This Arduino Nano 33 IoT code is made available for public use without any restriction * * For comprehensive instructions and wiring diagrams, please visit: * https://newbiely.com/tutorials/arduino-nano-iot/arduino-nano-33-iot-water-liquid-valve */ #define RELAY_PIN 2 // The Arduino Nano 33 IoT pin connected to the water valve via the relay // The setup function runs once on reset or power-up void setup() { // initialize digital pin D2 as an output. pinMode(RELAY_PIN, OUTPUT); } // The loop function repeats indefinitely void loop() { digitalWrite(RELAY_PIN, HIGH); // open valve 5 seconds delay(5000); digitalWrite(RELAY_PIN, LOW); // close valve 5 seconds delay(5000); }

Detailed Instructions

If you are new to the Arduino Nano 33 IoT, be sure to check out our Getting Started with Arduino Nano 33 IoT tutorial. Then, follow these steps:

  • Connect the components to the Arduino Nano 33 IoT board as depicted in the diagram.
  • Use a USB cable to connect the Arduino Nano 33 IoT board to your computer.
  • Launch the Arduino IDE on your computer.
  • Select the Arduino Nano 33 IoT board and choose its corresponding COM port.
  • Copy the code above and paste it into the Arduino IDE.
  • Click the Upload button to compile and send the code to your Arduino Nano 33 IoT board.
  • Check to see if the water is flowing.

Code Explanation

The Arduino Nano 33 IoT code above explains each line clearly. Please check the comments in the code.

Video Tutorial

※ OUR MESSAGES

  • As freelancers, We are AVAILABLE for HIRE. See how to outsource your project to us
  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!