RC Boat FPV با ESP32-CAM یعنی چه؟ (برای مبتدی)
ESP32-CAM یک ماژول کوچک ESP32 با دوربین OV2640 داخلی است که یک سرور ویدیو WiFi را مستقیماً سرو میکند — یعنی میتوانید در مرورگر موبایل یا لپتاپ به صفحه http://… بروید و تصویر زنده دوربین را ببینید.
ترکیب ESP32-CAM با یک موتور آبکار (Brushed Water Motor) و یک سرو فرمان، یک قایق FPV DIY کامل میشود که با WiFi کنترل میشود — هیچ TX/RX RC نیاز نیست. کنترل از طریق یک صفحه وب ساده که بر روی ESP32 میزبانی میشود انجام میگیرد.
محصولی که میسازید
یک قایق RC با دوربین FPV که از مرورگر گوشی کنترل میشود و ویدیو زنده میفرستد.
- زمان ساخت: ۵ تا ۸ ساعت
- هزینه: ۱ تا ۱.۸ میلیون تومان
- برد WiFi: تا ۱۰۰ متر (AP Mode)
قطعات لازم (BOM)
| قطعه | نقش |
|---|---|
| ESP32-CAM + FTDI Programmer | مغز + دوربین |
| موتور آبکار DC ضدآب ۳-۷.۴V | پیشرانه |
| سروو ضدآب SG90 یا MG996R | فرمان |
| L298N یا TB6612 Motor Driver | کنترل موتور |
| بدنه قایق پلاستیکی/فوم | بدنه ضدآب |
| باتری 7.4V 1500mAh LiPo | تغذیه |
کد ESP32-CAM — WiFi Control + Video Stream
#include <WiFi.h>
#include <WebServer.h>
#include <ESP32Servo.h>
#include "esp_camera.h"
const char* AP_SSID = "RCBoat";
const char* AP_PASS = "12345678";
WebServer server(80);
Servo steerServo;
const int MOTOR_FWD = 14, MOTOR_BWD = 15, MOTOR_PWM = 13;
const int SERVO_PIN = 12;
void handleControl() {
if(server.hasArg("s")) steerServo.write(server.arg("s").toInt());
if(server.hasArg("t")) {
int th = server.arg("t").toInt();
if(th > 0) { digitalWrite(MOTOR_FWD,HIGH); digitalWrite(MOTOR_BWD,LOW); }
else if(th < 0) { digitalWrite(MOTOR_FWD,LOW); digitalWrite(MOTOR_BWD,HIGH); th=-th; }
else { digitalWrite(MOTOR_FWD,LOW); digitalWrite(MOTOR_BWD,LOW); }
analogWrite(MOTOR_PWM, abs(th));
}
server.send(200, "text/plain", "OK");
}
void handleRoot() {
String html = R"rawliteral(
RC Boat FPV
)rawliteral";
server.send(200, "text/html", html);
}
void setup() {
WiFi.softAP(AP_SSID, AP_PASS);
steerServo.attach(SERVO_PIN);
steerServo.write(90);
pinMode(MOTOR_FWD, OUTPUT); pinMode(MOTOR_BWD, OUTPUT);
camera_config_t cfg; cfg.pin_d0=5; cfg.pin_d1=18; /* ... باقی پینها */
esp_camera_init(&cfg);
server.on("/", handleRoot);
server.on("/ctrl", handleControl);
server.begin();
}
void loop() { server.handleClient(); }
چکلیست ضدآب
| بررسی | روش |
|---|---|
| محفظه الکترونیک آببند است؟ | سیلیکان یا چسب هاتگان دور درب |
| گذرگاههای سیم ضدآب شده؟ | رزین epoxy روی کابل |
| موتور آبکار تایید ضدآب؟ | مدل IP67 یا ذکر Waterproof |
| تست اول در ظرف آب | ۵ دقیقه — نشت نداشته باشد |