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

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

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

ساخت سیستم هشدار زلزله با سنسور لرزش ADXL345 و LoRa Sub-GHz (فارسی)

​ ژوئن 11, 2026 2 دقیقه مطالعه
سیستم هشدار زلزله ADXL345 LoRa SX1278

سیستم هشدار زلزله DIY چیست؟ (مبتدی)

در این پروژه با سنسور ADXL345 (شتاب‌سنج سه محوره دیجیتال از Analog Devices، زیر ۵ دلار) لرزش‌های زمین را اندازه می‌گیریم. ADXL345 دارای قابلیت Free Fall Detection و Activity Interrupt است — وقتی شتاب از آستانه تنظیم شده بیشتر شود، یک Interrupt ایجاد می‌کند.

این هشدار با LoRa SX1278 433MHz (برد ۵km) به یک گیرنده مرکزی ارسال می‌شود. سیستم می‌تواند چند نود داشته باشد — هر ساختمان یک نود — و در یک شبکه هشدار اولیه زلزله (Early Warning) استفاده شود. این مفهوم مستقیماً در تله‌متری UGV/UAV هم قابل استفاده است.

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

یک نود هشدار زلزله LoRa با ADXL345 و باتری ۶ ماهه.

  • هزینه: ADXL345+Arduino+SX1278 = ۱۵ دلار
  • برد هشدار: تا ۵km
  • باتری: ۶ ماه در Deep Sleep

بلدA ! بلدB ✓ Gateway مرکزی هشدار → SMS/LoRa ADXL345 — هشدار زلزله LoRa، ۵km، باتری ۶ ماه

کد ADXL345 با Interrupt و LoRa


#include <Wire.h>
#include <Adafruit_ADXL345_U.h>
#include <LoRa.h>
#include <avr/sleep.h>

Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345);
volatile bool quakeDetected = false;

// INT1 → Arduino Pin 2 (External Interrupt 0)
void onInterrupt() { quakeDetected = true; }

void setup() {
  accel.begin();

  // تنظیم آستانه Activity Detection:
  accel.writeRegister(ADXL345_REG_THRESH_ACT, 20);  // 20 × 62.5mg = 1.25g
  accel.writeRegister(ADXL345_REG_THRESH_INACT, 5);
  accel.writeRegister(ADXL345_REG_TIME_INACT, 3);    // 3 ثانیه

  // Activity/Inactivity فعال روی X,Y,Z:
  accel.writeRegister(ADXL345_REG_ACT_INACT_CTL, 0x77);

  // Map Activity Interrupt به INT1:
  accel.writeRegister(ADXL345_REG_INT_MAP, 0x00);    // همه به INT1
  accel.writeRegister(ADXL345_REG_INT_ENABLE, 0x10); // Activity bit

  // اتصال INT1:
  attachInterrupt(digitalPinToInterrupt(2), onInterrupt, RISING);

  LoRa.begin(433.175E6);
  LoRa.setSpreadingFactor(10);
  LoRa.setTxPower(17);

  // شناسه این ساختمان (با jumper یا EEPROM تنظیم کنید):
  uint8_t buildingID = 1;

  // شب‌رو Deep Sleep تا Interrupt:
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);
}

void loop() {
  if(quakeDetected) {
    quakeDetected = false;

    // اندازه‌گیری دقیق شتاب:
    sensors_event_t event;
    accel.getEvent(&event);
    float magnitude = sqrt(event.acceleration.x*event.acceleration.x +
                           event.acceleration.y*event.acceleration.y +
                           event.acceleration.z*event.acceleration.z);

    // ارسال هشدار LoRa:
    LoRa.beginPacket();
    LoRa.print("EQ,ID:1,MAG:");
    LoRa.print(magnitude, 2);
    LoRa.print(",T:");
    LoRa.print(millis()/1000);
    LoRa.endPacket();

    delay(100);
  }
  // برگشت به Sleep:
  sleep_enable(); sleep_mode(); sleep_disable();
}

چک‌لیست نصب سنسور روی ساختمان

بررسی روش
ADXL345 محکم به دیوار/ستون بسته؟ با پیچ (نه چسب)
آستانه با تکان دادن دستی تنظیم؟ threshold بدون فعال شدن
LoRa هشدار در ۱km دریافت می‌شود؟ ☐
باتری چند ماه دوام می‌آورد؟ مصرف Sleep زیر ۵μA

ADXL345 لرزش‌سنج Pro Mini Interrupt SX1278 LoRa 433MHz 5km Gateway هشدار زلزله ADXL345 → LoRa 433 → هشدار زلزله ۵km، باتری ۶ ماه

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


منابع بیشتر

  • آپارات: ADXL345 لرزش سنج زلزله فارسی
  • Adafruit: ADXL345 Learning Guide
برچسب‌ها: 433MHz ADXL345 LoRa SX1278 آموزش گام‌به‌گام زلزله لرزش‌سنج هشدار
​
مطلب بعدی ساخت ماشین RC خودران با DeepRacer و ESP32: یادگیری ماشین روی مسیر (فارسی) مطلب قبلی پهپاد هیچ‌هایکینگ: پروژه تحویل بار ارزان‌قیمت با سوار شدن روی کامیون — بخش ۱ از ۴: مفهوم و معماری سیستم (فارسی)
</> Make for Iran – بسازیم برای ایران

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

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

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

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

پیوندها

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

آخرین مطالب

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