نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
Avatar

پروژه ردیاب ماشین با میکروکنترلر مگا 16

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

پروژه ردیاب ماشین با میکروکنترلر مگا 16


 

انواع روش موقعیت یابی

خب بریم اصل متلب که ببینیم کلا قضیه از چه قراریه. برای موقعیت یابی دو روش رایج وجود داره :
1) استفاده از ماهواره های gps که الان همه جا به وفور هستش، مثلا توی گوشی های هوشمند هستش؛ یه گیرنده است که با ماهواره های درحال گردش در فضا ارتباط برقرار می­کنه و موقعیت خودش را به دست میاره؛ استفاده از این سرویس رایگان هستش و هزینه ای نداره؛ چند کشور این سرویس رو دارن پشتیبانی میکنن؛ اولین کشور که در این زمینه فعالیت کرد آمریکا بودش، الان روسیه، چین و اتحادیه اروپا در این زمینه فعال هستن.
2) روش دیگه ای که میتونه موقعیت یابی کنه ولی خطای نسبتا زیادی داره، استفاده از دکل های مخابراتی هست که گوشی تلفن و یا ماژول سیم کارتی مثل  sim800c به اون وصل میشن و یه موقعیت تقریبی از بین سه دکل مخابراتی نزدیک به تلفن همراه به دست میاد و به عنوان موقعیت تقریبی ازش استفاده میشه. مثلا من وقتی امتحان کردم یه کوچه بالاتر رو نشون میداد.
ما در این پروژه از روش دوم استفاده می­کنیم؛ برای استفاده از این روش باید به اینترنت متصل بشیم. پس طبعا باید اینترنت روی سیم کارتمون فعال باشه؛ بعد به کمک یه دستور میتونیم موقعیت تقریبی خودمون ببینیم؛ روش کاری ما در این پروژه اینطور هستش که ما به شماره سیم کارتی که توی دستگاهمون هست زنگ میزنیم؛ مثل پروژهای قبلی دستگاه تماس رو قطع میکنه و این بار مثل پروژه های قبلی که دما رو میفرستاد، یه لینک بهمون اس ام اس میکنه که اگه روش کلیک کنیم، میتونیم موقعیت تقریبیمون رو مشاهد کنیم.
 

قطعات مورد نیاز پروژه ردیاب ماشین

برای این پروژه احتیاج به قطعات زیر داریم:
1) میکروکنترلر ( یه میکرو مگا 16 کافیه، حالا میتونین مگه 32 و … استفاده کنین، ولی مگا 16 جوابه )
2) ماژول sim800c ( این همون ماژول سیم کارت خور هستش که قراره بهش زنگ بزنیم و موقعیتمون رو بگیریم؛ شما میتونین از ارزونترین مدل این ماژول ها ینی sim800l استفاده کنین )
3) سه تا مقاومت یه کیلویی+ خازن برای تغذیه (ی ه هزار میکروفاراد توصیه میشه، اکه بتونین 4 هزار و یا حتی 10 هزار بزارید بهتره، چون نویز تو مدار بخاطر ارتباط اینترنتی یکم زیاد میشه )
نکته خیلی مهم : منبع تغذیه اتون باید بتونه جریان حداقل 2 آمپر رو تامین کنه وگرنه یا ماژول مخابراتی روشن نمیشه و یا اگر بشه حین کار بخاطر اتصال به اینترنت و دریافت تماس خاموش میشه.
 

توضیحات پروژه ردیاب خودرو

اگر تو پروژه قبلی که ارسال دما با اس ام اس بود دقت کرده باشید ما یه پایه ri تو ماژول داشتیم زمانیکه با ماژول تماس میگرفتیم این پایه 0 منطقی ( یا همون 0 ولت ) میشد و ما می فهمیدیم که با دستگاه تماس گرفته شده، اینجا توی میکرو یه وقفه خارجی رخ میداد، وارد روتین وقفه میشدیم پس تماس رو قطع میکردیم و دما رو به کاربر ارسال میکردیم، این جا هم دقیقا همینه فقط جای دما باید موقعیت رو بفرستیم. برای پیدا کردن موقعیت اول با دستور at+sapbr=1,1 اینترنت رو فعال میکینم و بعد با دستور at+cipgsmloc=1,1  موقعیت رو پیدا میکنیم. وقتی که دستور موقعیت یابی رو وارد می­کنیم، ماژول موقعیت ( طول و عرض جغرافیایی ) رو به همراه تاریخ و ساعت برامون میفرسته و بعد با یکم برنامه نویسی طول و عرض جغرافیای رو از داده دریافتی استخراج می­کنیم و به کاربر پیامک میکنیم؛ نکته مهم این هست که برای برنامه، من از قابلیت codewizard استفاده کردم، تنظیماتش به اینصورت هست که تو قسمت وقفه خارجی، وقفه خارجی صفر رو به صورت low level  تعریف کردم، تو قسمت تنظیمات مربوط به سریال ارسال و دریافت رو فعال کردم، وقفه دریافت رو هم فعال کردم و بافر گیرنده رو اندازه اش رو روی  248 بایت تنظیم کردم. فرکانس میکرو هم 8 مگاهرتز با اسیلاتور داخلی تنظیم کردم.
قبل از این که سراغ کد برنامه بریم، بهتره یکبار دیگه سازوکار برنامه رو بررسی کنیم. مراحل به این ترتیب هست که شما با دستگاه تماس میگیرین، میکرو با ارسال دستور ath به ماژول sim800c ارتباط تلفنی رو قطع میکنه و متغیر ri2=1 میشه، بعد از روتین وقفه خارج میشه و تو حلقه تکرار بی نهایت بدنه اصلی برنامه، ینی حلقه (while(1 تو تابع  main، با بررسی شرط 1 بودن متغیر ri2 وارد شرط میشه، اینجا ابتدا با دستور at+sapbr=1,1 اینترنت فعال میشه، بعد با دستور 1و1 at+cipgsmloc= موقعیت رو همونطور که در بالا هم گفتیم دریافت می­کنیم. در قسمت پایین کد برنامه رو بررسی می­کنیم.
 
شماتیک پروژه :پروژه ردیاب ماشین با میکروکنترلر مگا 16
 
کد پروژه :

 
 
عکس پروژه در عمل : اول مطلب قرار داده شده.
 
فیلم پروژه : https://www.aparat.com/v/Sf6ai

 
هر جای برنامه موردی و یا مشکلی و یا ابهامی دیدن تو قسمت نظرات لطفا بگید تا با هم بررسیش کنیم.

پسورد فایل های سایت :
www.dmf313.ir
Avatar دانشجوی ارشد معماری کامپیوتر(سخت افزار)، تا الان استاد های خیلی خوبی داشتم مخصوصا تو دوره ارشد، ولی یکی از بهترین اونها، دکتر عبدالرضا پیشوایی از استاد های دوره لیسانس بودن که سیستم های میکروکنترلری به خصوص سیستم های بی سیم رو بهم معرفی کردن، انشالا همیشه هم ایشون وهم تمام استادای دلسوز و زحمتکش مثل ایشون برقرار باشن.
ارسال دیدگاه
25

1) تعداد حروف غیر فارسی از حروف فارسی بیشتر باشه دیدگاه به صورت خودکار حذف میشه.

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) برای گزاشتن کدهاتون از این سایت استفاده کنید : debian

  1. Avatar

    مهمان

    حسین

    سلام آقای صابری،ایمیل تون برای ارتباط بدید

    1398/02/19
    01:01
  2. Avatar

    مهمان

    حسین

    سلام،خسته نباشی،دستورات در برنامه کدویزارد،Erorمیده،خواهشا فایلشو بزارین برا دانلود

    1398/02/18
    05:42
  3. Avatar

    مهمان

    محمد

    سلام.خسته نباشید و ممنون بابت سایت خوبتون.
    من میخوام با یه ماژول دوربین(ov7670)فیلم (نه عکس) ضبط کنم و روی یک کارت sd ذخیره کنم.آیا میتونم از میکروکنترلر استفاده کنم؟اگه میشه لطفا راهنماییم کنید.اگه با میکرو نمیشه با چی میتونم این کارو انجام بدم که خیلی هزینش بالا نره.(فکر کنم با رزبری پای بشه ولی هزینش بالاست)بهترین چیزی که تو اینترنت پیدا کردم ذخیره کردن عکس با اردوینو بود.

    1398/01/08
    03:59
  4. Avatar

    مهمان

    shahin

    سلام
    با روش اول هم اگر امکان داره برامون بزارید ممنون

    1397/12/06
    11:13
    • Avatar

      مهمان

      معین صابری

      سلام
      یه مدت نبودم ولی انشالا حتما روش کار میکنم

      1397/12/22
      05:39
  5. Avatar

    مهمان

    علی

    سلام/می خواستم بدونم چجوری sim 800c رو تو پروتوس کشیدید من که زدم هیچ ماژولی با این مشخصات نیاورد

    1397/11/02
    11:13
    • مهدی دمیرچیلو

      مدیر سایت

      مهدی دمیرچیلو

      سلام – مطالب آموزش پروتئوس در سطح نت رو دنبال کنید.

      1397/11/02
      01:10
  6. Avatar

    مهمان

    علی

    سلام ، خود ماژول sim 800l تنظیماتی نمیخواد ؟؟

    1397/10/30
    11:37
  7. Avatar

    مهمان

    مهدی دا

    عالی بود
    دمتون گرم موفق باشید..

    1397/10/26
    11:18
  8. Avatar

    مهمان

    جواد

    سلام میخواستم بگم که نمیشه یه جوری برنامه نویسی کرد که مستقیم وصل بشه به گوگل مپ ومکانش رو به مابگه

    1397/10/06
    01:50
  9. Avatar

    مهمان

    محمود بهشتی

    سلام و خسته نباشید
    میشه بفرمایید چطوری باید مطمئن بشیم ماژول به اینترنت وصله

    1397/02/23
    08:08
    • Avatar

      مهمان

      معین صابری

      سلام
      برای اینکه مطمئن بشید به اینترنت وصله باید دستور زیر رو بزنید:
      AT+SAPBR=2,1
      ماژول در جواب به شما ای پی آدرس رو میگه، در صورتیکه به اینترنت وصل نشده باشه مقدار 0.0.0.0 رو برمیگردونه

      1397/02/23
      08:53
  10. Avatar

    مهمان

    محمود بهشتی

    باز هم سلام
    مدار این پیغام رو برام میفرسته
    <>
    بنظرتون مشکل از چیه؟

    1397/01/24
    05:50
    • Avatar

      مهمان

      معین صابری

      سلام،والا نمیدونم، یه بررسی کنین ببینین اتصالات درست هستن؟
      ضمنا حتما حتما حتما مطمئن شید یه ماژول به اینترنت متصل شده باشه

      1397/02/08
      12:25
  11. Avatar

    مهمان

    محمود بهشتی

    سلام
    ممنون از زحماتتون
    میشه لطف کنید بهمراه پروژه ها فایل هگز اونها رو هم قرار بدید
    من همین مدار و درست کردم و جواب نگرفتم. شک کردم نکنه فایل درست نباشه.
    بازم از مدارات جالبتون ممنونم

    1397/01/22
    06:02
    • Avatar

      نویسنده این مطلب

      معین صابری

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

      1397/01/25
      12:27
  12. Avatar

    نویسنده سایت

    محمدرضا اسلامی

    سلام
    خدا قوت…
    victory

    1396/12/11
    08:15
    • Avatar

      نویسنده این مطلب

      معین صابری

      سلام، ممنونم مهندس

      1396/12/11
      11:37
  13. Avatar

    مهمان

    amir

    سلام مهندس اون دستورات اسمبلی که تو وقفه ی دریافت نوشتین واسه چیه؟

    1396/12/11
    02:56
    • Avatar

      نویسنده این مطلب

      معین صابری

      سلام، اونها رو من ننوشتم کد ویزارد خودش تولید کرده
      تو قسمت اول که عبارت push داره، مقادیر رجیسترهایی که ممکنه توی تابع دریافت وقفه استفاده بشن و مقدارشون تغییر کنه، تو حافظه ای به نام پشته ذخیره میشن که مقدارشون از دست نره
      بعد که کار تابع وقفه تموم میشه و میخواد بیاد بیرون، اون مقادیری رو که ذخیره کرده بود با دستور pop از روی پشته آزاد میکنه

      1396/12/11
      11:55
  14. Avatar

    مهمان

    POORIY313

    سلام من یه ایمیل به شما دادم در مورد SX1278 هنوز جواب ندادید! حدود یک هفته شاید بشه
    ممنون میشم پاسخ بدید

    1396/12/09
    02:36
    • Avatar

      نویسنده این مطلب

      معین صابری

      سلام، من به همه ایمیل ها جواب میدم
      شما هیچی ایمیلی نفرستادید

      1396/12/09
      03:07
      • Avatar

        مهمان

        حسین

        سلام مهندس ایمیل تو بهم بده

        1398/02/18
        07:10
  15. Avatar

    مهمان

    محمد

    سلام فروشگاهی که ماژول sim800c گرفتین معرفی کنید؟

    1396/12/06
    12:35
    • Avatar

      نویسنده این مطلب

      معین صابری

      سلام، فروشگاه الکترونیک 724

      1396/12/06
      01:49