اطلاعیه

Collapse
No announcement yet.

ولوم برای افزایش یا کاهش سرعت

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

    ولوم برای افزایش یا کاهش سرعت

    با سلام
    من تابلو ثابت کار میکنم
    میخام برای فلاشر هام که با میکرو اتمگا8 میبندم یه ولوم بزارم که سرعت اجرای افکتها رو کم و زیاد کنم ایا شدنیه اگه میشه تو برنامه نویسی و سخت افزار چه چیزایی باید لحاظ بشه ؟؟؟؟؟؟

    #2
    پاسخ : ولوم برای افزایش یا کاهش سرعت

    سلام
    بله میشه و قطعاتی که اضافه میشه یه پتانسیومتر و قطعات تغذیه مبدل adc میکروکنترلره. برنامه نویسی هم کمک خواستی در خدمتم.
    چرا ناراحتی پاتریک!
    + امروز ی بچه دیدم سرچهارراه گل میفروخت
    - از دیدنش ناراحت شدی؟
    + نه
    پس چی ناراحتت کرده
    + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
    ------------------------------------------------------------------------------------------------------
    تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
    ------------------------------------------------------------------------------------------------------
    محصولات

    دیدگاه


      #3
      پاسخ : ولوم برای افزایش یا کاهش سرعت

      سلام تاخیر های برنامتو باید وابسته به مقدار ولتاژ دریافتی از ولوم برابر قرار بدی

      دیدگاه


        #4
        پاسخ : ولوم برای افزایش یا کاهش سرعت

        میشه یه مثال برام بزنید برنامه شو میگم

        دیدگاه


          #5
          پاسخ : ولوم برای افزایش یا کاهش سرعت

          ببین میذاری:
          کد:
           Waitms a
          حالا این متغیر a رو با استفاده از ADC بدست میاری! چطور؟
          کد:
           b = getadc(0)
          که مقدار adc کانال 0 رو برمیگردونه!
          حالا با محاسباتی که انجام میدی در یه مقداری ضربش میکنی و میریزی توی a

          «پشتکار» «پشتکار» «پشتکار»

          دیدگاه


            #6
            پاسخ : ولوم برای افزایش یا کاهش سرعت

            DIM A AS WORD
            DO
            PORTD=0
            A=GETADC(0)
            WAITMS A
            PORTD=255
            A=GETADC(0)
            WAITMS A
            LOOP

            دیدگاه


              #7
              پاسخ : ولوم برای افزایش یا کاهش سرعت

              نوشته اصلی توسط کنجکاو!
              ببین میذاری:
              کد:
               Waitms a
              حالا این متغیر a رو با استفاده از ADC بدست میاری! چطور؟
              کد:
               b = getadc(0)
              که مقدار adc کانال 0 رو برمیگردونه!
              حالا با محاسباتی که انجام میدی در یه مقداری ضربش میکنی و میریزی توی a
              دوستان میشه یه نمونه برنامه کامل شده شو برام بزارین برای پتانسیمو متر چندا هم باید بزارم به کدوم پایه هادی میکرو وصل میشن ؟c0 یا c1c2 c3متشکرم

              دیدگاه


                #8
                پاسخ : ولوم برای افزایش یا کاهش سرعت

                نبود اقا گیریم یکی به ما برسه ؟؟ :wow: :wow: :wow: :wow: :cry2: :cry2:

                دیدگاه


                  #9
                  پاسخ : ولوم برای افزایش یا کاهش سرعت

                  در مورد پتانسیومتر یک پتانسیومتر 1k به بالا مناسبه و دو سر کناری رو به مثبت منفی بده و سر وسط رو به پایه مبدل آنالوگ به دیجیتال میکرو
                  اگه از atmega16 استفاده میکنی پورت C ورودیهای آنالوگ به دیجیتال میشه مثلا portc.0 lمیشه ADC0 و portc.1 میشه adc1 و وقتی شما سر وسط پتانسیومتر رو مثلا به portc.0 وصل میکنید. باید توی برنامه موقع خواندن از مبدل آنالوگ به دیجیتال شماره اون کانالو بنویسید یعنی بصورت زیر
                  x=getadc(0)
                  c=a*X+b
                  waitms c

                  که در اینجا منظورم از a و b یک ضرایبی برای اصلاح محدوده تغییرات زمانی به محدوده مورد نظره .
                  در ضمن لطفا به دو دلیل تقاضای برنامه کامل نکنید. 1- هدف این انجمن کمک و راهنماییه به همدیگر و خود فرد هم باید درگیر کار بشه 2- در اکثر موارد قسمتی از یک پروژه مطرح میشه و فرد راهنمایی کننده عملا نمیتونه یک راهنمایی کامل و جامع ارائه بده
                  مهم نیست چه مدرکى دارید
                  مهم این است که چه درکى دارید . . .

                  دیدگاه


                    #10
                    پاسخ : ولوم برای افزایش یا کاهش سرعت

                    مهنس این برنامه رو با کمک دوستان ردیف کزدم ولی زمان تاخیر با چرخوندن ولوم تو اون محدودهای که میخام نیست یعنی میخام سرعتش بیشتر بشه
                    در ظمن این کدرو ارور میده بسکام توی اون جمع تفریق ظرب مشکل داره ولی بدون اون جمع تفریق یعنی متغیر adcرو مستقیم توی ویت میزارم کار میکنه ؟ متشکرم
                    کد:
                        $regfile = "M8DEF.DAT"
                    $crystal = 4000000
                    Config Portd = Output
                    Config Adc = Single , Prescaler = Auto
                    
                    
                    Dim A As Word
                    Dim D As Word
                     Const B = 100
                     Const C = 50
                    
                    
                    DO
                    Portd.0 = 0
                    Portd.1 = 1
                    A = Getadc(0)
                    D = A * B + C
                    
                    Waitms D
                    Portd.0 = 1
                    Portd.1 = 0
                    
                    A=GETADC(0)
                    WAITMS A
                    Loop
                    این انجمن نمیشه فایل ضمیمیه کرد؟

                    دیدگاه


                      #11
                      پاسخ : ولوم برای افزایش یا کاهش سرعت

                      سلام ببخشید من حواسم به این محدودیت بسکام نبود
                      در بسکام دو تا عمل با هم انجام نمیشه یعنی اول فقط ضرب بعد جمع
                      یعنی بدین صورت
                      D=A*B
                      D=D+C
                      اینطوری درست میشه.
                      عدد خروجی مبدل ADC بین 0 تا 1023 هست شما مثلا با ضریب قسمت ضرب و ثابت عددی قسمت جمع میتونید محدوده رو تغییر بدید
                      یه مسئله ریاضی خیلی سادست. مثلا اگر ضریب ضرب رو 0.5 و ثابت عددی جمع رو 200 قرار بدیم محدوده تغییرات میشه 200 تا 700 میلی ثانیه تاخیر
                      مهم نیست چه مدرکى دارید
                      مهم این است که چه درکى دارید . . .

                      دیدگاه


                        #12
                        پاسخ : ولوم برای افزایش یا کاهش سرعت

                        نوشته اصلی توسط میثم عزیزی
                        سلام ببخشید من حواسم به این محدودیت بسکام نبود
                        در بسکام دو تا عمل با هم انجام نمیشه یعنی اول فقط ضرب بعد جمع
                        یعنی بدین صورت
                        D=A*B
                        D=D+C
                        اینطوری درست میشه.
                        عدد خروجی مبدل ADC بین 0 تا 1023 هست شما مثلا با ضریب قسمت ضرب و ثابت عددی قسمت جمع میتونید محدوده رو تغییر بدید
                        یه مسئله ریاضی خیلی سادست. مثلا اگر ضریب ضرب رو 0.5 و ثابت عددی جمع رو 200 قرار بدیم محدوده تغییرات میشه 200 تا 700 میلی ثانیه تاخیر
                        مهندس اینو اینجوری اصلاح کردم ولی موقع اجرا تو پروتئوس با کم و زیاد کردن ولوم تغییری نمیکنه گیرش کجاست فایل شبیه ساز با سورس بسکامشو اپ کردم ببینید متشکرم
                        http://lednama23.persiangig.com/document/volom.rar
                        کد:
                             $regfile = "M8DEF.DAT"
                        $crystal = 4000000
                        Config Portd = Output
                        Config Adc = Single , Prescaler = Auto
                        
                        
                        Dim A As Byte
                        Dim B As Byte
                        Dim E As Byte
                            Const C = 0.5
                            Const D = 200
                        
                        Do
                        Start Adc
                        
                        Portd.0 = 0
                        Portd.1 = 1
                        A = Getadc(0)
                         B = A * C
                         E = B + D
                        
                        Waitms E
                        Portd.0 = 1
                        Portd.1 = 0
                        
                        A = Getadc(0)
                        
                         B = A * C
                         E = B + D
                        
                        
                        Waitms E
                        Loop

                        دیدگاه


                          #13
                          پاسخ : ولوم برای افزایش یا کاهش سرعت

                          متغیرها رو byte در نظر گرفتی دوست عزیز باید نوع متغیر رو word بگیری چون مقدار داخل اونها بیش از 255 میشه
                          در ضمن متغیری که مقدار adc داخلش ریخته میشه حتما باید از نوع word باشه.
                          مهم نیست چه مدرکى دارید
                          مهم این است که چه درکى دارید . . .

                          دیدگاه


                            #14
                            پاسخ : ولوم برای افزایش یا کاهش سرعت

                            کد:
                                    $regfile = "M8DEF.DAT"
                            $crystal = 4000000
                            Config Portd = Output
                            Config Adc = Single , Prescaler = Auto
                            Config Lcd = 16 * 2
                            Config Lcdpin = Pin , Db4 = Pinb.2 , Db5 = Pinb.3 , Db6 = Pinb.4 , Db7 = Pinb.5 , E = Pinb.1 , Rs = Pinb.0
                            
                            
                            Dim A As Word
                            Dim B As Word
                            Dim C As Word
                            Set Portd.0
                            Reset Portd.1
                            Start Adc
                            
                            Do
                            
                            Toggle Portd.0
                            Toggle Portd.1
                            
                            A = Getadc(0)
                            B = A / 2
                            C = B + 200
                            Locate 1 , 1 : Lcd "A:" ; A ; " B:" ; B ; " "
                            Locate 2 , 1 : Lcd "C:" ; C ; " "
                            Waitms C
                            
                            Loop
                            کد اصلاح شده شما میباشد .
                            شما میتوانید با کم و زیاد کردن مقدار ولوم میزان سرعت چشمک زدن را کم و یا زیاد نمایید .
                            با تشکر
                            خواستن توانستن است !

                            دیدگاه


                              #15
                              پاسخ : ولوم برای افزایش یا کاهش سرعت

                              ممنونم از تمام دوستان این کدو زدم مشکلم حل شد تغییر چشمک زدن هم تو اون محدودهای که میخام هست
                              کد:
                                     $regfile = "M8DEF.DAT"
                              $crystal = 4000000
                              Config Portd = Output
                              Config Adc = Single , Prescaler = Auto
                              
                              
                              Dim A As Word
                              Dim B As Word
                              Dim E As Word
                                  Const C = 10
                                  Const D = 12
                              
                              Do
                              Start Adc
                              Enable Adc
                              
                              Portd.0 = 0
                              Portd.1 = 1
                              A = Getadc(0)
                               B = A / C
                               E = B + D
                              
                              Waitms E
                              Portd.0 = 1
                              Portd.1 = 0
                              
                              A = Getadc(0)
                              
                               B = A / C
                               E = B + D
                              
                              
                              Waitms E
                              Loop
                              فقط یه چند تا سوال برام پیش اومد ممنون میشم جواب بدین

                              1-اگه پتانسیومترو بخام با یه سیم بلند از میکرو بکشم بیارم مثلا7 یا 8 متری مشکلی ایجاد میشه راه حلش چیه؟
                              2-هر جا که بخام ویت رو بدم باید اون عمل جمع ظرب بنویسم یا یبار کافیه؟
                              3-از این جناب adcمیتونم تو زیر برنامه هام استفاده کنم؟ بعد تکلیف پورت چی میشه؟مثلا میخام پورت سی رو خروجی استفاده کنم ایا کل پورتو خروجی کانفیگ کنم با adcپین سی صفر مشکلی نداره؟اتمگا8

                              دیدگاه

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