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

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

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

ساخت سیستم پخش صدا بی‌سیم با LoRa و DAC: اینترکام دو‌طرفه برد بلند (فارسی)

​ ژوئن 10, 2026 2 دقیقه مطالعه
اینترکام بی‌سیم LoRa ESP32 DAC

اینترکام LoRa و I2S/DAC یعنی چه؟ (برای مبتدی)

یک اینترکام یک سیستم ارتباط صوتی دوطرفه است. در اینترکام‌های رادیویی معمول (واکی‌تاکی) صدا به صورت آنالوگ FM ارسال می‌شود. اما LoRa یک رادیو دیجیتال است — برای ارسال صدا باید آن را به داده دیجیتال تبدیل کنیم.

I2S (Inter-IC Sound) یک پروتکل صوتی دیجیتال است. میکروفون I2S (مثل INMP441) صدا را مستقیماً به اعداد دیجیتال تبدیل می‌کند. DAC (Digital-to-Analog Converter) در سمت گیرنده این اعداد را دوباره به صدا تبدیل می‌کند. ESP32 هم یک DAC آنالوگ داخلی ۸ بیتی دارد که برای این پروژه کافی است.

کیفیت صدا در ۸kHz Sample Rate قابل فهم است (مثل صدای تلفن). LoRa با Bandwidth 250kHz می‌تواند این جریان داده را تا ۱+ کیلومتر حمل کند.

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

یک اینترکام دو‌طرفه بی‌سیم بدون اینترنت، برد تا ۱ کیلومتر.

  • زمان ساخت: ۴ تا ۶ ساعت
  • هزینه: ۱ تا ۱.۵ میلیون تومان
  • کیفیت صدا: ۸kHz — قابل فهم کامل

دستگاه A INMP441 + ESP32 LoRa TX دستگاه B ESP32 DAC LoRa RX + اسپیکر 433MHz هر دستگاه همزمان فرستنده و گیرنده — Half-Duplex با PTT

قطعات لازم (BOM)

قطعه تعداد
TTGO LoRa32 (ESP32 + LoRa) ۲ عدد
میکروفون I2S INMP441 ۲ عدد
اسپیکر ۸Ω 0.5W ۲ عدد
آمپلی‌فایر PAM8403 Mini ۲ عدد
دکمه PTT ۲ عدد

کد ESP32 — فرستنده (ضبط و ارسال)


#include <SPI.h>
#include <LoRa.h>
#include <driver/i2s.h>

#define SAMPLE_RATE   8000
#define I2S_NUM       I2S_NUM_0
#define I2S_WS        25
#define I2S_SCK       26
#define I2S_SD        22
#define PTT_PIN       0

const i2s_config_t i2s_cfg = {
  .mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX),
  .sample_rate = SAMPLE_RATE,
  .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 = 64
};

void setup() {
  pinMode(PTT_PIN, INPUT_PULLUP);
  i2s_driver_install(I2S_NUM, &i2s_cfg, 0, NULL);
  i2s_set_pin(I2S_NUM, &(i2s_pin_config_t){I2S_SCK, I2S_WS, -1, I2S_SD});
  LoRa.begin(433E6);
  LoRa.setSpreadingFactor(7);
  LoRa.setSignalBandwidth(250E3);
}

void loop() {
  if (digitalRead(PTT_PIN) == LOW) {
    int16_t samples[32]; size_t bytesRead;
    i2s_read(I2S_NUM, samples, sizeof(samples), &bytesRead, portMAX_DELAY);
    // تبدیل ۱۶ بیت به ۸ بیت برای فشرده‌سازی
    uint8_t compressed[16];
    for(int i=0;i<16;i++) compressed[i]=(samples[i]>>8)+128;
    LoRa.beginPacket();
    LoRa.write(compressed, 16);
    LoRa.endPacket(true);  // async
  }
}

چک‌لیست تست

تست نتیجه
میکروفون I2S در Serial Plotter سیگنال دارد؟ بله — موج صدا دیده می‌شود
DAC اسپیکر در همان اتاق صدا می‌دهد؟ بله — قابل فهم
در فاصله ۲۰۰ متر صدا واضح است؟ بله
تأخیر کمتر از ۲ ثانیه است؟ بله — ~۵۰۰ms

میکروفون I2S INMP441 ESP32 + LoRa فشرده‌سازی LoRa گیرنده ESP32 DAC PAM8403 اسپیکر ۸Ω اینترکام LoRa — صدای دیجیتال بدون اینترنت — ۱ کیلومتر

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


منابع بیشتر

  • آپارات: ESP32 صدا I2S فارسی
  • Espressif I2S API Documentation
  • ESP32 Audio Projects GitHub
برچسب‌ها: DAC ESP32 I2S LoRa آموزش گام‌به‌گام اینترکام صدا مبتدی
​
مطلب بعدی ساخت سیستم Geo-Fencing با GPS و LoRa: هشدار خروج از محدوده برای پهپاد (فارسی) مطلب قبلی تنظیم PID در INAV برای UGV: پایدارسازی سرعت و فرمان زمینی (فارسی)
</> Make for Iran – بسازیم برای ایران

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

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

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

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

پیوندها

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

آخرین مطالب

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