Arduino Nano - Ultrasonic Sensor - Relay
This tutorial instructs you how to use Arduino Nano and ultrasonic sensor to control relay. In detail:
- Arduino Nano activates the relay when the object is near the ultrasonic sensor
- Arduino Nano deactivates the relay when the object is distant from the ultrasonic sensor
By linking a relay to a light bulb, LED strip, motor or actuator, we can use Arduino Nano and an ultrasonic sensor to manage the light bulb, LED strip, motor or actuator.
Hardware Preparation
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Additionally, some of these links are for products from our own brand, DIYables .
Overview of Relay and Ultrasonic Sensor
If you are unfamiliar with relay and ultrasonic sensor (including pinout, operation, and programming), the following tutorials can help:
Wiring Diagram

This image is created using Fritzing. Click to enlarge image
The diagram below shows the same connections without a breadboard:

This image is created using Fritzing. Click to enlarge image
Pushing jumper wires into the headers is quick, but the wires can slip out. In this case, use a Screw Terminal Expansion Board for Arduino Nano. The Arduino Nano plugs into it, and each pin gets a screw terminal. The wiring stays the same. Only the wires now go to the screw terminals, as shown below.

This image is created using Fritzing. Click to enlarge image
See The best way to supply power to the Arduino Nano and other components.
Arduino Nano Code
Detailed Instructions
- Plug the USB cable into the Arduino Nano and the PC.
- Launch the Arduino IDE, choose the correct board and port.
- Open the code in the Arduino IDE.
- Click the Upload button on the Arduino IDE to compile and upload the code to the Arduino Nano.

- Move your hand in the vicinity of the sensor and observe the alteration in the state of the relay.
Code Explanation
Check out the line-by-line explanation contained in the comments of the source code!
※ NOTE THAT:
The code above is intended for educational purposes. The ultrasonic sensor is very susceptible to interference. If you plan to use it in a practical setting, noise filtering should be applied to the ultrasonic sensor. For more information on how to filter noise from distance measurements of the ultrasonic sensor, please refer to this tutorial.
Relay vs MOSFET Module
A relay is not the only way to switch a device. If your device runs on DC power, such as a 12V solenoid lock, a 12V pump or a 12V fan, a MOSFET module can do the same job.
| Relay | MOSFET Module | |
|---|---|---|
| What it can do | turn the device on or off | turn the device on or off, and set its power (PWM) |
| Noise when switching | a click every time | no sound |
| How fast it switches | slow, a few milliseconds | very fast |
| Life | the contacts wear out after many switches | nothing moves, so it lasts long |
| Type of power | AC or DC | DC only |
| Device power supply | any voltage the relay is rated for | about 6V or more |
| Isolation from the Arduino | yes, between coil and contacts | yes, by the PC817 optocoupler |
| Good for | AC devices, or a simple ON/OFF | DC devices, or dimming and speed control |
Both the relay and the MOSFET module turn on when the Arduino Nano pin is HIGH. So for a simple ON/OFF, the code above stays the same. Only the wiring changes. For AC mains devices, always use the relay.
To learn the MOSFET module pinout, wiring, PWM code and safety tips, see the Arduino Nano - MOSFET Module tutorial.