فهرست بستن

چهارمین پروژه: روشن و خاموش کردن LED با کلید(ver2)

روشن خاموش کردن چراغ led با کلید

پروژه: روشن و خاموش کردن LED با کلید (Pull-Down) با ATmega32

در این پروژه، با استفاده از میکروکنترلر ATmega32، دو LED را با استفاده از یک کلید که به صورت Pull-Down متصل شده است، روشن و خاموش خواهیم کرد. در این پروژه، با فشار دادن کلید، LEDها روشن یا خاموش می‌شوند. این پروژه به شما کمک می‌کند تا با نحوه کار با ورودی‌ها و خروجی‌ها در میکروکنترلرها و همچنین استفاده از مقاومت Pull-Down برای جلوگیری از نوسانات ورودی‌ها آشنا شوید.

موارد مورد نیاز:
– میکروکنترلر ATmega32
2 LED
کلید Push Button
مقاومت 10 کیلو اهم (برای کلید به عنوان Pull-Down)
– برد بورد و سیم‌های اتصال

در این پروژه، کلید به صورت Pull-Downبه پایه ورودی میکروکنترلر متصل می‌شود و با فشار دادن آن، وضعیت LEDها تغییر می‌کند. با استفاده از میکروکنترلر ATmega32، می‌توانید کنترل دقیقی بر روی وضعیت LEDها داشته باشید و این پروژه می‌تواند مبنای یادگیری نحوه تعامل با ورودی‌های دیجیتال و خروجی‌های LED در میکروکنترلر باشد.

				
					#include <mega32.h>
#include <delay.h>

int shahin = 0;

void main(void)
{
    DDRA.0 = 0;
    DDRB.0 = 1;DDRB.7 = 1;
    while (1)
        {
            if (PINA.0 == 1 && shahin == 0 ){PORTB.0 = ~PORTB.0;  shahin = 1;}
            if (PINA.0 == 0 && shahin == 1 ){  shahin = 0;} 
            PORTB.7 = ~PORTB.7;
            delay_ms(100);
        }
    
}

				
			

این کد برای کنترل دو LED با استفاده از یک کلید نوشته شده است. در اینجا، LED متصل به پورت B0 با فشردن کلید متصل به پورت A0 روشن و خاموش می‌شود و LED دیگر متصل به پورت B7 به صورت چشمک زن با تاخیر 100 میلی‌ثانیه روشن و خاموش می‌شود. در این کد از متغیر `shahin` برای پیگیری وضعیت کلید استفاده می‌شود. وقتی کلید فشرده می‌شود، LED اول تغییر وضعیت می‌دهد و پس از رها کردن کلید، وضعیت متغیر `shahin` به حالت اولیه برمی‌گردد. برخلاف کد قبلی، این کد در حلقه اصلی گیر نمی‌کند، زیرا با استفاده از وضعیت متغیر `shahin`، برنامه می‌تواند به طور مداوم به سایر عملیات‌ها (مثل چشمک زدن LED دوم) پرداخته و از مسدود شدن کد جلوگیری کند. برای بهبود بیشتر، می‌توان از تکنیک‌های پیشرفته‌تری مانند وقفه‌ها برای کنترل بهتر وضعیت کلید استفاده کرد.

دیدگاهتان را بنویسید

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