نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
آزادی حجاز از دست نااهلان
مهدی دمیرچیلو

پروژه و آموزش کار با ماژول فاصله سنج SRF05

به نام خدا : پروژه و آموزش کار با ماژول فاصله سنج SRF05 ؛ تو این پروژه avr میخوام در مورد ماژول های التراسونیک ، سری SRF05 توضیح بدم و یه پروژه + فیلم پروژه هم براتون ته مطلب میزارم؛ پروژه در عمل هم تست شده و شکلی نداره…..فیلم پروژه گویای همه چیز هستش!!!

پروژه و آموزش کار با ماژول فاصله سنج SRF05

مشخصات ماژول SRF05

رنج اندازه گیری :  حداقل  cm4 و حداکثر ۴ متر
ولتاژ مورد نیاز و جریان مصرفی : ۵ ولت – ۴ میلی آمپر
پایه ها : GND – VCC – Trig – Echo – Out

توجه : با توجه به این که دو نوع ماژول SRF05 تو بازار
موجود هستش برای این که مشکلی پیش نیاد…
ماژولی که میخرید حتما باید مثل این شکل باشه…

نمیخوام بگم مشکلی پیش میاد ولی دیدی یه وقت…

 

 

نحوه کار ماژول SRF05

در زیر توضیحات دیتاشیت ماژول srf05 رو قرار میدم…..دیتاشیتش رو هم در ته مطلب ، تو فایل دانلود میزارم.
Vcc : به ۵ ولت وصل میشود.
GND : به زمین وصل میشود.
اما سه پایه دیگه بسته به این که تو کدوم مد باشیم کارشون متفاوت هستش.

مد ۱ :

  1. در این حالت ما ابتدا یه پالس با زمان ۲۰ میکرو ثانیه به پایه Trig میدهیم.
  2. بعد ماژول srf05، 8 پالس به سمت محیط ارسال میکند.
  3. بعدش ما پالسی از پایه Echo دریافت میکنیم و با محاسبه طول این پالس و ضرب کردن در مقادیری….فاصله ماژول srf05  رو تا مانع پیدا میکنیم.

توجه مهم : اگه طول پالسی که دریافت کردیم از ۳۰ میلی ثانیه بیشتر شد یعنی مانعی جلوی ماژول نیست.(تو برنامه نویسی تون بهتره لحاظش کنید.)
توجه :  طول پالسی که دریافت میکنیم بین ۱۰۰ میکرو ثانیه تا ۲۰ میلی ثانیه هستش.( برا اطلاعات عمومی گفتم.^_^ )
تا یادم نرفته اینم بگم : پایه Out  هم به جایی وصل نیست……به جایی وصلش نکنید یه وقت…..بزارید بدون اتصال بمونه.

نحوه کار ماژول SRF05

مد ۲ :

  1. پایه Out  به زمین وصل میشه.
  2. پایه Echo بدون اتصال میمونه.
  3. تو مد ۱ ما به پایه Trig  یه پالسی میدادیم و یه پالسی از پایه Echo  میگرفتیم…..اما تو این مد پایه Echo رو بدون اتصال میزاریم بمونه…..و پالسمون رو به Trig  میدیم و پالس رو هم از Trig  دریافت میکنیم.

نحوه کار ماژول SRF05

سوال۱ : پالس چیه ؟
جواب۱ : لپ کلوم رو بگم و زیاد سر این اصتلاحات گیجتون نکنم…….ما یه پایه میکرو رو خروجی تعریف میکنیم و یکش میکنیم و ۲۰ میکرو ثانیه صبر میکنیم و بعد پایه مورد نظر رو صفر میکنیم….>>>> با این کار ما یه پالس به طول ۲۰ میکرو ثانیه ایجاد کردیم.>>>ok???

سوال۲ : ما چطور زمان پالس دریافتی رو محاسبه میکنیم؟؟؟
جواب۲ : باید بگم که ما از تایمر ۰ استفاده میکنیم (اگه در مورد تایمر/کانتر چیزی نمیدونید مطلب زیر رو بخونید.)
آموزش جمع avr  جلسه۹
بعد این که ما پالس ها رو ارسال کردیم….یه کد قرار میدیم تا ببینیم کی پایه مورد نظر ما (پایه ای که قرار هستش پالس رو ازش دریافت کنیم….که بسته به مدی که ماژول درش قرار داره متفاوت هستش…..ولی ما فرض میکنیم که ماژول در مود یک قرار داره….البته پروژه این مطلب هم در مد یک قرار داره) یک میشه(دو عکس بالا رو ببینید که مربوط هستن به نحوه عملکرد ماژول در دو مد توضیح داده شده ) …..حالا ما کد زیر رو قرار میدیم و منتظر میشیم تا پایه Echo یک بشه (یعنی دریاغت پالس شروع بشه)

وقتی پایه Echo یک شد از حلقه بالا خارج میشود و بعدش میگیم تایمر شروع به کار کنه(زمانی رو که پایه Echo یک هستش رو میخوایم محاسبه کنیم.) تا زمانی که پایه Echo یک هستش و این کار توسط کد زیر انجام میشه…(یه حلقه درست میکنیم و میگیم تا زمانی که پایه Echo یک هستش از حلقه خارج نشو)

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

نحوه ضرب و تقسیم بالا رو در شکل زیر میتونید ببینید.
علت تقسیم بر 2 : این تعداد پالس های محاسبه شده برای رفتن و برگشتن موج هستش و ما برای محاسبه فاطه تنها به زمان رفت(برگشت) نیاز داریم و نه زمان رفت و برگشت.
توجه : سرعت صوت در هوا 343.2 متر بر ثانیه هستش.(که در زیر برای سادگی من 340 قرار دادم ولی برای دقت بیشتر شما عدد اصلی رو قرار بدید.)
توجه : عکس زیر رو در کامپیوتر ذخیره کنید و  بعد نگاه کنید…اینجا اندازش رو کوچیک کردم تا تو صفحه جا بشه
SRF05

 

فرق ماژول SRF05 با SRF04

باید بگم که ماژول SRF05  نسخه جدید ماژول SRF04  هستش  و دقیقا مثل هم کار میکنن >>> فقط ماژول SRF04   پایه Out  رو نداره >>> یعنی ۴ تا پایه داره >>> لذا تو ماژول srf04  فقط یه مد داریم ( مثل مد ۱ ماژول srf05   هستش) و از مد دوم خبری نیست. >>> لذا این پروژه که من تو این مطلب گزاشتم هم برا srf05   کار میکنه و هم برا srf04
اون طوری که من خوندم تو سایتا انگار این srf05   یکم دقیق تر هستش.

ماژول SRF04

ماژول SRF05

ماژول SRF04 ماژول SRF05

 

پروژه التراسونیک با ماژول SRF05

همون طور که گفتم این پروژه برا ماژول های SRF05 و  SRF04 کار میکنه.

مدار پروژه
اینو باید بگم که پروژه تو پروتئوس کار نمیکنه و پروتئوس نمیتونه این ماژول رو شبیه سازی و اجرا کنه…..من این مدار رو تو پروتئوس درست کردم تا شما دوستان بهتر با نحوه اتصلات آشنا بشید و راحت تر مدارتون رو ببندید.
توجه توجه : اتصالات مدار همانند شکل زیر هستش…..در فایل پروتئوس(که ته مطلب گزاشتم) اتصالات اشتباه هستش……البته کد های پروژه مشکلی ندارن….
UntitledSDCSDC-117

کد های پروژه

 اینم یه عکس از پروژم که در عمل بستمش!!!
 پروژه و آموزش کار با ماژول فاصله سنج SRF05

 اینم فیلم پروژه>>فقط بازم شرمنده که چپولکی فیلم گرفتم>>> و این که در آخر فیلم (برای این که نشون بدم اگه جسمی تا فاصله ۴ متری جلوی ماژول نباشه>>>تو lcd چی نشون میده) مجبور شدم فقط از پروژم فیلم بگیرم و از محیط فیلم نگرفتم(آخه داشتم تو خونمون فیلم میگرفتم…..اگه میخواستم محیط رو حم نشون بدم باید کل خونه رو هم نشون میدادم.)

 

شبیه سازی ماژول التراسونیک SRF05 و SRF04 در پروتئوس

شبیه سازی ماژول التراسونیک SRF05 و SRF04 در پروتئوسشبیه سازی ماژول التراسونیک SRF05 و SRF04 در پروتئوس
این کتابخانه ماژول التراسونیک SRF05 و SRF04 برا پروتئوس رو میتونید از لینک زیر دانلود کنید و از حالت فشرده خارج کنید و بعد فایل BLOGEMBARCADO.LIB رو باید در مسیر زیر کپی کنید :
به محل نصب پروتوس برید و بعد به پوشه library برید و بعد فایل مد نظر رو در این جا کپی کنید، این مسیر برای سیستم من به صورت زیر هستش که حالا ممکن هستش با سیستم شما فرق داشته باشه یا یکسان باشه :
C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY
در ضمن همون طور که در عکس بالا میبینید بعد از قرار دادن ماژول Srf05 در صفحه شماتیک باید مقاومت متغییر POT-HG رو هم به این ماژول وصل کنید و به وسیله این مقاومت میتونید فاصله جسم تا ماژول رو تعیین کنید.
و بعد میرید تو پروتئوس و روی این ماژول دوباره کلیک کرده و آدرس فایل UltraSonicSensor.HEX رو بهش میدیم، عینا مثل همون دادن آدرس فایل HEX کدویژن به میکروکنترلرها.(طبق عکس زیر)
شبیه سازی ماژول در پروتئوس

شبیه سازی ماژول التراسونیک در پروتئوس

با تشکر از داش “Payam Jafary” که این کتابخونه رو برامون فرستاد. good در ضمن داخل فایل زیر یه پروژه با قابلیت شبیه سازی هم این داشمون قرار داده که اونم میتونید استفاده کنید و ببنیدش.






شبیه سازی ماژول فاصله سنج در پروتئوس – قطعه ی دوم

توجه : در پروتئوس نسخه 8.2 به بالا در کتابخونه Transducers یه قطعه با نام srf04 هستش که میتونید از این قطعه برای شبیه سازی ماژول های Srf04 و srf05 استفاده کنید که این قطعه کارش خیلی خیلی ساده تر و راحت تر از قطعه بالا هستش، در زیر عکس این قطعه در کتابخونه قطعات پروتئوس رو براتون قرار میدم.
توجه : عکس زیر رو در کامپیوتر ذخیره کنید و در اندازه اصلیش ببنیید(الان اندازش رو کوچیک ردم تا تو صفحه جا بشه)
شبیه سازی ماژول فاصله سنج در پروتئوس

در زیر لینک دانلود پروژه شبیه سازی این ماژول با هر دو ماژول فوق + شبیه سازی که در بالا(اول پروژه) عکسش رو گزاشتم + کد های پروژه + دیتاشیت این ماژول رو براتون قرار میدم :

 

هزینه مطلب : یه فاتحه هم برا کسایی که تازه از دنیا رفتن بخونید + دعا برای سلامتی رزمندگان اسلام و رهبر جهان اسلام ( اینا هزینه ای هست که شما بابت استفاده از این مطلب و پروژه باید بپردازید )

گروه پرسش و پاسخ الکترونیکی در سروش
مهدی دمیرچیلو جنگ ما فتح قدس را به همراه خواهد داشت. [ امام خمینی (ره) ]
ارسال دیدگاه
910

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

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

3) برای گزاشتن کدهاتون از این سایت استفاده کنید ( طبیعتا لینک کدتون رو باید برای من بفرستید! ) : debian

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

  1. Avatar

    مهمان

    امیر

    سلام خسته نباشید . اگه این برنامه رو بخوام با مگت 8 بنویسم چه تغییراتی لازمه؟

  2. Avatar

    مهمان

    یونس

    سلام من جدیدا آخرین ورژن کد ویژن رو نصب کردم وقتی با کد ویزارد یه مقدار از برنامه رو مینویسم کد های تولیدی رو به صورت هگز نمینویسه.
    مثلا بجای اینکه بنویسه 0X00
    مینویسه DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);

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

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

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

      سلام – خب این روش که بهتره – دقیقا میبینی مقدار هر بیت رو.

      • Avatar

        مهمان

        یونس

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

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

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

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

          خب با هگز بنویس / هر طور راحتی
          البته برا بحث رجیستر ها بیشتر این روش مناسب هستش. رجیستر هایی که هر بیتش یک نام مخصوص به خودش رو داره.

  3. Avatar

    مهمان

    علیرضا

    سلام مهندس مخلصم / مهندس برنامه تون کار نمیکنه شاید ماژول من خراب باشه

  4. Avatar

    مهمان

    امیر

    سلام داداش ۳تا سوال چرا ضرب ۲۵۶ شده بعد ۳۰۰۰۰۰ک نوشتین بیشتر نه ۳۰۰۰۰۰ ینی چند متر سوال سومم چرا یک رقم عشارش زیاد توی ال سی دی نشون میده

  5. Avatar

    مهمان

    مهدی

    چرا باید تو مد 1 پایه out بدون اتصال و تو مد 2 پایه echo بدون اتصال باشه؟ نقششون چیه پس؟

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

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

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

      احتمالا این پایه در خود ماژول پول آپ شده – فلذا در مد 1 نیازی نی به چیزی وصلش کنید – ولی در مد 2، باید به gnd وصلش کنید ( یه جورایی پایه جابجا شدن بین دو مد موجود هستش – حالا چرا اسمش out هستش نمیدونم! )

      • Avatar

        مهمان

        مهدی

        سلام
        خب چرا اصن گذاشتنش که پول اپش کنن؟ اطلاعی دارید که نقشش چیه اصن که نسبت به srf04 یه پایه بیشتر داره؟
        بعد نکته ای که جالبه اینه که هر دو پایه out و echo احتمالا پول اپ شدن ولی در یه مد میتونن به جای وصل نباشن و در یه مد به زمین باید وصل باشن.خب اخه چطور ممکنه؟

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

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

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

          طبق توضیحات توی مطلب و پاسخ قبلیم به شما – ماژول srf04 فقط دارای 1 مد هستش فلذا نیازی به پایه out نداره ولی ماژول srf05 که دو مد داره، پایه out رو هم داره.
          پایه out رو هم اگه gnd کنیم، به مد 2 میریم.

  6. Avatar

    مهمان

    افشین

    سلام لطفا اگر میشه توضیح بدید چطور میشه دو عدد سنسور التراسونیک رو برنامش رو نوشت. اگر امکانش هم هست کامل توضیح بدید و رو سایت قرار بدین ممنون

  7. Avatar

    مهمان

    امین

    سلام مهندس جان تشکر به خاطر مطالب خوبتون.من این مدار رو بستم ولی اعداد به صورت رندم روی صفحه دائم در حال تغییر هستش میشه راهنمایی کنید.فرکانس رو روی 8MHZ و ولتاژ پین ها 2.7 ولت هستش.

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

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

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

      سلام – فرکانس کدویژن + فرکانس میکرو از طریق فیوزبیت ها رو روی 8 میگ بزار ( یکبار هم روی 1 میگ تست کن )

  8. Avatar

    مهمان

    محبتی

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

  9. Avatar

    مهمان

    SISASIS

    سلام مرسی خیلی عالی بود فقط یه سوال لینک دانلود سایت خرابه
    و خیلی خوب میشود اگه مثال رسیدن به متراژ معینی LED روشن میشود

  10. Avatar

    مهمان

    نگار

    مطالبتون بسیار عالی …لطفا پروژه بادسنج و سرعت سنجم بذارید

  11. Avatar

    مهمان

    علیرضا

    ای کاش لطف میکردید آموزش سرعت سنج آلتراسونیک هم میذاشتید..

  12. Avatar

    مهمان

    عـــمــاد

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

  13. Avatar

    مهمان

    محمد

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

  14. Avatar

    مهمان

    امیر

    رگولاتوره رو ندیده بودم sarcastic
    درست شد

  15. Avatar

    مهمان

    امیر

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

    یه سوال منبع تغذیه رو با باتری دادین ؟ باتری کتابی 5 ولت؟

  16. Avatar

    مهمان

    عرفان

    واقعااااا دمتون گرم

  17. Avatar

    مهمان

    Amir

    ممنون

  18. Avatar

    مهمان

    علی

    سلام مهندس گل ممتون از سایت مفیدت
    سوال من اینه من برنامه زیر رو نوشتم که تعداد پالس های خروجی انکودر رو بشمارم…و روی ال سی دی نمایش بدم…برنامه ام درست کار میکنه و با اومدن پالس جدید عدد ال سی دی تغیر میکنه ک میفهمه پالس اومده منتهی اعدادم قاطی پاتیه اصلا ترتیب نداره…من میخوام دقیق از صفر شروع کنه به ترتیب…..

    {
    if(TCNT0 == 255)
    counter++;

    totalPulse=counter*256+TCNT0;

    sprintf(str,”AllPulse = %d”,totalPulse);
    lcd_puts(str);
    delay_ms(5);
    lcd_clear();
    }

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

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

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

      سلام-برا بحث سرریز شدن از وقفه استفاده کنید و متغییر فوق داخل وقفه فوق مقدارش ++ بشه – یکبار متن “AllPulse = ” رو نشون بدید – این متن که تغییر نمیکنه – فقط عدد که تغییر میکنه رو بیاید بزاریدش تو حلقه While – از lcd_clear استفاده نکنید – delay رو هم حذف کنید.

  19. Avatar

    مهمان

    علی

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

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

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

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

      سلام-شماتیک ماژول SRF05 رو ندارم – ماژولشو خودم طراحی نکردم – خریدمش به صورت آماده – تو نت باید سرچ کنید یا به دیتاشیت خود SRF05 مراجعه کنید.

  20. Avatar

    مهمان

    بهار

    عالی بود؛ ممنون good

  21. Avatar

    مهمان

    M0H$EN

    دمت گرم.خوب بود.باید یه برنامه بنویسیم دست خط تو انالیز کنه…. laugh

  22. Avatar

    مهمان

    Jafar

    دمت گرم خیلی کامل بود

    • Avatar

      مهمان

      H

      عالی بود داداش، کامل کامل، فقط مطمعنی میخای برای رهبر دعا کنیم؟ dash

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

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

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

        نوکریم، میخوای شما برا رضا شاه ( طویله دار انگلیسی ها ) دعا کن pardon – از کجا معلوم، شاید باهاش محشور بشی good laugh

  23. Avatar

    مهمان

    M

    با سلام
    لطفا برنامه پروزه ای که در اخر اضافه شده و یک LED داره رو هم بزارید
    با تشکر

  24. Avatar

    مهمان

    محمد رضا

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

  25. Avatar

    مهمان

    حسین دشتی

    واقعا غالی بود دمت گرم

  26. Avatar

    مهمان

    امین

    تشکر wink heart

  27. Avatar

    مهمان

    عسل بانو

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

    • Avatar

      مهمان

      وحید

      نمیشه و هر ولتاژِ که از gnd پایین تر باشه و به adc وصل شه صفر نشون داده میشه! البته مواظب باشید ولتاژ منفی میکرو رو خراب نکنه!
      در مورد ولتاژ بالاتر از ولتاژ مرجع هم چنین چیزی هست. هر ولتاژی بالاتر از ولتاژ مرجع به دستگاه داده بشه ماکسیمم عدد ممکن (255 یا 1023) رو نشون خواهد داد.
      راه حل سوال شما استفاده از مقایشه کننده انالوگ هست که بخشی از همین ADC هست. یکم تو اینترنت بگردید جوابشو پیدا می کنید!

  28. Avatar

    مهمان

    محمد مرصاد

    سلام آقا مهدی گل
    , خدا خیرت بدهد تا به حال از چندین موضوع مختلف از مطالبی که به اشتراک گذاشتید استفاده کردم این که شما دانش خودتان و نتیجه زحمات و خستگی هایتان را به اشتراک میگذارید نشان از قلب بزرگ شما و همت بلندتان دارد . heart heart
    با آرزوی سلامتی heart
    پیروز و سربلند باشید . hi

  29. Avatar

    مهمان

    احسان

    دمت گرم

  30. Avatar

    مهمان

    arash

    ببخشید میخواستم بدونم تو قطعه دوم پایه nc به کجا وصل میشه؟

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

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

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

      نمیدونم کدوم قطعه رو میگی ولی nc یعنی no connected
      به جایی وصل نمیشه

      • Avatar

        مهمان

        احسان

        ما تو خونه normaly closw صداش میکنیم smile

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

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

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

          برا رله حرف شما صحیح، برا آیسی ها حرف من صحیح.

  31. Avatar

    مهمان

    وحید

    سلام.
    اگه بخوام به این مدار led هفت رنگ نصب کنم، چطوری میشه رنگ led هفت رنگ رو به دلخواه با کد ویژن انتخاب کرد و ثابت کرد؟؟؟؟؟
    آیا با کد نویسی فرکانس led میشه رنگ رو انتخاب کرد؟؟ چطوری؟
    ممنون

  32. Avatar

    مهمان

    nobody

    سلام مرسی از مطالب پربارت و اینکه توضیحات و فایل هاتونو رایگان میزارید! victory

  33. Avatar

    مهمان

    علی

    تنظیمات قسمت زمانسنج رو بیشتر توضیح بدین search

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

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

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

      برا بحث اندازه گیری زمان از تایمر در مد نرمال باید استفاده کرد که آموزشش تو نت هستش “تایمر مد نرمال”

  34. Avatar

    مهمان

    حسن داور

    سلام و احترام
    ممنونم خیلی عالی بود
    امکان داره راهنماییم کنید بتونم در یک متراژ معلومی یک رله کنترل کنم.!؟
    تشکر

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

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

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

      سلام-بیشتر توضیح بدید – متراژ معمولی یعنی چقدر – با سیم – بیسیم – راهنماییی در چه قسمتی؟

  35. Avatar

    مهمان

    امیر کسری

    من یه مدار SRF05 بستم میکرو هم تنظیمات فیوزبیتش پیش فرضه و روی یک مگا هرتز تنظیم شده و کد زیر رو هم نوشتم ولی خروجی نمی گیرم !
    #include
    #include
    #include
    #include
    #include
    int timer;
    float d = 0.0;
    char str[20];
    interrupt [TIM0_OVF] void timer0_ovf_isr(void)
    {
    TCNT0=0;
    timer++;
    }
    void main(void)
    {
    PORTC=0x00;
    DDRC=0x01;
    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: 1000.000 kHz
    // Mode: Normal top=0xFF
    // OC0 output: Disconnected
    TCCR0=0x01;
    TCNT0=0x00;
    OCR0=0x00;
    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x01;
    lcd_init(16);
    #asm(“sei”)
    while (1)
    {
    PORTC.0=1;
    delay_us(20);
    PORTC.0=0;
    while(PINC.1==0){};
    timer=0;
    TCNT0=0;
    TCCR0=0x01;
    while(PINC.1 == 1){};
    TCCR0=0x00;
    if(timer*256.0+TCNT0>30000.0)
    {
    lcd_clear();
    lcd_gotoxy(0,0);
    lcd_puts(“No Contact. o_O”);
    }
    else
    {
    d=0;
    d=(timer*256.0+TCNT0)*.17;
    lcd_clear();
    lcd_gotoxy(0,0);
    lcd_puts(“Dis=”);
    lcd_gotoxy(5,0);
    ftoa(d,2,str);
    lcd_puts(str);
    lcd_gotoxy(13,0);
    lcd_puts(“cm”);
    delay_ms(200);
    }
    }
    }
    چه مانعی باشه و چه نباشه بین 5 تا 6 سانتی متر متغیره اصن ربطی به مانع نداره و رندوم می زنه

    • Avatar

      مهمان

      محمد مرصاد

      سلام باید فیوز بیت ها را روی 8 مگاهرتز داخلی پروگرم کنید تا به کار بیفتد محاسبات تایمر که دمیرچیلو انجام دادن بر مبنای 8 مگاهرتز انجام شده تایمر را مطالعه فرمایید

  36. Avatar

    مهمان

    sara

    سلام وقت بخیر….من فایلو دانلود کردم وقتی هم پروتِوس رو باز میکنم مشکلی نداره و ران میشه ولی وقتی کد هایی که توسایت قراردادینو تو کدویژن کپی میکنم و تو شبیه سازی ازش استفاده میکنم ،شبیه سازی کارنمیکنه…..امکانش هست خود فایل کدویژن رو واسم ایمیل کنید آخه تو فایل دانلودی نبود و واقعا بهش نیاز دارم

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

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

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

      سلام-کد پروژه داخل مطلب هستش.

      • Avatar

        مهمان

        امیر کسری

        من یه مدار SRF05 بستم میکرو هم تنظیمات فیزبیتش پیش فرضه و روی یک مگا هرتز تنظیم شده و کد زیر رو هم نوشتم ولی خروجی نمی گیرم ممنون میشم راهنماییم کنین
        #include
        #include
        #include
        #include
        #include
        int timer;
        float d = 0.0;
        char str[20];
        interrupt [TIM0_OVF] void timer0_ovf_isr(void)
        {
        TCNT0=0;
        timer++;
        }
        void main(void)
        {
        PORTC=0x00;
        DDRC=0x01;
        // Timer/Counter 0 initialization
        // Clock source: System Clock
        // Clock value: 1000.000 kHz
        // Mode: Normal top=0xFF
        // OC0 output: Disconnected
        TCCR0=0x01;
        TCNT0=0x00;
        OCR0=0x00;
        // Timer(s)/Counter(s) Interrupt(s) initialization
        TIMSK=0x01;
        lcd_init(16);
        #asm(“sei”)
        while (1)
        {
        PORTC.0=1;
        delay_us(20);
        PORTC.0=0;
        while(PINC.1==0){};
        timer=0;
        TCNT0=0;
        TCCR0=0x01;
        while(PINC.1 == 1){};
        TCCR0=0x00;
        if(timer*256.0+TCNT0>30000.0)
        {
        lcd_clear();
        lcd_gotoxy(0,0);
        lcd_puts(“No Contact. o_O”);
        }
        else
        {
        d=0;
        d=(timer*256.0+TCNT0)*.17;
        lcd_clear();
        lcd_gotoxy(0,0);
        lcd_puts(“Dis=”);
        lcd_gotoxy(5,0);
        ftoa(d,2,str);
        lcd_puts(str);
        lcd_gotoxy(13,0);
        lcd_puts(“cm”);
        delay_ms(200);
        }
        }
        }
        خروجی من هم چه مانعی باشه و چه نباشه بین 5 تا 6 سانتی متر متغیره اصن ربطی به مانع نداره و رندوم می زنه
        مشکل من از کجاست؟

  37. Avatar

    مهمان

    pedram

    سلام
    اولا سنسور تو آب هم کار می کنه>؟
    دوما واتر پروف ه؟

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

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

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

      نمیدونم.
      نه – اون که یه اسپریشو میزنی حل میشه ولی این که زیر آب جواب میده یا نه نمیدونم – ولی یه مدلشو دیدم مخصوص این کار بود – حالا چه فرقی داشت نیمدونم – بررسی نکردم. شاید همین بوده باشه و …

  38. Avatar

    مهمان

    مهدی

    سلام دوست عزیز بسیار ممنون از شما. خیلی عالی

  39. Avatar

    مهمان

    وحید

    سلام.خسته نباشی.
    میخواستم بپرسم برای تولید 5 ولت فقط رگولاتور 7805 کافیه و به میکرو آسیب نمیرسونه و نیازی به خازن و مدار اضافه نیست؟؟؟

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

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

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

      سلام
      دیتاشیت 7805 رو ببینید- مدار راه انداز براش هستش – یه سری خازن مقاومت هم بازی بزنی تنگ رگولاتور

      • Avatar

        مهمان

        وحید

        آخه شما تو عکسی که گذاشتین رگولاتور رو بدون مقاومت و خازن بستین! اینجوری هم حواب میده؟؟

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

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

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

          جواب دادنش جواب میده – من در حالت تست ( آزمایشگایی ) بستم تا مطلبشو بزارم تو سایت که اصل داستان کد بود – و نه مدار راه انداز.

  40. Avatar

    مهمان

    reza

    ممنون از شما داداش من از خسته شدم ازبس کامنت خوندم چه های داری جواب میدی دمت گرم buba good

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

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

      مهدی دمرچیلو

      بیکاری مگه نشستی نظراتو خوندی

  41. Avatar

    مهمان

    Reza

    شماتیک ای سی رو میدید چطور وصل ؟

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

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

      مهدی دمرچیلو

      متوجه نشدم.

  42. Avatar

    مهمان

    میلاد

    از چه رگولاتوری بعد از باتری کتابی استفاده کردید؟

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

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

      مهدی دمرچیلو

      7805

  43. Avatar

    مهمان

    reza

    می تونید تو پی وی کمک کنید؟

1 8 9 10