قصد داریم ساخت دماسنج دیجیتالی با آردوینو را با هم تجربه کنیم.
ماژول ترموکوپل MAX6675 نوع k
در این پروژه از ترموکوپل نوع k که یکی از رایج ترین ترموکوپلهای موجود است، استفاده می کنیم.
این ترموکوپل به نسبت ارزان، دقیق و قابل اعتماد است و دامنه دمائی وسیعی دارد.
در این مقاله، نحوه استفاده از آردوینو Arduino Uno/Nano و یک ماژول نمایشگر OLED برای خواندن ترموکوپل K شرح داده می شود.
کد برنامه بکار رفته در این پروژه دمای خوانده شده ترموکوپل را به سانتی گراد یا فارنهایت تبدیل می کند.
تراشه MAX6675 در پکیج 8 پایه SO موجود است. این تراشه جبران سازی اتصال سرد را انجام می دهد و سیگنال ترموکوپل k را دیجیتالی می کند.
داده نهایی خروجی رزولوشین 12 بیت، سازگار با SPI و در فرمت فقط خواندنی است.
این تراشه هوشمند دارای ویژگی تشخیص ترموکوپل باز است. برای ساخت سریع پروژه مان از ماژول MAX6675 مدلK استفاده می کنیم که مقرون به صرفه تر است.
راه اندازی ترموکوپل بر روی نمایشگر
اکنون خیلی ساده نمایش دما را بر روی یک نمایشگر سریال راه اندازی می کنیم. اتصالات بین ترموکوپل و آردوینو به صورت زیر برقرار می گردد.
توجه داشته باشید پایه CS در بعضی ماژولها SS نام گرفته است.
Vcc به 5 v
Gnd به Gnd
SO به D4
CS/SS به D5
CSK به D6
این طرح برای شروع به کتابخانه MAX6675 نیاز دارد.
کد برنامه
پنجره Serial Monitor
قصد ما ساخت دماسنج دیجیتالی با آردوینو است که با باتری کار می کند. پیشنهاد ما این است که همه مدار از جمله بسته باتری 2S (7.4-V) Li-ion/LiPo را در جعبه مناسب قرار دهید.
طرح زیر فارغ از اندازه می تواند نمایی از این جعبه باشد.
راه اندازی پروژه
حالا سخت افزار را که شامل یک آردوینو Uno و نمایشگر OLED است راه اندازی می کنیم.
نمایشگر OLED استفاده شده فقط چهار پایه دارد: VCC، GND، SDA و SCL.
شما می توانید آردوینو Nano را بدون هیچ تغییری در شماتیک یا کد، جایگزین آردوینو Uno کنید.
کلیه اتصالات ماژول نمایشگر OLED و ماژول MAX6675 و آردوینو به صورت زیر است.
OLED: Vcc به 5 v
OLED: Gnd به Gnd
OLED: SDA به A4
OLED: SCL به A5
OLED: Gnd به Gnd
MAX6675: Vcc به D3
MAX6675: Gnd به D2
MAX6675: SO به D4
MAX6675: CS/SS به D5
MAX6675: SCK به D6
دیاگرام راه اندازی سخت افزار
یک کد عالی به کاربر این امکان را می دهد که انعطاف پذیری بیشتری در استفاده از سنسورهای ترموکوپل بدون خطا داشته باشد. خطاهای بی موردی ممکن است در هنگام کار با آنها مواجه شود.
ماکزیمم دما در بالا سمت چپ صفحه نمایش و مینیمم دما در بالا سمت راست صفحه نمایش نشان داده می شود. پایین ترین خط هم نمایشگر دمای فعلی است.
۶ دیدگاه. Leave new
سلام میشه بدون تغییر کد نمایشگر بزرگتری رو بجای نمایشگری که شما گفتید استفاده کنیم
مثل این نمایشگر:
https://roboeq.ir/products/detail/1201058/%D9%85%D8%A7%DA%98%D9%88%D9%84-%D9%86%D9%85%D8%A7%DB%8C%D8%B4%DA%AF%D8%B1-OLED-%D8%AA%DA%A9-%D8%B1%D9%86%DA%AF-3-1-%D8%A7%DB%8C%D9%86%DA%86-%D8%AF%D8%A7%D8%B1%D8%A7%DB%8C-%D8%A7%D8%B1%D8%AA%D8%A8%D8%A7%D8%B7-I2C/
سلام علی عزیز، خیر، این کار امکان پذیر نیست.
سلام. باتری حتما باید باتری ۲S (7.4-V) Li-ion/LiPo باشد؟ نمیتوان از باتری با ولتاژ دیگری استفاده کرد؟
سلام خیر دوست عزیز،
از هر نوع باتری که ولتاژ آن در محدوده مجاز ورودی آردوینو uno باشه (۷ تا ۱۲ ولت)، مثل باتری کتابی، میتونید استفاده کنید.
مزیت باتریهای لیتیوم پلیمر و لیتیوم یون قابل شارژ بودنشونه.
سلام
میشه بجای نمایشگر ، داده ها رو روی صفحه گوشی نمایش داد؟
سلام مهدی عزیز،
بله امکانش هست، اما طبیعتا باید کد دیگهای بنویسی. مثلا میتونی دمای خوانده شده رو از طریق پورت سریال به گوشی ارسال کنی و با برنامه Serial USB Terminal که برای اندروید هست، عدد رو بخونی.
روشهای پیچیده و جذابتر دیگهای هم هست مثل نوشتن یک app مختص این کار یا روشهای بیسیم با استفاده از ماژولهای بلوتوث یا وایفای.
اگه علاقه داشته باشی میتونی مقالهی زیر رو هم که در مورد ارتباط سنسورهای دما و رطوبت dht11 و dht22 با ماژول وای فای esp8266 هست، مطالعه کنی:
https://roboeq.ir/blog/%D8%A7%D8%B1%D8%AA%D8%A8%D8%A7%D8%B7-%D8%B3%D9%86%D8%B3%D9%88%D8%B1-dht11-%D9%88-dht22-%D8%A8%D8%A7-esp8266-nodemcu/