اطلاعیه

Collapse
No announcement yet.

نیاز به آموزش lookup table بسکام برای میکرو

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

    نیاز به آموزش lookup table بسکام برای میکرو

    سلام دوستان گرامی
    نیاز به آموزش lookup table میکرو atmega16 دارم با استفاده از bascom (زبان بیسیک)
    هدفمم هم اینه که میخوام از یه سنسور غیر خطی استفاده کنم ( مثل سنسور دما ntc ، ترموکوبل ، RTD )

    البته بگم که بلدم اصلاح صفحه کیبورد با دستور lookup رو انجام بدم ( یعنی اینقدر ها هم نوب نیستیم :icon_razz: )
    اما تو اینجا میخوام جدول کاری مربوط به سنسور رو در حافظه میکرو lookup table ذخیره کنم (الیته اگه بشه) و بعد به ازی هر سطر مقادیر ستون رو (در برنامه) بهش اختصاص بدم (بجای اینکه از یه فرمول نمایی یا درجه 2 و 3 استفاده کنم ) یعنی بتونم از داده های جدول استفاده کنم . ( جدولی شامل چند سطر و چند ستون)

    از دوستان میخوام که منو در این امر خیر یاری کنند
    پیشاپیش ممنون
    ماکه رفتیم خدمت (فعلا که 14 ماهش گذشت).........چون میگذرد غمی نیست....

    http://tif00s.persiangig.com/image/MLX90614.jpg

    #2
    پاسخ : نیاز به آموزش lookup table بسکام برای میکرو

    سلام دوست عزیز
    اگه دیتای جدولت رو داشته باشی که کارت راحته
    به این ترتیب:
    1- تعیین رنج عددی (مثلا از 0 تا 500)
    2- تعیین دقت کاری ( فاصله عدد ها از همدیگه)
    3- نام گذاری جدول
    4- وارد کردن اطلاعات
    5- فراخوانی جدول در برنامه

    مثال:
    جدول y=xرنج 0 -5
    دقت 1

    lookup (5,dama)
    .
    .
    .
    dama:
    data 1,1,4,9,16,25
    زندگي را تو بساز ،
    نه بدان ساز که سازند و پذيري بي حرف ،
    زندگي يعني جنگ ، تو بجنگ ،
    زندگي يعني عشق ، تو بدان عشق بورز.

    دیدگاه


      #3
      پاسخ : نیاز به آموزش lookup table بسکام برای میکرو

      مچکرم از راهنماییت ، اما داده های من بصورت جدول هستن و نمی خوام معادله ای براشون بسازم

      هدفم هم رو دوباره میگم میخوام داده هایی که دارمو در حافظه میکرو ذخیره کنم ( چجورری ؟؟! ) بعد با توجه به شرایط مختلف بتونم از داده های جدول در برنامه استفاده کنم ( چطوری ؟؟؟ )

      اگه با ارائه مثالی بتونی برام توضیحش بدی خیلی ممنونت میشم

      ایشالا جبران کنیم ....
      ماکه رفتیم خدمت (فعلا که 14 ماهش گذشت).........چون میگذرد غمی نیست....

      http://tif00s.persiangig.com/image/MLX90614.jpg

      دیدگاه


        #4
        پاسخ : نیاز به آموزش lookup table بسکام برای میکرو

        من هم همینو گفتم که :cry:
        شما همه دیتا ها رو بعد از DATA می نویسی و برای اون یه لیبل میذاری( خط قبلش رو نام گذاری می کنی)
        بعد هر جا که لازمشون داشتی با استفاده از Lookup(value,label) اونا رو میخونی
        value شماره دیتا و label هم که همون لیبلیه که گذاشتی
        نکته قابل توجه اینه که value شما از 0 شروع میشه نه از 1
        و دیگه اینکه data حتما بعد از End نوشته بشه

        مثال:
        do
        cap=lookup(2,tabdil)
        loop
        end

        tabdil:
        data 2,4,6,8,10

        در اینجا cap=6 میشه
        زندگي را تو بساز ،
        نه بدان ساز که سازند و پذيري بي حرف ،
        زندگي يعني جنگ ، تو بجنگ ،
        زندگي يعني عشق ، تو بدان عشق بورز.

        دیدگاه


          #5
          پاسخ : نیاز به آموزش lookup table بسکام برای میکرو

          ایول :applause: دمت گرم :nice: خیلی آقایییی
          ماکه رفتیم خدمت (فعلا که 14 ماهش گذشت).........چون میگذرد غمی نیست....

          http://tif00s.persiangig.com/image/MLX90614.jpg

          دیدگاه


            #6
            پاسخ : نیاز به آموزش lookup table بسکام برای میکرو

            سلام دوست عزیز
            یه مشکل دیگه تو LOOKUP برام پیش اومده برای مقادیر اعدادی که تو جدول LOOKUP میخوام بزارم .
            اولا مقادیر بیش از دو بیت هستند حالا تا اونجا که متوجه شدم باید اگه مثلا از دستور (x=lookup(m,Res استفاده میکنم باید x رو بصورت رشته ای انتخاب کنم و مقدار دوبایتی رو بصورت % قرار بدم ؟ درسته ؟ بعد این دستور رو برا تا چند بایت میشه استفاده کرد ؟!

            اما مشکل اصلی اینجاست که مقادیر جدول من دارای اعشار و ضریب منفی هستند !
            حالا بازم فرقی نمیکنه ؟ یا باید طور دیگه اونا رو قرار بدم و فرا خوانی کنم ؟؟

            :"> بازم ممنونت میشم هرچه زودتر کمکم کنی (کارم گیر فقط هیمنه :-S )


            جدولی هم که میخوام استفاده کنم (تقریباً) اینه :
            کد:
             Temp:
            Data -40 , -35 , -30 , -25 , -20 , -15 , -10 , -5 , 0 , 5 , 10 , 15 , 20 , 25 , 30 , 35 , 40 , 45 , 50 , 55 , 60 , 65 , 70 , 75 , 80 , 85 , 90 , 95 , 100 , 105 
            
            Res:
            Data 4397.119 , 3088.599 , 2197.225 , 1581.881 , 1151.037 , 846.579 , 628.988 , 471.632 , 357.012 , 272.500 , 209.710 , 162.651 , 127.080 , 100.000 , 79.222 , 63.167



            ماکه رفتیم خدمت (فعلا که 14 ماهش گذشت).........چون میگذرد غمی نیست....

            http://tif00s.persiangig.com/image/MLX90614.jpg

            دیدگاه


              #7
              پاسخ : نیاز به آموزش lookup table بسکام برای میکرو

              برای اعشارت مثلا اگر دو رقم اعشاره همرو در 100 ضرب کن بعد از برگشت از دستور lookup تقسیم به 100 کن ولی برای اعداد منفی مساله ایی وجود نداره همونجوری بزارشون تو جدول
              همانطور كه مايل نيستم بنده كسي باشم، حاضر نيستم آقاي كسي باشم. كساني كه مخالف آزادي ديگرانند، خود لياقت آزادي را ندارند.((آبراهام لينكن))

              قدرت شگفت انگيز نيروهاي خلاق و استعدادهاي نهفته آدمي هنگامي آشكار مي شود كه نيازي حياتي، تواناييهاي او را به فعاليت وادارد و كشش آرزويي، سراپاي وجودش را به جنب و جوش درآورد.((آبراهام لينكن))

              [img width=343 height=100]http://www.elecdesigner.com/uploads/PRO-DESIGNER-GROUP.jpg[/img]

              دیدگاه


                #8
                پاسخ : نیاز به آموزش lookup table بسکام برای میکرو

                نوشته اصلی توسط PRO-DESIGNER
                برای اعشارت مثلا اگر دو رقم اعشاره همرو در 100 ضرب کن بعد از برگشت از دستور lookup تقسیم به 100 کن ولی برای اعداد منفی مساله ایی وجود نداره همونجوری بزارشون تو جدول
                ممنون آره فکر بکریه ایول
                مچکرم :nice:

                ماکه رفتیم خدمت (فعلا که 14 ماهش گذشت).........چون میگذرد غمی نیست....

                http://tif00s.persiangig.com/image/MLX90614.jpg

                دیدگاه


                  #9
                  پاسخ : نیاز به آموزش lookup table بسکام برای میکرو

                  قربانت قابل نداشت سوال داشتی بپرس در خدمتیم در این دو روز :biggrin:
                  همانطور كه مايل نيستم بنده كسي باشم، حاضر نيستم آقاي كسي باشم. كساني كه مخالف آزادي ديگرانند، خود لياقت آزادي را ندارند.((آبراهام لينكن))

                  قدرت شگفت انگيز نيروهاي خلاق و استعدادهاي نهفته آدمي هنگامي آشكار مي شود كه نيازي حياتي، تواناييهاي او را به فعاليت وادارد و كشش آرزويي، سراپاي وجودش را به جنب و جوش درآورد.((آبراهام لينكن))

                  [img width=343 height=100]http://www.elecdesigner.com/uploads/PRO-DESIGNER-GROUP.jpg[/img]

                  دیدگاه


                    #10
                    پاسخ : نیاز به آموزش lookup table بسکام برای میکرو

                    سلام
                    من 2 تا سنسور دماسنج دارم که اختلاف دمای این 2 سنسور رو باید بدست بیارم و با توجه به یه جدول ؛؛ رطوبت نسبی رو بکشم بیرون . به عنوان مثال 5=36-31 که با توجه به جدول ، رطوبت میشه 70 .

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

                    اینم یه نمونه جدول .
                    http://s4.picofile.com/file/7836801284/1111.jpg
                    یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

                    دیدگاه


                      #11
                      پاسخ : نیاز به آموزش lookup table بسکام برای میکرو

                      با سلام و خسته نباشید
                      من یسری اعداد ثابتی دارم که هر کدوم دو بایت میشن و حدود 65000 تا میشن حالا من یه آرایه دوبعدی تعریف کردم ولی خطای پر شدن حافظه میده مثلا flash int sin[1000][100] ;i
                      لطفا راهنمایی کنید حتما از حافظه داخی میکرو باشه بخاطر اینکه سرعت خوندن اعداد واسم مهم هستش با میکرو atxmega128A4u نوشتم.

                      دیدگاه


                        #12
                        پاسخ : نیاز به آموزش lookup table بسکام برای میکرو

                        نوشته اصلی توسط akbar09367390164 نمایش پست ها
                        با سلام و خسته نباشید
                        من یسری اعداد ثابتی دارم که هر کدوم دو بایت میشن و حدود 65000 تا میشن حالا من یه آرایه دوبعدی تعریف کردم ولی خطای پر شدن حافظه میده مثلا flash int sin[1000][100] ;i
                        لطفا راهنمایی کنید حتما از حافظه داخی میکرو باشه بخاطر اینکه سرعت خوندن اعداد واسم مهم هستش با میکرو atxmega128A4u نوشتم.
                        این میکرو قابلیت اتصال به ای سی رم با سرعت بسیار بالا
                        را دارد .. شماره ای سی یادم نیست ولی فروشگاه داشت یه زمانی.
                        من از برد آمورش حرفه ای xmega استفاده میکردم که این ای سی
                        روی برد قرار داشت ..
                        در ضمن این برد به کارم نمیاد .. کسی از دوستان خواست میفروشم
                        تمام قطعات به صورت کامل روش هست ..

                        دیدگاه

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