اطلاعیه

Collapse
No announcement yet.

ساخت فلاشر ساده قابل تنظیم

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

    ساخت فلاشر ساده قابل تنظیم

    سلام دوستان
    میخواستم یه فلاشر ساده بسازم بطوریکه
    یک LED داره چشمک میزنه و سرعت چشمک زدنش هم با یک ولوم تنظیم میشه
    همین
    چیز خاصه دیگه ای هم نداره
    میخوام با بسکام برنامش رو بنویسم میکرو مورد نظرم هم mega8 هستش
    به ذهنم رسید که با ADC مقدار ولوم رو بخونم و بریزمش توی یک متغیر
    ولی بیشتر از این رو دیگه متاسفانه بلد نیستم
    ممنون میشم راهنمایی کنید

    #2
    پاسخ : ساخت فلاشر ساده قابل تنظیم

    همون مقدار خونده شده رو بایک نسبت پایینتر داخل رجیستر pwm بریز و تمام!!

    دیدگاه


      #3
      پاسخ : ساخت فلاشر ساده قابل تنظیم

      نوشته اصلی توسط Soheil74 نمایش پست ها
      سلام دوستان
      میخواستم یه فلاشر ساده بسازم بطوریکه
      یک LED داره چشمک میزنه و سرعت چشمک زدنش هم با یک ولوم تنظیم میشه
      همین
      چیز خاصه دیگه ای هم نداره
      میخوام با بسکام برنامش رو بنویسم میکرو مورد نظرم هم mega8 هستش
      به ذهنم رسید که با ADC مقدار ولوم رو بخونم و بریزمش توی یک متغیر
      ولی بیشتر از این رو دیگه متاسفانه بلد نیستم
      ممنون میشم راهنمایی کنید
      با سلام
      دوست عزیز ساده ترین روش همین روشی هست که خودتون اشاره کردین یعنی مقدار ولوم رو بخونین بریزین داخل یه متغیر بعد بیاین بجای اینکه تو دستور wait زمان ثابت تاخیربر حسب ثانیه یا میلی ثانیه تعریف کنین بیاین بنویسین مثلا wait a اینجا منظور از a همان متغیری هست که مقدار ولوم داخل ان قرار میگیره در این صورت تاخیر قطع و وصل یک پین بسته به مقدار ولوم خواهد بود

      دیدگاه


        #4
        پاسخ : ساخت فلاشر ساده قابل تنظیم

        این کار میکرو نمیخاد،با ترانزیستور بدون دردسر ساخته میشه
        توی اینترنت سرچ کن مدار چشمکزن ترانزیستوری
        جدیدترین ویرایش توسط hamid.ch; ۱۸:۴۶ ۱۳۹۵/۰۵/۱۳.

        دیدگاه


          #5
          پاسخ : ساخت فلاشر ساده قابل تنظیم

          ممنون از همه دوستان.کار انجام شد
          حالا میخوام بدونم چطور میتونم با PWM شدت نور همون ال ای دی چشمک زن رو کم و زیاد کنم؟

          دیدگاه


            #6
            پاسخ : ساخت فلاشر ساده قابل تنظیم

            #include <mega16.h>
            #include <delay.h>

            void main(void)
            {
            int x=150;

            DDRD=0XFF;//تعیین پایه های مقابل ب عنوان خروجی OCR1A-OCR1B

            // Timer/Counter 1 initialization
            // Clock source: System Clock _ f/256
            // Clear OCR1A/PCR1B on compare match,Set OCR1A/PCR1B at TOP
            // Mode: FAST PWM _ TOP=OCR1A
            TCCR1A=0xA3;
            TCCR1B=0x04;
            TCNT1=0x00;//محتوای ۱۶ بیتی تایمر کانتر درش ذخیره میشه
            OCR1A=0x00;//مبنای مقایسه رو در مد مقابل تعیین میکند PWM
            OCR1B=0x00;//مبنای مقایسه رو در مد مقابل تعیین میکند PWM
            TIMSK=0x00;// Timer(s)/Counter(s) Interrupt(s) initialization
            TIFR=0x00;


            while (1)
            {
            for(x=0;x<=1023;x++)
            {
            OCR1A=x;
            delay_ms(3);
            }

            for(x=1023;x>=0;x--)
            {
            OCR1A=x;
            delay_ms(3);
            }
            };
            }

            کپی از این سایت http://dmf313.ir/%D9%BE%D8%B1%D9%88%...%A8%D8%A7-pwm/

            دیدگاه


              #7
              پاسخ : ساخت فلاشر ساده قابل تنظیم

              نوشته اصلی توسط hamid.ch نمایش پست ها
              #include <mega16.h>
              #include <delay.h>

              void main(void)
              {
              int x=150;

              DDRD=0XFF;//تعیین پایه های مقابل ب عنوان خروجی OCR1A-OCR1B

              // Timer/Counter 1 initialization
              // Clock source: System Clock _ f/256
              // Clear OCR1A/PCR1B on compare match,Set OCR1A/PCR1B at TOP
              // Mode: FAST PWM _ TOP=OCR1A
              TCCR1A=0xA3;
              TCCR1B=0x04;
              TCNT1=0x00;//محتوای ۱۶ بیتی تایمر کانتر درش ذخیره میشه
              OCR1A=0x00;//مبنای مقایسه رو در مد مقابل تعیین میکند PWM
              OCR1B=0x00;//مبنای مقایسه رو در مد مقابل تعیین میکند PWM
              TIMSK=0x00;// Timer(s)/Counter(s) Interrupt(s) initialization
              TIFR=0x00;


              while (1)
              {
              for(x=0;x<=1023;x++)
              {
              OCR1A=x;
              delay_ms(3);
              }

              for(x=1023;x>=0;x--)
              {
              OCR1A=x;
              delay_ms(3);
              }
              };
              }

              کپی از این سایت http://dmf313.ir/%D9%BE%D8%B1%D9%88%...%A8%D8%A7-pwm/

              ممنون از شما دوست عزیز
              فقط من با بسکام کار میکنم.از کدویژن سر در نمیارم متاسفانه

              دیدگاه


                #8
                پاسخ : ساخت فلاشر ساده قابل تنظیم

                یک متغیر تعریف میکنی مثل x که از 0 تا 1023 تغییر میکنه یک واحد یک واحد
                تایمر یک رو در مد pwm تعریف میکنی
                ocr1a رو که نشان دهنده زمان هر سیکل هست رو برابر x قرار میدی

                دیدگاه

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