آردوینو آموزش آردوینو پروژه های آردوینو

آموزش ساخت دماسنج و رطوبت سنج دیجیتال با برد آردوینو Arduino

arduino-digital-Temprature-segment--digispark
نوشته شده توسط پریسا پوربلورچیان

نمایشگرهای سون سگمنت ۷Segment در ساختار درونی‌شان از دیود نورانی یا همان ال ای دی استفاده شده است. این نوع نمایشگر کاربردهای فراوانی دارد از کاربری صنعتی گرفته تا کاربری خانگی، در کلیه این موارد برای راه اندازی نمایشگر سون سگمنت نیاز به درایور می‌باشد. در ادامه این آموزش شیوه راه اندازی دماسنج دیجیتال با برد آردوینو و نمایشگر سون سگمنت با تراشه TM1637 با مرجع تخصصی آموزش آردوینو دیجی اسپارک همراه باشید.

ساختار ماژول سون سگمنت ۴ دیجیت:

ماژول سگمنت ۴ دیجیت دارای تراشه قدرتمند TM1637 می باشد. پروتکل ارتباطی این ماژول به صورت I2C بوده و دارای ۴ پایه به ترتیب CLK,DIN,VCC,GND  می باشد. ابعاد این نمایشگر ۲۴*۴۲ میلی متر می باشد. همچنین ولتاژ کاری این ماژول ۳٫۵ تا ۵ ولت DC می باشد.

ساختار سنسور دما رطوبت:

سنسور دما و رطوبت DHT11 دارای ابعاد ۱۲*۱۵٫۵  میلی متر می باشد. این سنسور دارای رزولوشن ۱۶ بیتی بوده و ولتاژ کاری آن بین ۳٫۵ تا ۵٫۵ ولت DC می باشد.  رنج دمای کاری این ماژول نیز  ۲۵℃ ±۲℃ می باشد. در این آموزش من از ماژول دما و رطوبت DHT11  همراه با فیبر مدار چاپی استفاده کرده ام که به ترتیب دارای ۳ پایه VCC,DATA,GND  می باشد.

 

وسایل مورد نیاز:

 آموزش ساخت دماسنج و رطوبت سنج دیجیتال با -سنسور-DHT-TM1637

اتصال به آردوینو

در ابتدا اتصالات سنسور DHT11 را انجام میدهیم:

پایه DATA سنسور DHT را به پایه ۲ آردوینو وصل میکنیم.

پایه VCC سنسور DHT را به پایه ۳٫۳ ولت آردوینو وصل میکنیم.

پایه GND سنسور DHT را به پایه GND آردوینو وصل میکنیم.

 

حال اتصالات ماژول سگمنت ۴ دیجیت را انجام میدهیم:

پایه CLK ماژول سگمنت را به پایه ۳ آردوینو وصل میکنیم.

پایه DIO ماژول سگمنت را به پایه ۴ آردوینو وصل میکنیم.

پایه VCC ماژول سگمنت را به پابه VCC آردوینو وصل میکنیم.

پایه GND ماژول سگمنت را به پایه GND آردوینو وصل میکنیم.

 

فراخوانی کتابخانه:

در این آموزش من از کتابخانه های dht و TM1637 استفاده کرده ام. برای دانلود هر یک از این کتابخانه ها میتوانید از طریق صفحه محصول ماژول دما رطوبت DHT11 Temp and Humidity Module و  ماژول سگمنت ۷Segment 4 Digit با تراشه TM1637 اقدام نمایید.

 

کد برنامه:

حال برنامه را کامپایل نمایید. همانطور که در فیلم زیر مشاهده میکنید توسط سنسور DHT دمای محیط خوانده شده و روی نمایشگر نمایش داده میشود.

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

درباره نویسنده

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۵۸ دیدگاه

    • سلام
      این پروژه با UNO R3 انجام شده است. تنها تفاوت این مدل از UNO در این است؛که دارای رابط ISCP , USBASP می باشد.

  • سلام کسی رو سراغ دارین که بتونه نحوه اتصال اردینیو رو به اندروید توسط زبان برنامه نویسی بیسیک فور اندروید اموزش بده؟؟؟
    ممنونم اگه کسی بود لطف کنی و از طریق ایمیل خبرم کنی
    حق الزحمش هم هرچقد باشه پرداخت می کنم
    سپاس

    • سلام
      متاسفانه در این زمینه اطلاعاتى ندارم و هنوز برنامه اى براى آموزش آن در دستور کار نداده ایم. حتما بررسى خواهیم کرد. از توجه شما ممنونم

    • سلام
      از توجه شما ممنونم.
      همانطور که در پست دیگری همکارم توضیح داده است در این موارد باید از دستورات شرطی استفاده کنید و دستور زیر را امتحان کنید:
      if (bits[2] & 0x80) // negative temperature
      {
      temperature = word(bits[2]&0x7F, bits[3]) * 0.1;
      temperature = -1.0 * temperature;
      }
      else
      {
      temperature = word(bits[2], bits[3]) * 0.1;
      }

  • سلام
    ببخشید میخواهم اگر که دما به حدی رسید (مثلا۲۵ درجه سانتی گراد)رطوبت ساز را فعال کند و وقتی رطوبت به حدی رسید ان را خاموش کند
    ممنون میشم اگه کد هاش را برام بفرستید

    • سلام
      دیجی اسپارک بستری برای آموزش به روز ترین تکنولوژ ی اینترنت اشیا به صورت رایگان می باشد و هدف ما این است که شما بتوانید از این آموزش ها برای پروژه های حرفه ای تر ایده بگیرید و استفاده کنید و خودتان بتوانید کدهای پیشرفته تری را در برنامه ها اضافه کنید.
      سپاسگزارم

  • با سلام با عرض خسته نباشید می خواستم رفع اشکال کنید که تو تصویر arduino R3 معمولی استفاده شده در حالی که تو لوازم مورد نیاز از نوع دیگری استفاده شده
    با تشکر

    • سلام
      مدل آردوینو استفاده شده در آموزش دقیقا مشابه آردوینو uno R3 معمولی می باشد، تنها با این تفاوت که این مدل دارای رابط icsp , usbasp و atmega328 می باشد.
      برد آردینو‌ uno دارای مدل های مختلفی است که تفاوت چندانی با هم ندارند و میتوانید به دلخواه از مدل های مختلف Arduino Uno استفاده کنید.

    • سلام
      این ارور مربوط به کتابخانه می‌باشد. مجددا کتابخانه را نصب و حتما در مسیر arduino /library قرار گرفته باشد. اگر مشکل برطرف نشد از همین طریق اعلام نمایید.

    • سلام
      رفع عیب و پاسخ دهی به سوالات و مشکلات تنها از طریق ثبت کامنت در سایت مقدور می‌باشد. آموزش های منتشر شده در سایت را بررسی کنید و سپس سوال خود را در آموزش های مرتبط با سوال خود مطرح نمایید.
      سپاسگزارم.

      • میخواستم ۳ تا متغییر از نوع float مثلا T1 T2 T3 رو در حافظه EEPROM اردینو ذخیره کنم و در قسمت دیگه ای از برنامه اون ۳ تا متغییر رو از حافظه بخونم.
        اگر میشه راهنمایی کنید.

        • سلام
          طبق الگوی زیر می‌توانید مقادیر مقادیر ذخیره شده در EEPROM را آدرس دهی کنید:

          #include

          void setup()
          {
          for (int i = 0; i < 255; i++)
          EEPROM.write(i, i);
          }

          void loop()
          {
          }

  • سلام می خواستم بدونم می تونم چندتا پورژع مثل ساعت دیجیتال رطوبت سنج دما سنج باهم از یک برد اردینو استفاده کنم؟

    • سلام
      هر پروژه را در تب جدیدی می‌توانید ایجاد کنید. فقط به این نکته توجه کنید که در هر کد، از چه پایه هایی استفاده شده است و در صورت مشابه بودن، آنها را تغییر دهید.

    • سلام
      در ابتدا طبق آموزش کتابخانه های مورد نیاز که لینک دانلود آن در متن قرار گرفته شده،برای کدهانصب کنید. نکته بعدی که باید به آن دقت کنید، انتخاب صحیح نوع برد و پورت آردوینو است که در منو آردوینو ، در قسمت Tools ، ابتدا Board و سپس Port را انتخاب کنید. مراحل گفته شده را بررسی کنید و اگر مشکل برطرف نشد، مجددا از همین طریق اعلام نمایید.

  • سلام وقتی کذ هارو کامپایل می کنم این ارور می ده
    Arduino: 1.8.1 (Windows 7), Board: “Arduino/Genuino Uno”

    C:\Users\hacked by pouya\Desktop\sketch_nov11a\sketch_nov11a.ino:1:17: fatal error: dht.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board Arduino/Genuino Uno.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    • سلام
      این ارور مربوط به کتابخانه می‌باشد. ابتدا کتابخانه را از فایل دانلود کتابخانه در صفحه محصول لینک شده در آموزش، دانلود کنید. سپس در مسیر نصب آردوینو Arduino/library فایل را کپی نمایید و مجددا کامپایل کنید. در صورت برخورد به مشکل مجددا از همین طریق اقدام نمایید تا بررسی کنم.

      • سلام من از ماژول دماسنجی که استفاده کردم مانند تصویر فقط قسمت ابی رنگ داره و بقیه قسمت هارا نداره مشکلی ممکنه برام پیش بیاد

        • سلام
          خیر در واقع شما از سنسور DHT استفاده می‌کنید و مشکلی نخواهد داشت. تنها ترتیب پایه ها را رعایت کنید که به ترتیب vcc, data, nc, gnd می باشد. همانند اتصالات گفته شده در آموزش پایه سیگنال را به پایه ۲ آردوینو وصل کنید.

          • سلام این ارور می ده
            Arduino: 1.8.5 (Windows 7), Board: “Arduino/Genuino Uno”

            C:\Users\hacked by pouya\Documents\Arduino\sketch_nov13a\sketch_nov13a.ino:1:17: fatal error: dht.h: No such file or directory

            #include

            ^

            compilation terminated.

            exit status 1
            Error compiling for board Arduino/Genuino Uno.

            This report would have more information with
            “Show verbose output during compilation”
            option enabled in File -> Preferences.

  • بورد جدا کردم ولی این ارور می ده
    Arduino: 1.8.5 (Windows 7), Board: “Arduino/Genuino Uno”

    C:\Users\hacked by pouya\Documents\Arduino\sketch_nov13a\sketch_nov13a.ino:1:17: fatal error: dht.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board Arduino/Genuino Uno.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    • ابتدا مطمئن شوید که کتابخانه به درستی نصب شده است. لینک کتابخانه در متن آموزش قرار گرفته شده ، آن را دانلود و در مسیر نصب آردوینو در پوشه arduino ,library کپی نمایید. سپس مجددا اتصالات را چک کنید و آپلود کنید.

    • سلام
      متوجه منظورتون نمیشم. از طریق منو نرم افزار آردوینو روز گزینه Sketch کلیک کنید. سپس گزینه include library را انتخاب کنید.سپس manage libraries را کلیک کنید. حال در صفحه باز شده DHT را سرچ کنید و سپس کتابخانه های مورد نیاز را نصب کنید.

  • باعرض سلام و خسته نباشید
    در اپلود کردن برنامه ارورArduino: 1.8.4 (Windows 7), Board: “Arduino/Genuino Uno”

    C:\Users\atsun\Documents\Arduino\hosein\hosein.ino:1:17: fatal error: dht.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board Arduino/Genuino Uno.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.
    مشکل چیه لطفا راهنمایی کنین

    • سلام
      ارور مربوط به کتابخانه می‌باشد. کتابخانه را دانلود و در مسیر نصب آردوینو Arduino / Library کپی کنید. یا از طریق منو نرم افزار آردوینو ، Sketch انتخاب کنید و سپس در include library ، کتابخانه DHT را نصب کنید.

      • خسته نباشین
        چندین بار از روش هایه مختلف امتحان کردم کتابخانه هایه مربوطه نصب هستن.
        اما بازم همین ارور موقع اپلود میاد

          • Arduino: 1.8.4 (Windows 7), Board: “Arduino/Genuino Uno”

            hosein:15: error: ‘TM1637’ does not name a type

            TM1637 tm1637(CLK,DIO);

            ^

            hosein:16: error: ‘dht’ does not name a type

            dht DHT;

            ^

            C:\Users\atsun\Documents\Arduino\hosein\hosein.ino: In function ‘void setup()’:

            hosein:21: error: ‘tm1637’ was not declared in this scope

            tm1637.init();

            ^

            hosein:22: error: ‘BRIGHTEST’ was not declared in this scope

            tm1637.set(BRIGHTEST);

            ^

            C:\Users\atsun\Documents\Arduino\hosein\hosein.ino: In function ‘void loop()’:

            hosein:31: error: ‘DHT’ was not declared in this scope

            DHT.read11(dht_pin);

            ^

            hosein:44: error: ‘tm1637’ was not declared in this scope

            tm1637.display(1,digitoneT);

            ^

            exit status 1
            ‘TM1637’ does not name a type

            This report would have more information with
            “Show verbose output during compilation”
            option enabled in File -> Preferences.
            با سلام
            از داخل گزینه ی includ library کتاب خونه هارو انتخاب کردم اما ایندفعه ارور بالایی رو میده خیلی ممنون از اینکه راهنمایی میکنین

            • سلام مجدد
              لطفا بجای کپی کردن کدها با موس، کدها را از طریق کلید میانبری که در بالای کد لینک شده است، کپی کرده و به نرم افزار آردوینو انتقال دهید.

  • با سلام
    بنده کتابخانه ها را اد کردم و حتی پیغام added هم دریافت کردم ولی موقعی که می خواهم روی برد کامپایل کنم این پیغام را می دهد
    Arduino: 1.8.5 (Windows 10), Board: “Arduino/Genuino Uno”

    C:\Users\Samaneh\Documents\Arduino\dama\dama.ino:5:17: fatal error: dht.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board Arduino/Genuino Uno.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    • Arduino: 1.8.5 (Windows 10), Board: “Arduino/Genuino Uno”

      C:\Users\Samaneh\Documents\Arduino\dama\dama.ino:1:17: fatal error: dht.h: No such file or directory

      #include

      ^

      compilation terminated.

      exit status 1
      Error compiling for board Arduino/Genuino Uno.
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\arduino-tm1637-master-Daneshjookit
      Invalid library found in C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit: C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master-Daneshjookit

      This report would have more information with
      “Show verbose output during compilation”
      option enabled in File -> Preferences.

      • همانطور که در کامنت قبلی شما توضیح دادم، طبق مراحل گفته شه پیش بروید و نتیجه را از همین طریق اعلام نمایید تا بررسی کنم.

    • سلام
      این ارور مربوط به کتابخانه است. منظور شما از ادد چیست؟ باید کتابخانه را در مسیر نصب آردوینو و در پوشه Library کپی کرده و از حالت زیپ خارج کنید. یا از طریق sketch ، include library کتابخانه مورد نیاز را سرچ و سپس نصب کنید. این مراحل را مجددا انجام داده و از همین طریق اعلام نمایید.

  • سلام کمک میخوام .تو کد گذاری مشکل دارم / تمام قطعات رو درست وصل میکنم ولی برد آردوینو روی ال سی دی هیچی نمیاره .پروژه ام دماسنج با استفاده از آردینو / ال سی دی ۱۶۰۲a/سنسور زد آب .ممنون میشم راهنمایی کنید .بخواید تو تلگرام واستون توضیح میدم یا عکس میفرستم .

    • سلام
      برای اتصال LCD باید همان پایه هایی که برای اتصال ال سی دی به آردوینو استفاده کرده اید را در کدها برای تعریف ال سی دی استفاده کنید. همچنین مجددا اتصالات پایه ها را با توجه به pinout ال سی دی ۲*۱۶ بررسی کنید. اگر از همین طریق توضیحات کامل تری بدهید، راهنمایی خواهم کرد.