ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

صفحه 1 از 3 123 آخرین
نمایش نتایج: از 1 به 10 از 22
  1. #1
    2013/11/09
    8
    0

    سوالاتي راجبه دستور رند کردن و نحوه تعريف کردن متغيرها و lm35

    با سلام، خدمت دوستان.
    بنده چند سوال ساده دارم که خودم ميتونم يه حدسهايي راجبشون بزنم اما واقعا به جوابهاي کامل و دقيق نياز دارم.
    سوال اولم: دستور round دقيقا چطوري رند ميکنه؟ منطورم اينه که مثلا عدد 1.68 رو به چه عددي رند ميکنه؟ به 1.7 رند ميکنه يا به 2 رند ميکنه؟ منظورم اينه که آيا حاصل هميشه عددي صحيح ميشه؟
    سوال دوم: آيا ميشه متغيري single رو در متغيري از نوع byte ذخيره کرد البته با اين هدف که اعداد بعد از مميز متغير single حذف شود؟ منطورم اينه که مثلا اگه عدد 1.68 را که در متغير single ذخيره شده را در متغيري که از نوع byte انتقال دهيم، عدد 1 در اين متغير ذخيره ميشه؟
    سوال آخرم: براي کار با lm35 تابعي که بايد براي تبديل ولتاژ به دما استفاده کرد چطور است؟ آيا همينقدر کافيست که ورودي ولتاژي که از واحد adc ميگريم رو تقسيم بر 2 کنيم؟ آيا نبايد علاوه بر اينکار با عددي جمع کرد؟ آيا رابطه ولتاژ با دما در اين سنسور در محدوده ي دمايي 10 تا 50 درجه به صورت خطي است؟

    تشکر از اينکه راهنماييم ميکنيد
  2. #2
    2010/10/07
    مشهد
    77
    2

    پاسخ : سوالاتي راجبه دستور رند کردن و نحوه تعريف کردن متغيرها و lm35

    اگر منظور شما دستور
    کد:
    rand()
    هست اين تابع عدي بين 0 تا 32767 توليد مي کند
    شما وقتي به عنوا ن مثال عدد 1.68 را يک بايت يا همان Char تعريف کنيد فقط عدد يک ذخيره مي شود و اگر بخواهيد عدد 1.68 را ذخيره کنيد بايد از تابع تبديل ()ftoa که عدد اعشاري را به رشته تبديل مي کند انجام دهيد .يا از عمل تقسيم کردن در کل بيشتر توضيخ دهيد
    سومين سوال کلا خطي هست و به ازاي هر درجه 10 ميلي ولت تغيير مي کند ؛ شما کافي است adc ميکرو را فعال کنيد بعد رفرنس ميکرو روي 5 ولت باشه و چون دقت ميکرو اگر 10 بيت باشد هر تغيير ولتاژ مقدار 0.0048 است يعني مقدار خوانده شده در 0.0048 ضرب شود.
    برای تغییر دادن در زندگی اول باید خودم تغییر کنم نه دیگران!
    یک اشتباه جدید در زندگی بهتر از تکرار اشتباه قبلی است .
  3. #3
    2012/12/27
    شهر راز (شیراز)
    1,727
    61

    پاسخ : سوالاتي راجبه دستور رند کردن و نحوه تعريف کردن متغيرها و lm35

    نقل قول نوشته اصلی توسط amir1371
    بنده چند سوال ساده دارم که خودم ميتونم يه حدسهايي راجبشون بزنم اما واقعا به جوابهاي کامل و دقيق نياز دارم.
    سوال اولم: دستور round دقيقا چطوري رند ميکنه؟ منطورم اينه که مثلا عدد 1.68 رو به چه عددي رند ميکنه؟ به 1.7 رند ميکنه يا به 2 رند ميکنه؟ منظورم اينه که آيا حاصل هميشه عددي صحيح ميشه؟
    سلام
    تو help بسکام نگاه کنید متوجه میشوید
    Round(2.3) = 2 , Round(2.8) = 3
    Round(-2.3) = -2 , Round(-2.8) = -3
    تو ریاضی هم به همین روال هست ...
    اگر عدد بزرگتر مساوی از 2.0 تا کوچکتر از 2.5 باشه عدد رو مساوی با 2 میگیریم
    اگر عدد بزرگتر مساوی از 2.5 تا 3 باشه عدد رو مساوی با 3 میگیریم
    نقل قول نوشته اصلی توسط amir1371
    سوال دوم: آيا ميشه متغيري single رو در متغيري از نوع byte ذخيره کرد البته با اين هدف که اعداد بعد از مميز متغير single حذف شود؟ منطورم اينه که مثلا اگه عدد 1.68 را که در متغير single ذخيره شده را در متغيري که از نوع byte انتقال دهيم، عدد 1 در اين متغير ذخيره ميشه؟
    بله میشه ...
    به شرطی عدد صحیحش از 0 تا 255 باشه
    نقل قول نوشته اصلی توسط amir1371
    سوال آخرم: براي کار با lm35 تابعي که بايد براي تبديل ولتاژ به دما استفاده کرد چطور است؟ آيا همينقدر کافيست که ورودي ولتاژي که از واحد adc ميگريم رو تقسيم بر 2 کنيم؟ آيا نبايد علاوه بر اينکار با عددي جمع کرد؟ آيا رابطه ولتاژ با دما در اين سنسور در محدوده ي دمايي 10 تا 50 درجه به صورت خطي است؟
    این رو تو انجمن بگردید پیدا میشه ...
    با این وجود یه توضیحی میدم ...
    ولتاژی که سنسور دمای LM35 درست میکنه بسته به دماست ... این سنسور به ازای هر یک درجه 10 میلی ولت تغییر پیدا میکند
    برای به کار گیری این سنسور باید آن را به مبدل ADC (آنالوگ به دیجیتال) متصل کرد تا عدد مورد نظر به دست آید ...
    در ADC ها یک پایه به عنوان ولتاژ مرجع استفاده میشه ... این ولتاژ تعیین میکنه که محدوده ولتاژی که میتوانیم به ADC بدهیم چه مقدار است ...
    به خاطر دقیق تر بودن باید در میکرو AVR ولتاژ مرجع را روی مرجع داخلی که مساوی با 2.56 است تنظیم کرد ...
    از آنجایی که دقت ADC میکروی AVR ده بیت است بنابراین 2.56 تقسیم بر 1024 میشه 2.5 میلی ولت ...
    حالا چون در سنسور LM35 هر درجه برابر با 10 میلی ولت است بنابراین باید عددی که از ADC به دست می آید را تقسیم بر 4 کنیم...
    موفق باشید
    [size=10pt][b]

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    [/size]
  4. #4
    2010/10/07
    مشهد
    77
    2

    پاسخ : سوالاتي راجبه دستور رند کردن و نحوه تعريف کردن متغيرها و lm35

    لاقل ميگفتيد تو بسکام کلا من با بسکام حال نميکنم اين دستوراتي هم که گفتم تو کد ويژن هست بدون مقدمه سوال ميکنيد
    برای تغییر دادن در زندگی اول باید خودم تغییر کنم نه دیگران!
    یک اشتباه جدید در زندگی بهتر از تکرار اشتباه قبلی است .
  5. #5
    2012/12/27
    شهر راز (شیراز)
    1,727
    61

    پاسخ : سوالاتي راجبه دستور رند کردن و نحوه تعريف کردن متغيرها و lm35

    نقل قول نوشته اصلی توسط Fanoudi
    لاقل ميگفتيد تو بسکام کلا من با بسکام حال نميکنم اين دستوراتي هم که گفتم تو کد ويژن هست بدون مقدمه سوال ميکنيد
    منم اول مثل شما فکر کردم که کدویژنه بعد دیدم نوشته Byte و Single ... دیگه فهمیدم منظورشون بسکام هست :biggrin:
    [size=10pt][b]

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    [/size]
  6. #6
    2010/05/09
    664
    9

    پاسخ : سوالاتي راجبه دستور رند کردن و نحوه تعريف کردن متغيرها و lm35

    به هر حال کار ما که راه افتاد
    ممنون استاد
    تخیل مهمتر از دانش است
    علم محدود است اما تخیل دنیا را دربر میآ*گیرد
    آلبرت انیشتین
  7. #7
    2010/05/09
    664
    9

    پاسخ : سوالاتي راجبه دستور رند کردن و نحوه تعريف کردن متغيرها و lm35

    نقل قول نوشته اصلی توسط Saman.Asadi
    سلام
    تو help بسکام نگاه کنيد متوجه ميشويد
    Round(2.3) = 2 , Round(2.8) = 3
    Round(-2.3) = -2 , Round(-2.8) = -3
    تو رياضي هم به همين روال هست ...
    اگر عدد بزرگتر مساوي از 2.0 تا کوچکتر از 2.5 باشه عدد رو مساوي با 2 ميگيريم
    اگر عدد بزرگتر مساوي از 2.5 تا 3 باشه عدد رو مساوي با 3 ميگيريم
    استاد من اين دستور رو به اين شکل مينويسم :
    temp = دماي ميانگين گيري شده
    Lcd Round(temp)

    اما نتيجه با خروجي temp هيچ فرقي نداره
    هر دو برابرن

    چطور ميتونم يه دستور کلي داشته باشم که هر 0.6 و 0.7 و 0.8 و 0.9 رو 0 و هر 0.1 و 0.2 و 0.3 و 0.4 رو 0.5 نشون بده

    اگه طبق دستور شما عمل کنم بايد براي تمام اعداد در رنج دماسنجم اعداد رو تو برنامه قرار بدم که کارش خيلي طول ميکشه!

    ممنون ميشم اگه راهنمايي کنيد

    بدرود
    تخیل مهمتر از دانش است
    علم محدود است اما تخیل دنیا را دربر میآ*گیرد
    آلبرت انیشتین
  8. #8
    2014/02/15
    تهران
    147
    0

    پاسخ : سوالاتي راجبه دستور رند کردن و نحوه تعريف کردن متغيرها و lm35

    ---
    اگر روزی بفهمی همه چیزایی که از بچگی تا حالا بهت گفتن بی اساس یا دروغه چه حالی میشی؟
    کارمندان نابکار، از دزدان و آشوبگران بیشتر به کشور آسیب ميآ*رسانند
  9. #9
    2010/05/09
    664
    9

    پاسخ : سوالاتي راجبه دستور رند کردن و نحوه تعريف کردن متغيرها و lm35

    نقل قول نوشته اصلی توسط داود رهايي
    منظورتون (براي اعداد 0.6 تا 0.9) از صفر بايد يک باشه
    بگذريم
    اگر دستور رند کردن رو نداريد از روش زير ميشه استفاده کرد که خود کامپايلر هم همين کار رو ميکنه
    روش اينجوريه که اول نيم واحد به عدد اضافه ميشه و سپس فلور اون عدد رو حساب ميکنيم
    يعني اگر عدد 0.8 باشه 0.5 به اون اضافه ميکنيم که نتيجه ميشه 1.3 و بخش
    بعد از مميز رو دور ميندازيم.
    براي اعداد منفي بايد نيم واحد کم کنيم سپس بخش بعد از مميز رو دور بندازيم
    فلور ؟؟؟
    ميشه يه نمونه بزارين؟
    دستور فلور بسکام رو پيدا نميکنم !!!

    اصلا" بزارين مشکلم رو بگم تا شايد کمتر مزاحم شما عزيزان بشم!!
    من يه دماسنج ديجيتال (ترموستات ديجيتال) ساختم که از LM35 استفاده کردم و با هزار مکافات درصد نويزگيري ADC رو به حداقل کاهش دادم !
    حدود 0/1 تلورانس داره و بالا پايين ميشه
    مشکل اينجاست وقتي دما به مرز فعال شدن رله خروجي که ميرسه به دليل بالا پايين شدن يک دهمي دما رله هي قطع و وصل ميشه و اين برام يه اشکال بزرگه
    چطور ميتونم اين مشکل رو حلش کنم؟؟

    فک کنم اگه بتونم اعداد اعشاري دما رو حذف کنم مشکل حله :
    مثال :
    11.6 و 11.7 و 11.8 و 11.9 و 12.1 و 12.2 و 12.3 و 12.4 رو 12 نشون بدم!!
    چطور ميتونم اين کار رو انجام بدم

    با سپاس
    تخیل مهمتر از دانش است
    علم محدود است اما تخیل دنیا را دربر میآ*گیرد
    آلبرت انیشتین
  10. #10
    2014/02/15
    تهران
    147
    0

    پاسخ : سوالاتي راجبه دستور رند کردن و نحوه تعريف کردن متغيرها و lm35

    ---
    اگر روزی بفهمی همه چیزایی که از بچگی تا حالا بهت گفتن بی اساس یا دروغه چه حالی میشی؟
    کارمندان نابکار، از دزدان و آشوبگران بیشتر به کشور آسیب ميآ*رسانند
صفحه 1 از 3 123 آخرین
نمایش نتایج: از 1 به 10 از 22

موضوعات مشابه

  1. نحوه خروجی کردن یک پورت در اتمل استودیو وتاگل کردن آن
    توسط gmaissam در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2015/12/18, 22:38
  2. مشکل در تقویت خروجی سنسور دما lm35 برای قطع و وصل کردن رله
    توسط ali.tohidi در انجمن مفاهیم پایه برق و الکترونیک
    پاسخ: 3
    آخرين نوشته: 2015/11/30, 21:44
  3. مشکل در تقویت خروجی سنسور دما lm35 برای قطع و وصل کردن رله
    توسط ali.tohidi در انجمن مدارهای آنالوگ و مدارهای مجتمع
    پاسخ: 11
    آخرين نوشته: 2015/11/30, 16:50
  4. پاسخ: 4
    آخرين نوشته: 2015/10/21, 10:19
  5. سوالاتي درباره Verilog و نحوه تبديل به VHDL
    توسط kasper در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 4
    آخرين نوشته: 2013/01/01, 09:52

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •