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

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

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

ساخت ردیاب GPS با SIM800L و ارسال موقعیت از طریق SMS: راهنمای کامل مبتدی (فارسی)

​ ژوئن 10, 2026 2 دقیقه مطالعه
ردیاب GPS با SIM800L و Arduino

ردیاب GPS، SIM800L و SMS یعنی چه؟ (برای مبتدی)

تصور کنید ماشین RC یا پهپاد شما گم شود. اگر یک ردیاب GPS داشته باشید، کافی است یک پیامک بفرستید و موقعیت دقیق دستگاه را بدانید. این پروژه دقیقاً همین کار را می‌کند. SIM800L یک ماژول GSM/GPRS کوچک است که مثل یک گوشی موبایل ساده کار می‌کند — به آن یک سیم‌کارت می‌دهید و می‌تواند SMS بفرستد و دریافت کند. قیمتش خیلی ارزان است (زیر ۳۰۰ هزار تومان) و با آردوینو راحت کار می‌کند.

وقتی این ماژول را با NEO-6M GPS ترکیب می‌کنید، یک سیستم ردیابی کامل می‌سازید: GPS موقعیت را پیدا می‌کند، آردوینو داده را پردازش می‌کند، و SIM800L یک پیامک با لینک Google Maps مستقیم می‌فرستد. گیرنده SMS فقط روی لینک کلیک می‌کند و موقعیت را روی نقشه می‌بیند.

نکته مهم: SIM800L به ۳.۷ تا ۴.۲ ولت نیاز دارد و هنگام ارسال SMS جریان زیادی می‌کشد (تا ۲ آمپر پیک). از رگولاتور قوی یا باتری LiPo 1S مستقیم تغذیه کنید.

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

یک ردیاب GPS مستقل که با یک پیامک، لینک دقیق Google Maps موقعیت دستگاه را می‌فرستد. قابل نصب روی UGV، ماشین RC، دوچرخه یا کوله.

  • زمان: ۳ تا ۴ ساعت
  • هزینه: ۸۰۰ هزار تا ۱.۲ میلیون تومان
  • نیاز: سیم‌کارت ایرانسل یا همراه اول با اعتبار فعال

Arduino Nano NEO-6M GPS SIM800L شبکه GSM SMS به گوشی شما GPS موقعیت → Arduino پردازش → SIM800L SMS → گوشی شما

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

قطعه مدل نقش
میکروکنترلر Arduino Nano V3 مغز
ماژول GPS NEO-6M با آنتن سرامیکی موقعیت
ماژول GSM SIM800L V2 ارسال SMS
رگولاتور LM2596 یا باتری 1S LiPo تغذیه SIM800L
خازن 1000μF / 6.3V جذب پیک جریان SIM800L
سیم‌کارت ایرانسل یا همراه اول شبکه GSM

اتصالات سیم‌کشی

قطعه پین آردوینو
NEO-6M TX D4 (SoftSerial RX)
SIM800L TX D7 (SoftSerial RX)
SIM800L RX D8 (SoftSerial TX) + مقاومت تقسیم ولتاژ
SIM800L VCC 3.7-4.2V مستقیم از LiPo/LM2596

⚠ پین RX سیم‌کارت ۸۰۰L فقط ۲.۸V تحمل دارد. از مقسم ولتاژ (۱۰k و ۱۵k) استفاده کنید تا ۵V آردوینو را به ۲.۸V تبدیل کنید.

کد کامل


#include <SoftwareSerial.h>
#include <TinyGPS++.h>

SoftwareSerial gpsSerial(4, 3);   // GPS RX, TX
SoftwareSerial simSerial(7, 8);   // SIM800L RX, TX
TinyGPSPlus gps;

const String MY_NUMBER = "+989XXXXXXXXX";  // شماره گوشی شما

void sendSMS(String number, String text) {
  simSerial.println("AT+CMGF=1");
  delay(1000);
  simSerial.print("AT+CMGS=\""); simSerial.print(number); simSerial.println("\"");
  delay(1000);
  simSerial.print(text);
  delay(100);
  simSerial.write(26);  // Ctrl+Z برای ارسال
  delay(5000);
  Serial.println("SMS sent!");
}

void setup() {
  Serial.begin(9600);
  gpsSerial.begin(9600);
  simSerial.begin(9600);
  delay(5000);
  simSerial.println("AT"); delay(1000);
  simSerial.println("AT+CMGF=1"); delay(1000);
  Serial.println("System ready. Waiting for GPS fix...");
}

void loop() {
  // خواندن GPS
  gpsSerial.listen();
  unsigned long start = millis();
  while (millis() - start < 2000) {
    while (gpsSerial.available()) gps.encode(gpsSerial.read());
  }

  // بررسی دستور SMS ورودی (هر ۳۰ ثانیه)
  simSerial.listen();
  delay(100);
  if (simSerial.available()) {
    String incoming = simSerial.readString();
    if (incoming.indexOf("TRACK") >= 0) {
      if (gps.location.isValid()) {
        String lat = String(gps.location.lat(), 6);
        String lon = String(gps.location.lng(), 6);
        String msg = "موقعیت من:\nhttps://maps.google.com/?q=" + lat + "," + lon;
        msg += "\nسرعت: " + String(gps.speed.kmph(), 1) + " km/h";
        sendSMS(MY_NUMBER, msg);
      } else {
        sendSMS(MY_NUMBER, "GPS هنوز Fix نگرفته. لطفاً ۲ دقیقه صبر کنید.");
      }
    }
  }
  delay(30000);  // بررسی هر ۳۰ ثانیه
}

چک‌لیست تست

تست نتیجه
دستور AT در Serial Monitor جواب «OK» می‌دهد؟ بله — SIM800L کار می‌کند
LED چشمک‌زن SIM800L آهسته است؟ (هر ۳ ثانیه) بله — به شبکه وصل است
ارسال SMS دستی موفق؟ پیامک رسید
بعد از ارسال «TRACK»، لینک Maps درست است؟ موقعیت درست نمایش داده می‌شود

NEO-6M GPS موقعیت Arduino Nano پردازش SIM800L ارسال SMS گوشی شما لینک Maps ارسال «TRACK» → دریافت لینک Google Maps — بدون اینترنت اضافه

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


منابع بیشتر

  • آپارات: ردیاب GPS آردوینو
  • Last Minute Engineers: SIM800L Guide
  • Random Nerd: SIM800L + Arduino
برچسب‌ها: GPS SIM800L SMS UAV UGV آردوینو آموزش گام‌به‌گام ردیاب مبتدی
​
مطلب بعدی ساخت GPS Data Logger با Arduino Nano و SD Card: ضبط مسیر و تحلیل داده (فارسی) مطلب قبلی راهنمای کامل ELRS: نصب، بایند و تنظیم ExpressLRS برای مبتدی — متصل شدن در ۳۰ دقیقه (فارسی)
</> Make for Iran – بسازیم برای ایران

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

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

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

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

پیوندها

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

آخرین مطالب

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