اطلاعیه

Collapse
No announcement yet.

راه اندازی رله + وصل کردن کلید به میکرو + سورس کد

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    راه اندازی رله + وصل کردن کلید به میکرو + سورس کد

    با کمک یه سری از بچه های این انجمن و مطالب مفید موجود در این انجمن و اینترنت تونستم یه سری چیزها یاد بگیرم و این هم یه پروژه کامل برای اکواریوم
    این پروژه رو ساختم و الان داره به صورت کامل کار می کنه ( فعلا )
    در این برنامه از سه کلید استفاده کردم برای تنظیم ساعت ودقیقه و یک کلید هم برای روشن کردن مداوم مدار

    البته این برنامه رو تنظیم کردم که از صبح ساعت 9 مدار کار می کنه و به اعزای هر 25 دقیقه ( 0تا5 و 30 تا 35 دقیق ) یک رله رو وصل می کنه

    اطلاعاتی که می تونید از این پروژه کسب کنید
    1- وصل کردن کلید به میکرو
    2- کار با تایمر و ساعت

    عکس از محیط برنامه در پروتوس :

    دانلود سورس کد برنامه + فایل شبیه سازی شده آن با پروتوس

    http://uplod.ir/x33inzfmg8hm/akvariom.rar.htm

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

    سورس کد برنامه :

    کد:
    #include <mega8.h>
    #include <delay.h>
    
    #define key_h PINB.3
    #define key_m PINB.1
    #define key_s PINB.2
    
    #define led_key PORTB.4
    #define led_time PORTD.0
    
    #define relay1 PORTB.0
    
    unsigned char h,m,s,i;
    
    void stop(void)
    {
    i=0;
    led_key=0;
    relay1=0;
    }
    
    interrupt [TIM2_OVF] void timer2_ovf_isr(void)
    {
    if(s==59)
      {
        s=0;
        if(m==59)
          {
           m=0;
           h++;
           if(h==24)h=0; 
          }
        else
          m++;
      }
    else
      s++;
    
    led_time=~led_time;
    
    if(i==0)
    {
      if(((h>8)&(h<14)|(h>15)&(h<22)))
        { 
          if((m>0)&(m<=5)|(m>30)&(m<=35))
            {
              relay1=1;        
            }
          else relay1=0;
        }
      else relay1=0;  
    }
    }
    
    
    void main(void)
    {
    i=0;
    h=0;
    m=0;
    s=0;
    ASSR=0x08;
    TCCR2=0x05;
    TCNT2=0x00;
    OCR2=0x00; 
    ACSR=0x80;
    DDRB.0=1;
    
    DDRB.1=0;
    DDRB.2=0;
    DDRB.3=0;
    
    DDRB.4=1;
    DDRD.0=1;
    
    PORTB.1=1;
    PORTB.2=1;
    PORTB.3=1;
    
    // Global enable interrupts
    #asm("sei")
    
    while (1)
       {
         if(key_h==0)
          {
            stop();
            led_key=1;
            while(key_h==0);        
            delay_ms(10);
            h++;
            if(h==24)h=0;
            led_key=0;
          }
         else if(key_m==0)
          {
            stop();
            led_key=1;        
            while(key_m==0);
            delay_ms(10);
            m++;
            if(m==60)m=0;
            led_key=0;
          }
         else if(key_s==0)
          {
            while(key_s==0);
            delay_ms(10);
            if(i==0)
              {
                i=1;
                led_key=1;
                relay1=1;
              }
            else
              {
                stop();
              }          
            
          }
       }
    }

    باز اینجا از تمام کسانی که راهنماییم کردن ممنون هستم

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

    #2
    پاسخ : راه اندازی رله + وصل کردن کلید به میکرو + سورس کد

    سلام من از خروجی atmega8 میخوام یک زنگ مدرسه با مشخصات زیر فعال کنم 220v و 18w میخواستم بدونم جریانی که این زنگ میکشه 12.22A هست دیگه درسته؟ من یک رله 5 ولت 3 آمپر دارم که فکر کنم اگه از این رله واسه این زنگ مدرسه استفاده کنم رله آسیب ببینه_حالا رله 5ولت حداقل 13 آمپر که تو بازار فکر نکنم باشه میخواستم بدونم چطوری میشه 5ولت میکرو رو به ولتاژی تبدیل کرد که رله ی حداقل 13 آمپرش تو بازار موجود باشه _ چطوری باید همچین مداری رو درست کرد _ بیزحمت مداره عملیشو بذارید که کاملا عملی باشه_خیلی ممنون_مرسیییییییییییییییییی
    ندانستن عیب نیست نپرسیدن عیب است.

    دیدگاه


      #3
      پاسخ : راه اندازی رله + وصل کردن کلید به میکرو + سورس کد

      نوشته اصلی توسط hzohani
      سلام من از خروجی atmega8 میخوام یک زنگ مدرسه با مشخصات زیر فعال کنم 220v و 18w میخواستم بدونم جریانی که این زنگ میکشه 12.22A هست دیگه درسته؟ من یک رله 5 ولت 3 آمپر دارم که فکر کنم اگه از این رله واسه این زنگ مدرسه استفاده کنم رله آسیب ببینه_حالا رله 5ولت حداقل 13 آمپر که تو بازار فکر نکنم باشه میخواستم بدونم چطوری میشه 5ولت میکرو رو به ولتاژی تبدیل کرد که رله ی حداقل 13 آمپرش تو بازار موجود باشه _ چطوری باید همچین مداری رو درست کرد _ بیزحمت مداره عملیشو بذارید که کاملا عملی باشه_خیلی ممنون_مرسیییییییییییییییییی
      12 آمپر توی 220 ولت میدونید یعنی چی ؟ :angry:
      اشتباه محاسبه کردید 18 رو تقسیم بر 220 کنید . نه 220 رو به 18
      :bye

      دیدگاه


        #4
        پاسخ : راه اندازی رله + وصل کردن کلید به میکرو + سورس کد

        نوشته اصلی توسط tofan8
        12 آمپر توی 220 ولت میدونید یعنی چی ؟ :angry:
        اشتباه محاسبه کردید 18 رو تقسیم بر 220 کنید . نه 220 رو به 18
        :bye
        :biggrin: :biggrin: :biggrin: :biggrin:_ای بابا چرا عصبانی میشی خو _ بیسوادم دیگه :biggrin: _ اصلا حواسم نبود _ حق با شماست که میشه 81mA _مرسی :bye
        ندانستن عیب نیست نپرسیدن عیب است.

        دیدگاه

        لطفا صبر کنید...
        X