اطلاعیه

Collapse
No announcement yet.

سوال در مورد میکرو

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

    سوال در مورد میکرو

    سلام
    میخوایم زمانی که به یه پین میکرو ولتاز کمتر از 2 ولت اعمال می کنیم خروجی یه پین دیگه صفر و زمانی که ولتاز بیشتر از 2 ولت به این پین داده شد خروجی پین دوم پنج ولت بشه.راحتترین راه چیه؟

    #2
    پاسخ : سوال در مورد میکرو

    سلام
    اگر با برنامه نویسی بخواید انجام بدید adc
    در غیر اینصورت opamp
    telgram:09396888049

    دیدگاه


      #3
      پاسخ : سوال در مورد میکرو

      ADC بهترین کاره (البته فکر میکنم)
      شما با adc ولتاژ پایه ها رو بگیر بعد متغیری که ولتاژ پایه ها توشه رو با 2 ولتت مقایشه کن (IF ) و اگه شرطی که گذاشتی برقرار بود بره کار هایی که می خوای رو انجام بده...
      *****عیب جامعه این است که همه می خواند آدم مهمی باشند ولی هیچ کس نمی خواهد فرد مفیدی باشد.*****
      http://electerodl.ir/forum

      دیدگاه


        #4
        پاسخ : سوال در مورد میکرو

        فقط adc
        1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
        من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
        !Electronic On! Programming On
        هوشمندانه سوال بپرسیم!
        http://ir02x6.persiangig.com/logo/eca/tanks_01.png

        دیدگاه


          #5
          پاسخ : سوال در مورد میکرو

          نوشته اصلی توسط ((O-I-O))
          سلام
          میخوایم زمانی که به یه پین میکرو ولتاز کمتر از 2 ولت اعمال می کنیم خروجی یه پین دیگه صفر و زمانی که ولتاز بیشتر از 2 ولت به این پین داده شد خروجی پین دوم پنج ولت بشه.راحتترین راه چیه؟
          سلام، دوست عزیز بجای میکرو اصلا میتونی بوسیله یک opamp، مدار اشمیت تریگر رو ببندی !
          ولی با میکرو هم، خوب میشه انجام داد

          دیدگاه


            #6
            پاسخ : سوال در مورد میکرو

            ممنون از راهنمایی دوستان
            با میکرو باید کارو انجام بدم ولتاز وروی از صفر تا 12 ولت ممکنه تغییر بکنه چطور این ولتاز رو به ورودی ADC میکرو اعمال کنیم برای مدار ورودی پیشنهادی دارید؟تقسیم مقاومتی خوبه؟

            دیدگاه


              #7
              پاسخ : سوال در مورد میکرو

              نوشته اصلی توسط ((O-I-O))
              ممنون از راهنمایی دوستان
              با میکرو باید کارو انجام بدم ولتاز وروی از صفر تا 12 ولت ممکنه تغییر بکنه چطور این ولتاز رو به ورودی ADC میکرو اعمال کنیم برای مدار ورودی پیشنهادی دارید؟تقسیم مقاومتی خوبه؟
              بله درسته از تقسیم مقاومتی استفاده کنید
              *****عیب جامعه این است که همه می خواند آدم مهمی باشند ولی هیچ کس نمی خواهد فرد مفیدی باشد.*****
              http://electerodl.ir/forum

              دیدگاه


                #8
                پاسخ : سوال در مورد میکرو

                فرض کنید با تقسیم مقاومتی ولتاز رو بین صفر تا پنج ولت رسوندیم اگه ولتاز مرجع رو 2.56 در نظر بگیریم و ولتاز ورودی 2 ولت باشه مقدار دیجیتال خروجی میشه 1599 یا همون 01111111111 که در رجیستر داده (ADCH,ADCL) قرار میگیره.درسته؟

                دیدگاه


                  #9
                  پاسخ : سوال در مورد میکرو

                  اگه میخواید تا 5 ولت رو با adc بخونید باید مرجع رو aref یا avcc که به 5ولت وصل شده باشه بگیرید. با 2.56 داخلی فقط ولتاژهای تا 2.56ولت رو میشه اندازه گیری کرد.
                  ضمن اینکه حداکثر مقدار adc در مد 10 بیتی میتونه تا 1023 باشه.
                  www.gam-co.blogsky.com

                  دیدگاه


                    #10
                    پاسخ : سوال در مورد میکرو

                    نوشته اصلی توسط vahidabedi
                    ضمن اینکه حداکثر مقدار adc در مد 10 بیتی میتونه تا 1023 باشه.
                    اگه مرجع رو aref یا avcc و پنج ولت درنظر بگیریم و ورودی پنج ولت باشه مقدار بیشتر از 1023 میشه :sad:

                    دیدگاه


                      #11
                      پاسخ : سوال در مورد میکرو

                      مگه میشه مگه داریم!! کدتون رو بذارید
                      www.gam-co.blogsky.com

                      دیدگاه


                        #12
                        پاسخ : سوال در مورد میکرو

                        نوشته اصلی توسط vahidabedi
                        مگه میشه مگه داریم!! کدتون رو بذارید
                        اشتباه شد :surprised: اگه مرجع رو aref یا avcc و پنج ولت درنظر بگیریم و ورودی پنج ولت باشه مقدار برابر میشه با 1023 یا همون 1111111111 درسته؟

                        دیدگاه


                          #13
                          پاسخ : سوال در مورد میکرو

                          بلی!
                          www.gam-co.blogsky.com

                          دیدگاه


                            #14
                            پاسخ : سوال در مورد میکرو

                            ولتاز ورودی adc بین صفرتا پنج ولت اگه ولتاز بیشتر از 2 ولت بود یه پین از پورت میکرو 1 و اگه ولتاز کمتر از 2 ولت بود ولتاز اون پین صفر ولت بشه برنامه زیر این کارو انجام میده؟مشکلش چیه؟
                            کد:
                            #include <mega16a.h>
                            #include <delay.h> 
                            #include <stdio.h> 
                            #define xtal 16000000
                            #define ADC_VREF_TYPE 0x00 
                            
                            unsigned int read_adc(unsigned char adc_input) 
                            { 
                            ADMUX=adc_input|ADC_VREF_TYPE; 
                            
                            ADCSRA|=0x40; 
                            
                            while ((ADCSRA & 0x10)==0); 
                            ADCSRA|=0x10; 
                            return ADCW; 
                            } 
                            void main(void) 
                             {
                             int adc_in;
                             DDRA=0x00;
                             PORTA=0x00;
                             DDRB=0x00;
                             PORTB=0x00;
                             ADMUX=ADC_VREF_TYPE; 
                             ADCSRA=0x86; 
                             while (1) 
                             { 
                             adc_in=read_adc(0);
                              if (adc_in>110011011)
                              {
                              PORTB=0x01;
                              }
                              else
                              {
                              PORTB=0x00;
                              }
                             }
                             }

                            دیدگاه


                              #15
                              پاسخ : سوال در مورد میکرو

                              مقدار adc رو بصورت دسیمال مقایسه کنید نه باینری.(البته شاید باینری هم درست باشه ولی من امتحان نکردم)
                              انتهای while(1) هم یه دیلی 1 میلی ثانیه بذارید.
                              www.gam-co.blogsky.com

                              دیدگاه

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