</> Make for Iran – بسازیم برای ایران

پروژه‌ها، آموزش‌ها و ابزارها برای سازندگان و علاقه‌مندان الکترونیک

  • خانه
  • الکترونیک
  • پرینت سه‌بعدی
  • حکاکی و برش لیزری
  • ابزار کارگاهی
  • پهپاد
  • ربات زمینی UGV
  • ربات پرنده UAV
  • صنایع دستی
  • آموزش
  • پروژه‌ها
  • درباره ما
خانه›آموزش›تله‌متری صوتی برای RC با I2S و ESP32: ارسال صدای کابین به عینک FPV (فارسی)
آموزش ربات‌های پرنده (UAV)

تله‌متری صوتی برای RC با I2S و ESP32: ارسال صدای کابین به عینک FPV (فارسی)

​ ژوئن 11, 2026 2 دقیقه مطالعه
I2S صدا ESP32 FPV INMP441 MAX98357

I2S و ارسال صدا در FPV چیست؟ (مبتدی)

I2S (Inter-IC Sound) یک پروتکل دیجیتال برای انتقال صدا بین تراشه‌ها است. ESP32 یک واحد I2S داخلی دارد که می‌تواند مستقیماً با میکروفون‌های دیجیتال مثل INMP441 و آمپلی‌فایرهای دیجیتال مثل MAX98357 کار کند — بدون هیچ کدک آنالوگ اضافه.

در پروژه FPV ما، یک INMP441 روی پهپاد صدای محیط را ضبط می‌کند، ESP32 آن را به یک LoRa audio stream فشرده می‌کند (یا روی کانال صوتی VTX)، و در گیرنده MAX98357 صدا را پخش می‌کند. این به خلبان اجازه می‌دهد صدای موتور، باد، و هشدارهای بیپر را در عینک FPV بشنود.

محصولی که می‌سازید

سیستم صوتی FPV دوطرفه: میکروفون روی پهپاد + بلندگو در عینک.

  • هزینه: ۳۰۰ تا ۶۰۰ هزار تومان
  • تأخیر صوتی: ۵۰-۱۰۰ms (WiFi UDP)
  • کیفیت: ۱۶kHz، ۱۶bit مونو

پهپاد TX INMP441 → ESP32 WiFi UDP Stream WiFi 2.4G عینک RX ESP32 → MAX98357 بلندگو ۸Ω/1W I2S Audio FPV — INMP441 ضبط → WiFi UDP → MAX98357 پخش

سیم‌بندی INMP441 به ESP32


INMP441 → ESP32
VDD  → 3.3V
GND  → GND
SD   → GPIO 32 (I2S Data In)
SCK  → GPIO 14 (I2S Clock)
WS   → GPIO 15 (I2S Word Select)
L/R  → GND (کانال چپ)

MAX98357 → ESP32 (در گیرنده)
VIN  → 5V
GND  → GND
DIN  → GPIO 22 (I2S Data Out)
BCLK → GPIO 26 (I2S Clock)
LRC  → GPIO 25 (I2S Word Select)

کد TX — ضبط و ارسال UDP


#include <driver/i2s.h>
#include <WiFi.h>
#include <WiFiUdp.h>

WiFiUDP udp;
const char* ssid="FPV-AP"; const char* pass="fpv12345";
const int UDPPORT=5005;
const char* rxIP="192.168.4.2";

void i2sInit() {
  i2s_config_t cfg = {
    .mode = (i2s_mode_t)(I2S_MODE_MASTER|I2S_MODE_RX),
    .sample_rate = 16000,
    .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT,
    .channel_format = I2S_CHANNEL_FMT_ONLY_LEFT,
    .communication_format = I2S_COMM_FORMAT_I2S,
    .intr_alloc_flags = 0,
    .dma_buf_count = 4, .dma_buf_len = 256
  };
  i2s_driver_install(I2S_NUM_0, &cfg, 0, NULL);
  i2s_pin_config_t pins = {
    .bck_io_num=14,.ws_io_num=15,.data_out_num=-1,.data_in_num=32
  };
  i2s_set_pin(I2S_NUM_0, &pins);
}

void setup() {
  WiFi.begin(ssid, pass);
  while(WiFi.status()!=WL_CONNECTED) delay(500);
  udp.begin(UDPPORT);
  i2sInit();
}

void loop() {
  uint8_t samples[512]; size_t bytesRead;
  i2s_read(I2S_NUM_0, samples, sizeof(samples), &bytesRead, portMAX_DELAY);
  udp.beginPacket(rxIP, UDPPORT);
  udp.write(samples, bytesRead);
  udp.endPacket();
}

چک‌لیست تست

تست نتیجه
INMP441 داده I2S برمی‌گرداند؟ i2s_read bytes > 0
UDP packet در گیرنده دریافت می‌شود؟ udp.parsePacket() > 0
MAX98357 صدا پخش می‌کند؟ بلندگو صدا می‌دهد
تأخیر قابل تشخیص نیست؟ زیر ۱۰۰ms

INMP441 I2S میکروفون ESP32 WiFi UDP Stream ESP32 RX Buffer صدا MAX98357 I2S بلندگو I2S Audio FPV — میکروفون دیجیتال → WiFi → بلندگو

ویدئوهای آموزشی


منابع بیشتر

  • آپارات: I2S ESP32 صدا فارسی
  • Espressif: ESP32 I2S Driver Guide
برچسب‌ها: ESP32 FPV I2S INMP441 MAX98357 آموزش گام‌به‌گام تله‌متری صوتی صدای محیط
​
مطلب بعدی ساخت Tethered Drone: پهپاد با کابل برق برای مانیتورینگ بدون محدودیت زمانی (فارسی) مطلب قبلی ماژول HC-12 Sub-GHz برای کنترل UAV: تله‌متری ساده UART بدون کتابخانه (فارسی)
</> Make for Iran – بسازیم برای ایران

پروژه‌ها، آموزش‌ها و ابزارها برای سازندگان و علاقه‌مندان الکترونیک

یاد بگیر، بساز، به اشتراک بگذار. جامعه‌ای برای سازندگان، مهندسان و علاقه‌مندان به فناوری در ایران.

دسته‌بندی‌ها

  • پروژه‌ها
  • ربات‌های پرنده (UAV)
  • آموزش
  • ربات‌های زمینی (UGV)
  • الکترونیک
  • پهپاد و مولتی‌روتور

پیوندها

  • خانه
  • درباره ما
  • تماس
  • فید RSS

آخرین مطالب

  • خلاصه دوره ArduPilot/iNAV و گام‌های بعدی (فارسی)
  • رادیو تله‌متری در مقابل LTE/4G برای کنترل از راه دور (فارسی)
  • Ground Station روی موبایل و تبلت — QGroundControl و Solex (فارسی)
  • راه‌اندازی Ground Station با Mission Planner (فارسی)
© 2026 Make for Iran – بسازیم برای ایران. تمامی حقوق محفوظ است.
ساخته شده با ❤️ برای سازندگان ایران  |  ورود