ESP32 - Control Fan
This tutorial instructs you how to use ESP32 to control a fan.
Hardware Used In This Tutorial
|1||×||ESP-WROOM-32 Dev Module|
|1||×||Micro USB Cable|
|1||×||12V Cooling Fan|
|1||×||12V Power Adapter|
|1||×||(Optional) DC Power Jack|
|1||×||(Optional) ESP32 Screw Terminal Adapter|
Or you can buy the following sensor kit:
|1||×||DIYables Sensor Kit 30 types, 69 units|
How to Control Fan
- If we connect a 12V power supply to a 12V fan, the fan spins at full speed.
- If we connect a 12V PWM signal to a 12V fan, the fan spins at a speed in proportion to the PWM's duty cycle.
This tutorial instructs you how to use ESP32 to turn on/off a fan. Controlling the speed of a fan will be presented in another tutorial.
Because the fan uses the high voltage, we cannot connect it directly to ESP32, we need to connect fan to ESP32 indirectly via a relay. We have specific tutorials about relay (pinout, how it works, how to program ...), learn about relay in the ESP32 - Relay tutorial
This image is created using Fritzing. Click to enlarge image
The below code periodically turns the fan ON/OFF in every 10 seconds.
- If this is the first time you use ESP32, see how to setup environment for ESP32 on Arduino IDE.
- Do the wiring as above image.
- Connect the ESP32 board to your PC via a micro USB cable
- Open Arduino IDE on your PC.
- Select the right ESP32 board (e.g. ESP32 Dev Module) and COM port.
- Copy the above code and paste it to Arduino IDE.
- Compile and upload code to ESP32 board by clicking Upload button on Arduino IDE
- See the fan's state
Line-by-line Code Explanation
The above ESP32 code contains line-by-line explanation. Please read the comments in the code!
Making video is a time-consuming work. If the video tutorial is necessary for your learning, please let us know by subscribing to our YouTube channel , If the demand for video is high, we will make the video tutorial.