اطلاعیه

Collapse
No announcement yet.

محاسبه فاصله تا مانع توسط ADC با codevision

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

    محاسبه فاصله تا مانع توسط ADC با codevision

    سلام
    من می خوام با فتوسل ، فاصله میکرو تا یه مانع مثل دیوار رو به دست بیارم.
    اگه میشه بفرمایید حلقه while که نوشتم چه اشکالی داره.
    while (1)
    {
    a = read_adc(0);
    digit = ( float ) a/51;
    sprint ( str, “ch0: % 1.2fV”, digit);
    printf ( “\n\r%s”, str);
    delay_mas(10);
    lcd_clear();
    lcd_puts(str);
    };
    }

    #2
    پاسخ : محاسبه فاصله تا مانع توسط ADC با codevision

    سلام دادا.
    معما طرح کردی یا 20 سوالیه دادا؟!!!! ایراد که زیاده!
    delay_mas(10);
    استفاده از دستورات print,sprint.......
    میخوای رو سریال بفرستی یا lcd؟

    digit = ( float ) a/51

    بگو مشکلت کجاست.
    تشکر لازم نیست!

    دیدگاه


      #3
      پاسخ : محاسبه فاصله تا مانع توسط ADC با codevision

      سلام
      به انجمن تخصصی برق و الکترونیک خوش آمدید.
      اگر برنامه شما خطا نمیده (که با این چیزی که شما اینجا نوشتید یقینن میده) مشکل در به کار بردن دستوراته.
      اگر همینجوری یه کلیت از برنامتون نوشتید :redface: تنظیمات sprinf و printf رو در قسمت configure در حالت مناسب قرار دهید.
      به این صورت عمل کنید:
      project>configure>c compiler
      در قسمت sprintf و scanf گزینه float width precision رو انتخاب کنید.

      توضیح اینکه کدویژن در حالت پیش فرض برای صرفه جوی در حجم کد برنامه تنظیمات این دو دستور رو در حالت int width قرار میده

      موفق باشید
      Work with what you have .Never limit yourself by things you could have had

      دیدگاه


        #4
        پاسخ : محاسبه فاصله تا مانع توسط ADC با codevision

        سلام
        ممنون از جوابتون
        خطا که نمی ده ولی من اصلا متوجه نمی شم مشکلش کجاست. این اولین برنامه ای هست که دارم با کدویژن می نویسم واسه همین هم تقریبا صفرم.
        مگه واسه ADC فقط لازم نیست عدد ورودی رو بگیریم؟؟
        من اول read_adc(0) رو گرفتم بعد به 51 تقسیم کردم که فاصله رو بده.
        اگه می شه یکم واضح تر راهنمایی کنید.

        دیدگاه


          #5
          پاسخ : محاسبه فاصله تا مانع توسط ADC با codevision

          ضمنا فکر می کنم اشتباها از دستورات پورت سریال استفاده کردم.
          من می خوام جواب رو روی lcd ببینم نه روی پورت سریال.
          اصلا واسه به دست آوردن فاصله لازمه عدد رو به 51 تقسیم کنم؟
          من نمی دونم وقتی ADC عددی رو به ما میده باید چه تغییری در اون عدد بدیم که جواب رو بمون بده.
          خواهش می کنم هر چقدر که می تونید توضیح بدید.( تو کتاب خیلی توضیح نداده)

          دیدگاه


            #6
            پاسخ : محاسبه فاصله تا مانع توسط ADC با codevision

            اول اینکه اون تنظیماتی که در پست قبل گفتم رو اعمال کنید.
            این برنامه رو چک کردم کار میکنه:
            کد:
            while (1)
               {
               digit=read_adc(0);
               lcd_clear();
               digit=digit/51;
               sprintf ( str, "ch0: %1.2fV", digit);
               lcd_puts(str); 
               delay_ms(10);
               };
            متغییر str رو به صورت زیر تعریف کنید:
            کد:
            unsigned char str[16];
            موفق باشید
            Work with what you have .Never limit yourself by things you could have had

            دیدگاه


              #7
              پاسخ : محاسبه فاصله تا مانع توسط ADC با codevision

              پایه avcc رو هم به vcc وصل کنید.
              در صورتی که v ref (وتاژ مرجع) شما روی vref تنظیم شده پایه vref رو هم به vcc وصل کنید.
              Work with what you have .Never limit yourself by things you could have had

              دیدگاه

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