اطلاعیه

Collapse
هیچ اطلاعیه ای هنوز ایجاد نشده است .

مشکل نمایش دما و رطوبت با sht1x

Collapse
X
  • فیلتر
  • زمان
  • نمایش
پاک کردن همه
new posts

  • مشکل نمایش دما و رطوبت با sht1x

    من برای راه اندازی از برنامه زیر استفاده کردم ولی تو عمل مقدار رطوبت رو 0.2 درصد و کمتر نشون میده و مقدار دما رو منفی 24 نشون میده البته وقتی فوت میکنم مقادیر عوض میشن
    به نظر شما مشکل از چی میتونه باشه
    http://s9.picofile.com/file/8355942500/sht10.c.html

  • #2
    سلام
    پروتکلی که سری sht1x استفاده میکنه i2c هستش ولی شما تو برنامه ات ازش استفاده نکردی
    و خروجی سنسور رو به این شکل نمیتونی بخونی
    باید
    کتابخانه i2c را فراخوانی کنی

    کد:
    insert this code to your project  -->>             #include <i2c.h> // I2C Bus functions




    و از دستوراتش برای خواندن سنسورت استفاده کنی
    اگر تو راه اندازیش به مشکلی خوردی بگو تا راهنمایت کنم

    یاحق

    نظر


    • #3
      نوشته اصلی توسط amir_yazdi نمایش پست ها
      سلام
      پروتکلی که سری sht1x استفاده میکنه i2c هستش ولی شما تو برنامه ات ازش استفاده نکردی
      و خروجی سنسور رو به این شکل نمیتونی بخونی
      باید
      کتابخانه i2c را فراخوانی کنی

      کد:
      insert this code to your project -->> #include <i2c.h> // I2C Bus functions




      و از دستوراتش برای خواندن سنسورت استفاده کنی
      اگر تو راه اندازیش به مشکلی خوردی بگو تا راهنمایت کنم

      یاحق
      ممنون بابت راهنمایی
      ولی مشکلی که هست اینه که من این برنامه رو از یه سایت خارجی که واسه PIC بود تبدیل کردم و دیگه اینکه من i2c کار نکردم فقط دنبال یه برنامم که مقادیر خروجی این سنسورو بهم بده تا از اون واسه برنامه اصلیم استفاده کنم

      نظر


      • #4
        سلام

        کتابخانه sht1x
        کد:
        دستور فعال سازی اولیه
        sht1x_init();
        خواندن دما
        ReadTemperature();
        خواندن رطوبت
        ReadHumidity();
        باز اگر مشکلی باهاش داشتی بگو

        یاحق
        فایل های پیوست شده

        کاربر عزیز ، شما مجاز به دانلود فایل پیوست نمی باشید ؛ برای دانلود و استفاده بهتر از انجمن ثبت نام نمائید. با تشکر

        نظر


        • #5
          نوشته اصلی توسط amir_yazdi نمایش پست ها
          سلام

          کتابخانه sht1x
          کد:
          دستور فعال سازی اولیه
          sht1x_init();
          خواندن دما
          ReadTemperature();
          خواندن رطوبت
          ReadHumidity();
          باز اگر مشکلی باهاش داشتی بگو

          یاحق
          سلام مجدد
          من منظورتونو از سه خط بالا متوجه نشدم(اگه ممکنه بیشتر توضیح بدین) واین بلا رو سر برنامه اوردم ولی وقتی تو حلقه While میرسه به این ReadTemperature(); گیر میکنه پورت سی رو به خاطر این خروجی کردم تا ببینم میاد خط پایین یا نه ولی توش گیر میکنه
          اگه ممکنه یه نگاه بهش میندازین شاید م من خرابکاری کردم
          در ضمن من i2c رو به پورت aدادم تو برنامه هم اصلاح کردم
          ممنون از وقتی که برای ما میزارید
          http://s8.picofile.com/file/83562650...8_1_sht.c.html
          ویرایش توسط sirshp : https://iranchip.ir/member/357-sirshp در ساعت 03-31-2019, 18:05

          نظر


          • #6
            سلام
            برنامه تست کردم مشکلی نداره فقط کافه پایه Data که در اینجا A.1 انتخاب کردید را بوسیله یک مقاومت 4.7 کیلو به زمین (منفی) متصل کنید (pull-down)

            یاحق

            نظر


            • #7
              نوشته اصلی توسط amir_yazdi نمایش پست ها
              سلام
              برنامه تست کردم مشکلی نداره فقط کافه پایه Data که در اینجا A.1 انتخاب کردید را بوسیله یک مقاومت 4.7 کیلو به زمین (منفی) متصل کنید (pull-down)

              یاحق
              کاریو که گفتینو انجام دادم درست شد ولی تو پروتئوس ببینید چی نشون میده هر چی هم دمارو تغییر میدم مقادیر ثابت اند
              تو عمل هم دقیقا همینو نشون میده

              فکر کنم تو حلقه while یه چی اشتباه باشه که نمیدونم چیه

              http://s9.picofile.com/file/83562742...8_1_sht.c.html
              ویرایش توسط sirshp : https://iranchip.ir/member/357-sirshp در ساعت 03-31-2019, 20:53

              نظر


              • #8
                سلام

                متغییر Value که داخل تابع ReadTemperature هست local هست و شما نمیتونی مقدارشو از خارج تابع بخونی

                اگر تابع ReadTemperature را نگاه کنی از نوع long هست و مقدار Value درانتها return شده


                در خط اولی که در حلقه while نوشتی تابع را فراخوانی کردی ولی مقدار برگشتی را نخواندی
                کد:
                ReadTemperature();
                که باید به شکل زیر باشه

                کد:
                Value = ReadTemperature();
                نکته Value که اینجا هست را خودت در بالا تعریف کردی قبل از تابع main و ربطی به متغییر Value داخل ReadTemperature که local هستش نداره

                کد:
                long Value;
                یاحق

                نظر

                صبر کنید ..
                X