跳到:
ESP32 教學 1/55 - SunFounder ESP32 IoT 學習套件軟件同 Arduino IDE 簡介 ESP32 教學 2/55 - 咩係 ESP32、相機擴展板、開箱 SunFounder 嘅 ESP32 IoT 套件 ESP32 教學 3/55 - 電阻、LED、麵包板項目:Hello LED -ESP32 IoT 學習套件 ESP32 教學 4/55 - 數據類型 定義變量 Int、bool、char、序列監視器 - ESP32 IoT 套件 ESP32 教學 5/55 - LED 漸變,控制 LED 亮度 - ESP32 物聯網學習套件 ESP32 教學 6/55 - 使用 RGB LED 項目 2.3 - SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 7/55 - 使用陣列配合 ESP32 Arduino 程式設計 - SunFounder 嘅 ESP32 IoT 學習套件 ESP32 Tutorial 8/55 -Walking Light 74HC595 Shift register -SunFounder's ESP32 IoT Learning kit ESP32 教學 9/55 - 用按鈕切換 LED,按一下開,按一下關 - SunFounder ESP32 IoT 套件 ESP32 教學 10/55 - 使用七段顯示器 74HC595 嘅數字計數器 - ESP32 IoT 學習套件 ESP32 教學 11/55 - 使用 LCD1602 LCD2004 同 ESP32 - SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 12/55 - WS2812 RGB 燈帶 4 項目,配合 SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 13/55 - Arduino 用有源蜂鳴器發出嗶聲 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 14/55 - 使用 SunFounder ESP32 IoT 學習套件播放自訂音樂音符 ESP32 教學 15/55 - 用 ESP32 L293D 控制直流馬達速度 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 16/55 - 使用 ESP32 同 L293D 嘅迷你水泵 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 17/55 - 使用 ESP32 同電位器控制伺服馬達 - ESP32 IoT 學習套件 ESP32 教學 18/55 - 使用 ESP32 偵測傾斜 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 19/55 - 使用紅外線感測器偵測障礙物 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 20/55 - 循線模組 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 21/55 - 用 PIR 動作感應器偵測人體 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 22/55 - 用 LED Arduino 感受光線 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 23/55 - 使用 ESP32 讀取電位器電壓 | SunFounder 嘅 ESP32 IoT 套件 ESP32 教學 24/55 - 量度土壤濕度用於灌溉 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 25/55 - 使用 NTC 同 LCD 測量溫度 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 26/55 - 使用搖桿配合 Arduino 採取行動 | SunFounder 嘅 ESP32 IoT 套件 ESP32 教學 27/55 - 用超聲波感測器量度距離 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 28/55 - DHT11 溫度感測器配合 LCD | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 29/55 - 用 ESP32 讀取紅外線遙控器按鍵| SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 30/55 - 使用 Adafruit IO 服務透過 MQTT 喺網頁上控制伺服摩打 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 31/55 - 專案 LED 燈帶配合避障功能 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教程 32/55 - 汽车倒车距离警告(带LCD同蜂鸣器)| SunFounder嘅物联网学习套件 ESP32 教學 33/55 - 使用 SunFounder 嘅 ESP32 IoT 學習套件整數碼骰仔 ESP32 教學 34/55 - 用 RGB LED 同旋鈕整顏色漸變 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 35/55 - 植物監測器,土壤、溫度同光線 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 36/55 - 猜數字遊戲 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 37/55 - 使用藍牙應用程式配合 ESP32 BLE | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 38/55 - 用手機控制 RGB LED | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 39/55 - 用 ESP32 做藍牙音樂播放器 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 40/55 - 讀寫 Micro SD 卡 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 41/55 - 使用 Micro SD 卡嘅 MP3 播放器 | SunFounder 嘅 ESP32 IoT 學習套件 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 IoT 套件 ESP32 教學 48/55 - 遠程溫度監控同 LED 控制 MQTT | SunFounder 嘅 ESP32 IoT 套件 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 IoT 套件 ESP32 教學 53/55 - 建立 LCD 網絡時鐘 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 54/55 - 透過 Wi-Fi 設定 WS2812 LED 燈條顏色 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 55/55 - 點樣量度 12V、24V 或者 100V 直流電壓 | SunFounder 嘅 ESP32 IoT 學習套件
ESP32 教學 16/55 - 使用 ESP32 同 L293D 嘅迷你水泵 | SunFounder 嘅 ESP32 IoT 學習套件
喺呢個教學入面,我哋會學吓點樣用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
}