دماسنج و ترموستات با PIC و سنسور DS18B20

دماسنج و ترموستات با PIC و سنسور DS18B20

پروژه ای ساده ولی کاربردی ، در این پروژه از سنسور DS18B20  که با پرتکل 1wire  با میکرو کنترلر ارتباط برقرار می کند استفاده شده است . میکرو دما را دریافت و روی 3تا 7 سگمنت نمایش می دهد . و همچنین قابلیت تنظیم برای روشن شدن رله را دارد وقتی دما از حد تنظیم به پایین می آید رله عمل می کند….

شماتیک پروژه

termometre-devre-semasi-proteus-isis-ds18b20

عکس هایی از پروژه

برای تنظیم دما برای قطع و وصل رله روی شستی Set فشار دهید و با شستی های YKR و ASG  بالا و پاین بروید تا دمای ترموستات  را تنظیم کنید .

دانلود فایل های پروژه

ترموستات دیجیتال با AVR

مدار ترموستات با 4 سنسور و 4 رله

منبع : 320volt

کپی برداری از نوشته ها فقط با لینک دادن به میکرو دیزاینر الکترونیک melec.ir مجاز می باشد .

این نوشته را با دوستانتان در تلگرام به اشتراک بگذارید :
حتما در ادامه این مطلب را هم بخوانید:  منبع تغذیه سوئیچینگ DC به DC با رنج 0-30 ولت 3 آمپر دیجیتال

⁩لینک گروه پرسش و پاسخ مهندسان الکترونیک http://bit.ly/2oLHpZM

درباره ی جهاندیده

با سلام درود به شما که مطالب سایت خودتان را مطالعه می کنید امیدوارم مطالب سایت برایتان مفید باشد و باعث پیشرفت روز افزون شما شود. دوران راهنمایی در کار منتاژ کیت های الکترونیکی بودم تا رفتم هنرستان ^_^ دو سال هنرستان الکترونیک خیلی زود گذشت خیلی چیزها یاد گرفتم ! چهار ترم کاردانی الکترونیک در دانشکده فنی انقلاب تهران ! چهار ترم کارشناسی ICT گرایش بهره برداری از سیستم های مخابراتی در دانشکده فنی شهید شمسی پور تهران پر از تجربه بود :) و الانم فقط دوست دارم چیزایی را که می دونم را به اشتراک بگذارم :)

9 دیدگاه

  1. ممنون ولی ای کاش این پروژه با AVR بود

  2. مرسی!
    نمیشه خروجی برق و منفی سون سگمنت عوض بشه؟
    اون سه تا ترانزیستور برق بده به سون سگمنت ایسی منفی بده!

  3. سلام
    من مدار ترموستات راباپروتئوس بستم ولی اصلا کارنمیکنه
    لطفامدارات را خودتان چک کنید

  4. سلام
    اگر بخوام این برنامه رو روی 4550 یا 452 پروگرام کنم باید چیکار کنم؟من فقط با سی18 بلدم کار کنم!

  5. سلام و ممنون از سایت خوبتون…من با کدویژن کار میکنم و میخواستم بپرسم چطوری میتونم عدد سنسور رو بدون ممیز روی دو سون سگمنت کاتد مشترک نشون بدم؟
    اگه ممکنه راهنماییم کنید ممنون….
    اینم کدی ک نوشتم ولی جواب نمیده و فقط ی سگمنت روشن میمونه:

    unsigned char seg[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
    float _x;
    int x=0;
    int b=0;
    void main(void)
    {
    DDRB=0xff;
    DDRD=0xff;
    PORTD.0=1;
    PORTD.1=1;

    while (1)
    {
    _x=ds18b20_temperature(0);
    delay_ms(750);
    x=_x;
    b=x/10;
    x=x-(b*10);

    PORTB=seg[x];
    PORTD.0=1;
    delay_ms(5);
    PORTD.1=0;
    delay_ms(5);

    PORTB=seg[b];
    PORTD.0=0;
    delay_ms(5);
    PORTD.1=1;
    delay_ms(5);

    }
    }

    • با سلام . اصول کلی اینه که عدد را در 10 تقسیم میکنی و عدد را در یک متغییر و باقیمانده را در یک متغییر دیگر میریزی و میذاری روی سون سگمنت.
      x عدد ما باشه و فرض کنیم 1.2 هست
      i=x/10
      f=x%10
      و بعد i , f را روی ال سی دی نشون میدیم.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *