آردوینو برد ESP8266 سیم کارت GSM - GPRS مکان یاب GPS پروژه های آردوینو

پروژه ردیاب خودرو با ماژول GPS Neo6M و برد ESP8266 باتری لیتیومی

car-tracker-with-gps-neo6m-and-gsm-module-esp8266-digispark
نوشته شده توسط معین صابری

لیت خودروها یکی از مهم ترین و پرکاربردترین وسایل ساخت بشر به شمار می روند. اهمیت و کاربرد خودرو بر هیچ کسی پوشیده نیست؛ به خصوص که در سال های اخیر خودرو پیش از پیش به کالای سرمایه ای تبدیل شده است. در سال های اخیر متاسفانه شاهد سرقت خودروها بوده ایم؛ حتی خودروهای ضد سرقت نیز به روش های مختلفی سرقت می شوند. در این آموز به طراحی و پیاده سازی یک کیت ردیابی خودرو می پردازیم. در طراحی این کیت، موضوع ابعاد بسیار برای ما مهم است؛ چراکه باید از دید سارقان مخفی باشد. نکته دیگر این که این کیت به صورت پرتابل طراحی شده و شما به سادگی می توانید از آن در خودرو استفاده کنید. بدین ترتیب نیای به دانش فنی و برق خودرو جهت تامین تغذیه این دستگاه ندارید. این دستگاه دارای باتری لیتیمی بوده که به سادگی از طریق شارژرهای تلفن همراه، شارژ می شود. بدین ترتیب شما نیازی به سیم کشی در خودرو نخواهید. در ادامه این آموزش، در ادامه با مرجع تخصصی آردوینو به زبان فارسی ، دیجی اسپارک همراه باشید.

 


قابلیت های ردیاب خودرو طراحی شده با NEO6M


ردیاب خودرو طراحی شده در این کیت دارای قابلیت های مختلفی است که در زیر تعدای از آن را به صورت خلاصه بررسی می کنیم.

  • قابلیت حمل
  • بدون نیاز به نصب و سیم کشی برق خودرو
  • قابلیت ارسال سرعت خودرو از طریق پیامک
  • قابلیت ارسال میزان شارژ باتری از طریق پیامک
  • قابلیت ارسال موقعیت بر روی گوگل مپ از طریق پیامک
  • دارای باتری داخلی قابلی شارژ از طریق شارژهای تلفن همراه

 


ماژول ESP8266 تعریف و مزایا


ماژول ESP8266، یک برد فوق العاده قدرتمند است. این ماژول که از پردازنده XTENSA بر روی خود بهره می برد، دارای حافظه فلش با حجم ۴ مگابایت است. این پردازنده می تواند تا ۱۶۰ مگاهرتز سرعت کلاک پردازنده داشته باشد. در کنار این، این پردازنده دارای ارتباط وای فای است. به کمک این قابلیت می توانید این برد را به مودم ها متصل کرده و داده های خود را در بستر اینترنت، ارسال و دریافت کنید. همچنین این برد از سیستم عامل FREE RTOS، جهت اجرای Task های شبکه و کاربر، استفاده می کند.

پروژه ساخت portable pulse oximeter اکسی متر - دیجی اسپارک

 

برای پروگرام کردن این برد، نیاز به هیچ پروگرامر جانبی نبوده و به سادگی از طریق یک مبدل سریال به USB، می توانید این برد را پروگرام کنید. شایان ذکر است که این برد به سادگی و از طریق دستورات آردوینو، پروگرام شده و نیازی به یادگیری زبان جدید ندارید. در پروژه ردیاب خودرو، جهت پردازش داده ها و ارسال موقعیت مکانی به کاربر، از این برد استفاده نموده ایم. وجود حافظه با حجم بالا و اندازه بسیار کوچک، توجه ما را به سمت این برد جلب کرد. در زیر می توانید مزایای استفاده از این برد را مشاهده نمایید.

  • اندازه کوچک، قیمت مقرون به صرفه
  • قابلیت ایجاد شبکه وای فای به صورت لوکال
  • فرکانس کاری ۱۶۰ مگاهرتزی، حافظه ۴ مگابایتی

 


ماژول SIM800L جی اس ام


ماژول مخابراتی SIM800L، یک ماژول سیم کارتی جهت برقراری تماس تلفنی، ارسال و دریافت پیامک و اتصال به اینترنت است. این ماژول جزو ارزانترین و البته پرکابردترین ماژول مخابراتی به شمار می رود. مهم ترین نکته در راه اندازی این ماژول، بحث تامین تغذیه آن است. در زیر به طور خلاصه به ویژگی های این ماژول می پردازیم.

  • ولتاژ کاری بین ۳٫۴ الی ۴٫۴
  • قابلیت کار در فرکانس های ۸۵۰/۹۰۰/۱۸۰۰/۱۹۰۰
  • قابلیت برقراری تماس صوتی دو طرفه
  • قابلیت ارسال و دریافت پیامک
  • قابلیت اتصال به اینترنت و ارسال و دریافت داده
  • پشتیبانی از پروتکل های FTP،HTTP،SMTP و….

ماژول Sim800L برای ساخت دوربین سیم کارتی

 

در این پروژه ما از این ماژول جهت ارسال پیامک حاوی اطلاعات خودرو نظیر سرعت، موقعت و میزان شارژ باتری به کاربر استفاده می کنیم. از آنجاییکه ولتاژ کاری این ماژول بین ۳٫۴ الی ۴٫۲ قرار می گیرد، لذا از طریق باتری لیتیمی به صورت مستقیم و بدون واسط می توانیم این ماژول را تغذیه نماییم. برای راه اندازی و کار با این ماژول کاربردی سلسله آموزشی طی ۱۱ مرحله منتشر شده که با کلیک بر روی این لینک می توانید این آموزش ها را دنبال و مطالعه کنید.

 


ماژول GPS از نوع NEO6M


ماژول های GPS یکی از مهم ترین و پرکاربردترین ابزارها جهت تعیین موقعیت دقیق به شمار می روند. به کمک ماژول های GPS می توانیم اطلاعات مکانی نظیر طول، عرض و ارتفاع را بدست آوریم. همچنین می توان از سرعت متحرک نیز مطلع شویم. فرستنده های GPS که به صورت ماهواره ها در مدار زمین در حال گردش هستند، نخستین بار توسط ارتش ایالات متحده به فضا فرستاده شدند. این فناوری که در ابتدا کاربردی نظامی داشت، هم اکنون برای مصارف تجاری، تحقیقاتی و… مورد استفاده قرار می گیرد.

ردیاب خودرو با ماژول GPS neo6M - دیجی اسپارک

 

جهت دریافت موقعیت از ماهواره ها، نیازمند ماژول های گیرنده GP0S هستیم. یکی از این ماژول ها، ماژول های UBLOX هستند. این ماژول ها یکی از پایدارترین و پرکاربردترین گیرنده های GPS بوده که به سادگی با بردهای آردوینو، ESP و سایر میکروکنترلرها راه اندازی می گردد. به کمک این ماژول می توانیم موقعیت دقیق خود را همراه با اطلاعات جانبی نظیر ارتفاع، سرعت، ساعت و تاریخ و… بدست آوریم. در پروژه ردیاب خودرو از این ماژول جهت تعیین موقعیت خودرو به همراه سرعت آن استفاده می کنیم. به کمک این ماژول موقعیت مکانی دقیق را بدست آورده و به وسیله ماژول SIM800L، اطلاعات خودرو به کاربر پیامک می گردد.

 


باتری لیتیم پلیمر


باتری ها از ابزارهای مهم در تغذیه سیستم های مختلف به شمار می روند. یکی از بهترین نوع باتری ها در تغذیه گجت های هوشمند و سیستم های قابل حمل، باتری های لیتیم پلیمر هستند. این باتری ها با ابعاد کوچک و مسطح، از ظرفیت بسیار بالاتری نسبت به باتری های هم رده خود، لیتیم یون، برخوردار بوده و کارایی بیشتر در این نوع سیستم ها، خواهند داشت.

باتری لیتیوم پلیمر Li-Po برای دستگاه پالس اکسی متر - دیجی اسپارک

 

یکی از مهم ترین مسایل در کار با باتری ها، چگونگی شارژ آن هاست. برای شارژ باتری های لیتیم پلیمری، ماژول های شارژ تولید شده اند. این ماژول ها دارای سوکت میکرو USB و دو پایه جهت اتصال باتری هستند. بنابراین، به کمک این ماژول ها و به سادگی هر چه تمام تر، می توانید باتری خود را شارژ نمایید. با کلیک بر روی این لینک، می توانید ماژول شارژر مناسب باتری ها را مشاهده نمایید.

تغذیه توسط باتری لیتیوم پلیمر و شارژ - دیجی اسپارک

 

در این آموزش، از باتری لیتیم پلیمری جهت تغذیه دستگاه استفاده می نماییم. بدین ترتیب می توانیم دستگاه خود را قابل حمل(پرتابل) نماییم. همچنین به کمک ماژول شارژر، به سادگی و از طریق شارژهای تلفن همراه و یا پورت های USB، قادر به شارژ باتری خواهیم بود. از طرف دیگر به لطف قابلیت اندازه گیری میزان شارژ باتری در ماژول SIM800L، می توانیم میزان شارژ باتری را به کاربر پیامک کنیم.

 


رگولاتور LF33


رگولاتورهای ولتاژ از ابزارهای مهم، کلیدی و پرکاربرد به شمار می رود.  به کمک رگولاتور ها شما می توانید ولتاژ متغیر در ورودی را به ولتاژی ثابت در خروجی، تبدیل کنید. رگولاتور LF33 از رگولاتورهای پرکاربرد در صنایع و پروژه های مختلف به شمار می رود. این رگولاتور با افت ولتاژ بسیار پایین، در خروجی ولتاژ ۳٫۳ ایجاد می کند.از طرفی دیگر، با توجه به این که ولتاژ ۳٫۳ ولتاژی ایده آل برای راه اندازی و کار با ماژول ESP است؛ لذا از این رگولاتور برای تبدیل ولتاژ باتری لیتیمی که در بازه ۳٫۴ الی ۴٫۲ است، استفاده می کنیم.

رگولاتور کاهنده LF33 - دیجی اسپارک

 


نصب کتابخانه ++TinyGps


در این پروژه ما از کتابخانه TingGPS++ جهت دریافت داده از ماژول GPS استفاده می کنیم.  برای نصب این کتابخانه در آردوینو، می توان به صورت دستی و خودکار(از مخازن آردوینو) اقدام نمود. ما در اینجا از روش خودکار و با استفاده از نرم افزار آردوینو، به نصب کتابخانه ++TnyGps می پردازیم. برای این مورد، ابتدا در محیط نرم افزار آردوینو، بر روی گزینه Tools و سپس Manage Libraries کلیک کنید. پس از کلیک بر روی گزینه Manage Libraries، با تصویر زیر رو به رو می شوید. این منو کتابخانه های در دسترس را به شما نمایش می دهد.

اصول نصب کتابخانه آردوینو - دیجی اسپارک

 

در تصویر فوق کادر جستجوی کتابخانه ها با فلش قرمز رنگ مشخص شده است. در این کادر عبارت ++TnyGps را تایپ کنید. در مرحله بعدی، با تصویر زیر رو به رو خواهید شد. با کلیک بر روی گزینه install این کتابخانه را می توانید نصب کنید.

نصب کتابخانه ++TinyGps در آردوینو - دیجی اسپارک

 


شماتیک و اتصالات پروژه ردیاب قابل حمل خودرو


پس از بررسی قطعات به کار رفته در پروژه، ابتدا به شماتیک و اتصالات می پردازیم. ابتدا تصویر زیر شمایی کلی از اتصالات پروژه را نمایش می دهد.

شماتیک پروژه ردیاب خودرو با GPS و سیم کارت - دیجی اسپارک

 

پس از بررسی شماتیک و اتصالات، نوبت به برقراری ارتباطات می رسد. در ادامه اتصالات را مطابق تصویر فوق ادامه می دهیم.

 


اتصالات ماژول GPS


  • اتصال پایه VCC به کابل مثبت باتری
  • اتصال پایه GND به کابل منفی باتری
  • اتصال پایه TX به پایه GPIO4 ماژول ESP8266
  • اتصال پایه RX به پایه GOIO5 ماژول ESP8266

 


اتصالات ماژول SIM800L


  1. اتصال پایه VCC به کابل مثبت باتری
  2. اتصال پایه GND به کابل منفی باتری
  3. اتصال پایه TX ماژول سیم کارت به پایه RX ماژول ESP8266
  4. اتصال پایه RX ماژول سیم کارت به پایه TX ماژول ESP8266

 


اتصالات تغذیه ماژول ESP8266


  • اتصال کابل مثبت باتری به پایه IN رگولاتور LF33
  • اتصال کابل منفی باتری به پایه GND رگولاتور LF33
  • اتصال پایه OUT رگولاتور LF33 به پایه VCC ماژول ESP8266
  • اتصال پایه GND رگولاتور به پایه GND ماژول ESP8266

همچنین برای اتصالات ماژول شارژر و باتری، پایه B+ به کابل مثبت باتری به صورت مستقیم و بدون قرارگیری در مسیر کلید و پایه B- به کابل منفی باتری متصل گردد.

 


کدهای پروژه


پس از برقراری اتصالات، نوبت به آپلود برنامه روی برد ESP می رسد. پیش از آپلود برنامه روی ماژول ESP، به نکات زیر توجه نمایید.

 

جهت دسترسی به این بخش، اشتراک اسپارکر پلاس تهیه کنید.

 


اجرای پروژه


پس از آپلود کدها، نوبت به اجرای پروژه می رسد. توجه داشته باشید که پس از آپلود کدها، ابتدا اتصال پایه GPIO0 را از زمین جدا کرده و سپس ماژول را ریست کنید. در این حالت شما می توانید روال اجرای برنامه را در سریال مانیتور آردوینو مشاهده کنید. برای این کار، پایه RX مبدل سریال به پایه TX ماژول ESP متصل شده و کابل GND مبدل سریال به پایه GND ماژول ESP وصل گردد. در این حالت می توانید اجرای برنامه را به شکل زیر مشاهده کنید.

 

در ادامه با شماره سیم کارتی که درون دستگاه است، تماس بگیرید. با برقراری تماس، ابتدا تماس شما قطع می شود؛ سپس بعد از چند پیامکی حاوی اطلاعات GPS به شماره ای که در کد برنامه تعریف کرده اید، ارسال می شود. این پیامک اطلاعات زیر را به شما مخابره می کند:

۱-سرعت خودرو

۲-میزان شارژ باتری دستگاه

۳-لینک گوگل مپ از موقعیت فعلی دستگاه

در زیر تصویر این پیامک را مشاهده می کنید. توجه داشته باشید که در این برنامه جهت افزایش مدت زمان کار دستگاه با باتری، نیاز به کاهش توان مصرفی داریم. برای همین واحد مخابراتی(وای فای) ماژول ESP8266 خاموش شده و تنها بخش پردازنده آن فعال است. از طرفی دیگر ماژول سیم کارت نیز در حالت sleep قرار می گیرد. این ماژول پس از دریافت تماس و ارسال پیامک، مجددا وارد حالت sleep خواهد شد. بدین ترتیب توان مصرفی این ماژول کمینه خواهد شد.

 

در رابطه با راه اندازی و کار با ماژول های GPS دقت کنید که این ماژول جهت اتصال به ماهواره به زمان نیاز دارد. همچنین برای عملکرد مناسب، این دستگاه باید در حال حرکت تست گرفته شود.

 


تحلیل کدهای پروژه


پس از اجرای پروژه و اطلاع از عملکرد آن، نوبت به تحلیل و بررسی کدهای پروژه می رسد. توجه داشته باشید که درون کدهای پروژه، به صورت خط به خط توضیح(کامنت) درج شده که شما با مطالعه آن می توانید به سادگی روال کلی کار را دریابید. اما در اینجا به صورت مختصر به شرح توابع می پردازیم. در ابتدا به کمک تابع زیر، ارتباط با شبکه GSM کنترل می شود.

تابع فوق منتظر اتصال ماژول GSM به شبکه می ماند. چنانچه با موفقیت به شبکه متصل شود، برنامه ادامه می یابد. در این برنامه جهت کاهش توان مصرفی و افزایش مدت زمان فعال بودن دستگاه، واحد مخابراتی ماژول ESP (وای فای) خاموش می شود. همچنین ماژول سیم کارت نیز در حالت کم مصرف قرار می گیرد.. در حلقه تکرار برنامه، تابع send_data وظیفه کنترل تماس ورودی و ارسال پیام را دارد. همچنین تابع smart_delay داده ها را از ماژول GPS دریافت و در بافر مخصوص خود، ذخیره می کند.

 


لوازم مورد نیاز


کیت ردیاب خودرو

 


جمع بندی


در این آموزش به به طراحی و پیاده سازی ردیاب خودرو به کمک ماژول GPS مدل NEO6M پرداختیم. این دستگاه ردیاب به گونه ای طراحی شده که با باتری لیتیم پلیمری کار می کند.  بدین ترتیب به آسانی و بدون نیاز به سیم کشی از برق خودرو، می توانید این دستگاه را راه اندازی کنید. بر روی این کیت ردیاب خودرو از ماژول شارژر باتری استفاده شده است؛ بدین ترتیب شما می توانید با شارژ باتری به کمک شارژرهای تلفن همراه، به آسانی باتری را شارژ کنید.  از آنجاییکه توان مصرفی در این دستگاه امری مهم تلقی می شود، لذا ماژول های مخابراتی توسط برنامه در حالت کم مصرف قرار می گیرند تا دستگاه در بیشینه زمان ممکن فعال باشد.

 

چنانچه ابهامی در مطالب گفته شده می بینید و یا اینکه احساس می کنید مباحث گفته شده برای شما گنگ است، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها، مطالب گفته شده و یا مراحل اجرایی وجود دارد می‌توانید از همین طریق اطلاع رسانی کنید.

 

درباره نویسنده

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه

۱۰ دیدگاه

    • ممنونم از لطف شما
      اگر پیشنهادی برای بهبود پروژه دارید، ممنون می شوم مطرح بفرمایید

      • سلام مهندس بنظر من پروژه بسیار کامل است
        فقط یه سوال وقتی موقعیت توسط دستگاه برای ما پیامک میشود
        میشه بصورت زنده داخل گوگل مپ دید که مثلاً ماشین یا هر وسیله ما داره کجا می‌ره ؟

        • سلام مجدد و ممنونم از شما
          بله، لینک گوگل مپ برای ما پیامک می شود که با کلیک بر روی آن، موقعیت خودرو نمایش داده می شود.

  • سلام مجدد
    میشه با استفاده از ماژول ESP32 یا ESP8266 و ماژول MP3 player یه پروژه طراحی کنید که بشه باهاش چهار وسیله را کنترل کرد و مثلاً با گوشی موبایل که رله یک را فعال میکنیم داخل خود گیرنده ماژول MP3 player فعال بشه و بگه رله یک فعال شد

  • مهندس اگر این امکان وجود دارد پروژه ها که طراحی میکنید را براش یه pcb هم طراحی کنید و لینک خرید pcb و قطعات را بصورت جداگانه قرار دهید تا بخریم

    • لینک خرید قطعات در قسمت لوازم در آموزش ها قرار می گیرد. برای این آموزش هم چند روز آینده لینک درج خواهد شد. برای PCB هم یک سلسله آموزش در حال انتشار است! منتظر باشید!!

  • مهندس اگر امکان دارد یه کواد کوپتر خیلی ساده هم طراحی کنید و بزارید چون واقعا خیلی جذاب است که خودمون بتونیم یه کواد کوپتر بسازیم
    مثلاً با برد esp8266 و ماژول تعادل
    یا با برد اردوینو و ماژول nrf
    و بصورت مرحله به مرحله هم آموزش ساختش را بزارید مثل مراحلی که برای آموزش سیم‌کارت گذاشتید

    • کوادکوپتر نیاز به دانش مکانیک هم دارد. احتمالا در آینده روی آن کار کنیم.
      ممنونم از پیشنهاد شما