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

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

انجمن های تخصصی برق و الکترونیک ECA

با سلام خدمت همه دوستان عزیز و گرامی : یکی از مسایلی که این روزها خیلی مهم شده، پیدا کردن موقعیت یک شخص یا یک جسم از راه دور هستش، مثلا فرض کنین یکی یه حیوون خونگی داره خیلی مراقبشه، خب در صورتی که این حیوون بره جایی و کم بشه، میشه با یه ردیاب پیداش کرد و به دردسر نیفتاد!!!!!!! مثلا همین چند روز پیش دیدم یکی عکس سگش رو روی دیوار زده و بود نوشته بود گمشده!!!!!!!!!!!!!!!! قدیما عکس آدما رو میزدن جدیدا عکس سگ ها رو هم میزنن!!!!!!!!!!! به هر حال اگه این حیوون خونگی یه ردیاب داشت راحت میشد پیداش کرد. یا مثلا میشه روی ماشن گذاشتش و اگر یه روزی خدایی نکرده ماشین سرقت شد، میشه موقعیت ماشین رو پیدا کرد و دزد نامرد رو گرفت!!!!!!! یا اینکه افرادی که دچار اختلال حواس هستند هم میتونن از این وسیله استفاده کنن، اینجوری موقعیتشون رو داریم و نگرانی از بابت گمشدنشون نداریم. همونطور که میبینید این وسیله کاربردهای زیادی داره و میتونه تو مواقع حساس مفید واقع بشه ( پروژه ردیاب ماشین با میکروکنترلر مگا 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

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

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

1) نظرات غیر فارسی به صورت خودکار حذف میشوند ( حداقل 5 حرف فارسی وارد کنید ).

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

3) پسورد فایل های سایت : www.dmf313.ir

4) نظرات حاوی کد برنامه نویسی تایید نمیشوند ( قالب سایت بهم میریزه )

  1. Avatar

    مهمان

    علی

    سلام
    مهندس پروژه نمیشه دانلود کرد اگه امکانش بود لینک دانلود رو بذارین

  2. Avatar

    مهمان

    محمدباقر

    سلام
    من هم مشکل علی آقا رو دارم. چرا پاسخ موقعیت رو 0و0 می ده؟

  3. Avatar

    مهمان

    علی

    سلام مهندس اینو عملی بستم تو اینترنت هم میره پیام هم میده لینک گوگل مپ و اینه0.000000,0.000000
    لطفا راهنمای کنید وقتی تو اینترنت نباشه پیامی که میده 6تا 0 است ممنون میشم راهنمای کنید

  4. Avatar

    مهمان

    میلاد مرادی بیدهندی

    سلام. میشه در مورد دقت لوکیشنی که میده بگین و اینکه استفاده از این لوکیشن بهتره یا sim808؟

  5. Avatar

    مهمان

    رضا

    سلام.من واسه تبدیل به hex مشکل دارم.میتونید لطف کنید بگید با چه زبانی یا چه برنامه ای نوشتید که بتونم تبدیل به hex کنم.ممنون

  6. Avatar

    مهمان

    ramin

    سلام خسته نباشید
    #define دقیقا برای چی کاربرد داره؟!
    یک مثال ساده هم براش میزنید که متوجه بشم
    تشکر

  7. Avatar

    مهمان

    کوروش

    سلام
    لطفا دریافت پیامک از ماژول و کنترل رله رو بگذارید . با مگا 16 و کریستال8 یا بدون کریستال. ممنون

  8. Avatar

    مهمان

    بهنام

    سلام
    ببخشید چجوری میتونم فایل شو دانلود کنم

  9. Avatar

    مهمان

    محسن زارع

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

    • Avatar

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

      معین صابری

      سلام
      ممنونم
      با دستور زیر:
      AT+SAPBR=0,1

  10. Avatar

    مهمان

    SISRSIS

    سلام sim800 رو باید کافیک کنیم

  11. Avatar

    مهمان

    حسین

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

  12. Avatar

    مهمان

    حسین

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

  13. Avatar

    مهمان

    محمد

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

  14. Avatar

    مهمان

    shahin

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

    • Avatar

      مهمان

      معین صابری

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

  15. Avatar

    مهمان

    علی

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

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

      مدیر سایت

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

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

  16. Avatar

    مهمان

    علی

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

  17. Avatar

    مهمان

    مهدی دا

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

  18. Avatar

    مهمان

    جواد

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

  19. Avatar

    مهمان

    محمود بهشتی

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

    • Avatar

      مهمان

      معین صابری

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

  20. Avatar

    مهمان

    محمود بهشتی

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

    • Avatar

      مهمان

      معین صابری

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

  21. Avatar

    مهمان

    محمود بهشتی

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

    • Avatar

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

      معین صابری

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

  22. Avatar

    نویسنده سایت

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

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

    • Avatar

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

      معین صابری

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

  23. Avatar

    مهمان

    amir

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

    • Avatar

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

      معین صابری

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

  24. Avatar

    مهمان

    POORIY313

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

    • Avatar

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

      معین صابری

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

      • Avatar

        مهمان

        حسین

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

  25. Avatar

    مهمان

    محمد

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

    • Avatar

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

      معین صابری

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