跳到:
ESP32教程1/55 - SunFounder ESP32物联网学习套件软件与Arduino IDE简介 ESP32教程2/55 - 什么是ESP32、摄像头扩展板、开箱SunFounder的ESP32物联网套件 ESP32 教程 3/55 - 电阻、LED、面包板项目:你好 LED -ESP32 物联网学习套件 ESP32 教程 4/55 - 数据类型 定义变量 Int、bool、char、串口监视器 - ESP32 物联网套件 ESP32教程5/55 - LED调光,控制LED亮度 - ESP32物联网学习套件 ESP32 教程 6/55 - 使用 RGB LED 项目 2.3 - SunFounder 的 ESP32 物联网学习套件 ESP32教程7/55-在ESP32 Arduino编程中使用数组-SunFounder的ESP32物联网学习套件 ESP32 Tutorial 8/55 -Walking Light 74HC595 Shift register -SunFounder's ESP32 IoT Learning kit ESP32 教程 9/55 - 使用按钮切换LED,按下开,按下关 - SunFounder ESP32 物联网套件 ESP32教程10/55 - 使用七段数码管74HC595的数字计数器 - ESP32物联网学习套件 ESP32教程11/55 - 使用LCD1602 LCD2004与ESP32 - SunFounder的ESP32物联网学习套件 ESP32 教程 12/55 - 使用 SunFounder 的 ESP32 IoT 学习套件进行 WS2812 RGB 灯带 4 项目 ESP32教程13/55 - 使用有源蜂鸣器让Arduino发出蜂鸣声 | SunFounder的ESP32物联网学习套件 ESP32 教程 14/55 - 使用 SunFounder ESP32 IoT 学习套件播放自定义音乐音符 ESP32教程15/55 - 使用ESP32 L293D控制直流电机速度 | SunFounder的ESP32物联网学习套件 ESP32教程16/55 - 使用ESP32和L293D的迷你水泵 | SunFounder的ESP32物联网学习套件 ESP32 教程 17/55 - 使用 ESP32 和电位器控制舵机 - ESP32 物联网学习套件 ESP32教程18/55 - 使用ESP32检测倾斜 | SunFounder的ESP32物联网学习套件 ESP32 教程 19/55 - 使用红外传感器检测障碍物 | SunFounder 的 ESP32 物联网学习套件 ESP32 教程 20/55 - 循迹模块 | SunFounder 的 ESP32 物联网学习套件 ESP32教程21/55 - 使用PIR运动传感器检测人体 | SunFounder的ESP32物联网学习套件 ESP32教程22/55 - 使用LED Arduino感受光线 | SunFounder的ESP32物联网学习套件 ESP32 教程 23/55 - 使用ESP32读取电位器电压 | SunFounder的ESP32物联网套件 ESP32 教程 24/55 - 测量土壤湿度用于灌溉 | SunFounder 的 ESP32 IoT 学习套件 ESP32教程25/55 - 使用NTC和LCD测量温度 | SunFounder的ESP32物联网学习套件 ESP32教程26/55 - 使用操纵杆与Arduino采取行动 | SunFounder的ESP32物联网套件 ESP32 教程 27/55 - 使用超声波传感器测量距离 | SunFounder 的 ESP32 物联网学习套件 ESP32教程28/55 - DHT11温度传感器与LCD | SunFounder的ESP32物联网学习套件 ESP32 教程 29/55 - 使用ESP32读取红外遥控按键| SunFounder的ESP32物联网学习套件 ESP32教程30/55——使用Adafruit IO服务通过MQTT在网页上控制舵机 | SunFounder的ESP32物联网学习套件 ESP32教程31/55 - 带避障功能的LED灯带项目 | SunFounder的ESP32物联网学习套件 ESP32教程32/55 - 带LCD和蜂鸣器的汽车倒车距离警告 | SunFounder物联网学习套件 ESP32 教程 33/55 - 使用 SunFounder 的 ESP32 物联网学习套件制作数字骰子 ESP32 教程 34/55 - 使用RGB LED和旋钮实现颜色渐变 | SunFounder的ESP32物联网学习套件 ESP32教程35/55 - 植物监测器,土壤、温度和光照 | SunFounder的ESP32物联网学习套件 ESP32教程36/55 - 猜数字游戏 | SunFounder的ESP32物联网学习套件 ESP32教程37/55 - 使用蓝牙应用与ESP32 BLE | SunFounder的ESP32物联网学习套件 ESP32 教程 38/55 - 通过手机控制RGB LED | SunFounder的ESP32物联网学习套件 ESP32教程39/55 - 将ESP32用作蓝牙音乐播放器 | SunFounder的ESP32物联网学习套件 ESP32教程40/55 - 读写Micro SD卡 | SunFounder的ESP32物联网学习套件 ESP32教程41/55 - 使用Micro SD卡的MP3播放器 | SunFounder的ESP32物联网学习套件 ESP32教程42/55 - 使用相机拍照并保存到Micro SD卡 CAM-1 | SunFounder的ESP32套件 ESP32教程43/55 - 物联网互联网气象站 | SunFounder的ESP32物联网学习套件 ESP32教程44/55 - ESP32摄像头WiFi视频流网页服务器 CAM-2 | SunFounder的ESP32套件 ESP32教程45/55 - 带LED控制的定制流媒体服务器 CAM-3 l SunFounder的ESP32学习套件 ESP32教程46/55 - 使用HiveMQ MQTT进行远程温度监控 | SunFounder的ESP32套件 ESP32教程47/55 - 使用MQTT通过互联网实现WS2812 CheerLights | SunFounder的ESP32物联网套件 ESP32教程48/55 - 远程温度监控与LED控制MQTT | SunFounder的ESP32物联网套件 ESP32教程49/55 - 通过Adafruit IoT在互联网上控制直流电机 | SunFounder的ESP32套件 ESP32教程50/55 - 从世界任何地方控制RGB LED | SunFounder的ESP32套件 ESP32 Tutorial 51/55 - Temperature and Humidity over WiFi with DHT | SunFounder's ESP32 IoT Learning Kit ESP32教程52/55 - WS2812 CheerLights MQTT全局同步与LCD | SunFounder ESP32物联网套件 ESP32教程53/55 - 构建LCD网络时钟 | SunFounder的ESP32物联网学习套件 ESP32教程54/55 - 通过WiFi设置WS2812 LED灯带颜色 | SunFounder的ESP32物联网学习套件 ESP32教程55/55 - 如何测量12V、24V或100V直流电压 | SunFounder的ESP32物联网学习套件
ESP32教程16/55 - 使用ESP32和L293D的迷你水泵 | SunFounder的ESP32物联网学习套件
在本教程中,我们将学习如何使用ESP32微控制器和L293D电机驱动器控制5V水泵。这个项目是使用电机驱动器与微控制器结合的一个很好的入门介绍,使您能够控制需要比微控制器直接提供的电流更大的设备。在本教程结束时,您将拥有一个可以通过编程方式启动和停止的水泵。
ESP32是一款功能强大的微控制器,内置Wi-Fi和蓝牙功能,非常适合物联网应用。L293D电机驱动器用于通过管理电机运行所需的更高电流来控制水泵。这种设置使我们能够启动和停止水泵,同时确保ESP32免受过大电流消耗的影响。
硬件说明
在这个项目中,我们使用了ESP32微控制器,它以其多功能性和连接选项而闻名。它的功能类似于Arduino,同时还提供Wi-Fi和蓝牙等附加功能。L293D电机驱动器充当ESP32和水泵之间的接口,允许控制水泵的运行而不会使微控制器过载。
L293D具有两个H桥,使其能够控制电机的方向和速度。每个H桥可以驱动电机向任一方向运行,使其适用于需要电机控制的应用。在这种情况下,我们只需要让水泵单向运行。
数据手册详情
制造商 德州仪器
零件编号 L293D
逻辑/IO电压 4.5 - 36 V
电源电压 4.5 - 36 V
输出电流(每通道) 600 mA
峰值电流(每通道) 1.2 A
PWM频率建议 1 kHz - 10 kHz
输入逻辑阈值 2 V(高电平),0.8 V(低电平)
压降 / RDS(on) / 饱和电压 1.5 V(最大值)
热限制 +150 °C(最大值)
封装 DIP-16
备注 / 变体 包含用于感性负载保护的内部二极管
确保持续运行时具有良好的散热性能。
使用去耦电容以确保电源稳定。
注意输入电压,防止损坏。
如需速度控制,可实施PWM。
检查接线以避免短路,尤其是感性负载。
接线说明
ESP32-16-motor-pump_wiring
要将ESP32和L293D电机驱动器与水泵连接,请仔细按照以下步骤操作。首先,将电源连接到L293D。将引脚1(电机A的使能引脚)和引脚8(Vcc2)连接到正电压源(5V)。将引脚4(接地)连接到电路的接地端。
接下来,将ESP32连接到L293D。将ESP32的GPIO引脚13连接到L293D的引脚2(输入1),将GPIO引脚14连接到引脚7(输入2)。最后,将水泵连接到L293D的引脚3(输出1)和引脚6(输出2)。确保所有接地连接都连接在一起,以保证正常运行。如果您按照这些说明操作,您的接线应该简单且功能正常。
代码示例与讲解
在代码中,我们定义了电机控制的引脚连接。标识符motor1A和motor2A分别对应ESP32上的GPIO引脚13和14。这些引脚将通过L293D驱动器控制水泵。
#define motor1A 13
#define motor2A 14
void setup() {
pinMode(motor1A, OUTPUT);
pinMode(motor2A, OUTPUT);
}
在setup()函数中,我们将电机控制引脚初始化为输出模式。这确保我们可以向L293D驱动器发送信号来控制水泵。loop()函数随后控制水泵的运行。
void loop() {
digitalWrite(motor1A, HIGH);
digitalWrite(motor2A, LOW);
delay(5);
digitalWrite(motor1A, LOW);
digitalWrite(motor2A, LOW);
delay(2000); // 等待一秒钟
}
在loop()函数中,我们设置motor1A为HIGH,motor2A为LOW来启动水泵。短暂延迟后,我们通过将两个引脚都设置为LOW来停止水泵。这个循环无限重复,使水泵运行一小段时间然后停止。
演示 / 预期效果
完成接线并上传代码后,您应该看到水泵以循环方式启动和停止。水泵将运行一小段时间,然后停止,形成开关模式。请确保您的电源能够满足水泵的要求,以避免任何问题(视频中09:30处)。
视频时间戳
00:00 开始
1:50 项目介绍
3:17 为什么需要将L293D与Arduino配合使用?
5:47 水泵接线说明
10:01 Arduino代码说明
12:21 在Arduino IDE中为ESP32选择COM端口
14:03 运行水泵的演示
15:25 带水的演示
图像
ESP32-15_L293D_motor_schematic
ESP32-16-motor-pump_wiring
5V DC water pump
ESP32-15_L293D_motor_schematic
ESP32-16-motor-pump_wiring
代码
815-ESP32 Tutorial 16/55 - Arduino code to control DC water pump
语言: C++
查看代码
#define motor1A 13
#define motor2A 14
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin as an output.
pinMode(motor1A, OUTPUT);
pinMode(motor2A, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
// Rotate
digitalWrite(motor1A, HIGH);
digitalWrite(motor2A, LOW);
delay(5);
// Stop
digitalWrite(motor1A, LOW);
digitalWrite(motor2A, LOW);
delay(2000); // wait for a second
}