فلاشر افکت دار با Attiny13 در کدویژن

  • ۲۳۸ بازدید

قبلا در این نوشته با برنامه نویسی در محیط کدویژن (اتمل استودیو) و شبیه سازی در نرم افزار پروتئوس آشنا شدیم. در این مقاله 4 کد برای میکروکنترل AVR از نوع Attiny13 را در محیط نرم افزار کدویژن نوشته ایم و در پروتئوس تست کرده ایم. در پایان می توانید کدهای این پروژه ها را دانلود کنید. همانطور که قبلا گفته شد آشنایی مختصری با زبان برنامه نویسی C می تواند کمک زیادی به درک نحوه عملکرد این برنامه ها بکند.

LED چشمک زن

در این پروژه با اتصال یک ال ای دی به میکروکنترل Attiny13 شروع به چشمک زدن می کند.

while (1)
      {
      // Place your code here
      PORTB.0=0;//led off
      delay_ms(500);//0.5 second delay     
      PORTB.0=1;//led on
      delay_ms(500);//0.5 second delay
      }
}

RGB LED چشمک زن

با اتصال یک RGB LED به Attiny13 سه رنگ قرمز و آبی و سبز شروع به چشمک زدن می کند. پایه مشترک به زمین متصل می شوند و 3 پایه دیگر به پایه های Attiny13 متصل می شود.

while (1)
      {
      // Place your code here 
      //100  4
      //010  2
      //001  1
      PORTB=4;
      delay_ms(200);  
      PORTB=2;
      delay_ms(200);
      PORTB=1; 
      delay_ms(200);
      }
}

اتصال 5 ال ای دی چشمک زن

در اینجا 5 ال ای دی به میکروکنترلر متصل شده است که به صورت چرخشی خاموش و روشن می شوند.

while (1)
      {
      // Place your code here
      //10000   10
      //01000   8                                          
      //00100   4
      //00010   2  
      //00001   1
      int i;
      PORTB=0x1;
      for(i=0;i<5;i++){
        delay_ms(200); 
        PORTB<<=1; 
      }
      }
}

Fading LED

در این پروژه با اتصال یک LED به Attiny13 به تدریج خاموش و روشن می شود.

while (1)
      {
      //fading in 1 second 
      float c=30; 
      int i,a,b;
      // Fade-in
      for (i = 0; i < c; i++) {
            a=(float)i*(40.0/c);
            b=40-a;
            PORTB.0=1;          
            delay_ms(a);  
            PORTB.0=0; 
            delay_ms(b);           
      }     
      // Fade-out
      for (i = c; i > 0; i--) {
            a=(float)i*(40.0/c);
            b=40-a;
            PORTB.0=1;          
            delay_ms(a);  
            PORTB.0=0; 
            delay_ms(b);           
      }
      }
}

کدهای پروژه های بالا را می توانید از اینجا دانلود کنید.

در همین رابطه: