آردوینو پروژه های آردوینو

آموزش اتصال ماژول دماسنج غیر تماسی GY-MCU90615 به آردوینو

arduino temperature GY-MCU90615
نوشته شده توسط شهاب کمالی

به وسیله ماژول  GY-MCU90615 قادر خواهید بود دمای اشیا را از فاصله دور بدون تماس با اجسام اندازه گیری نمایید. این ماژول را می‌توان توسط پروتکل Serial  به آردوینو یا هر میکروکنترولر دیگری متصل  نمود.این ماژول علاوه بر استفاده‌های صنعتی در مسابقات رباتیک لیگ‌های آتش‌نشان و امداد‌گر کاربرد دارد.
در این مقاله ما میخواهیم روش متصل کردن این ماژول را به آردوینو آموزش دهیم. در ادامه  آموزش با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید.

سخت افزار مورد نیاز

آردوینو Uno

ماژول دماسنج غیر تماسی GY-MCU90615

اتصالات

این ماژول در ولتاژ کاری بین ۳ تا ۵ ولت کار میکند. ما در این آموزش از پین ۳٫۳ ولت استفاده کرده ایم.

  • پین ۳٫۳ به vin ماژول
    اتصال GND به GND ماژول
    اتصال RX به Tx ماژول
    اتصال Tx به Rx ماژول

 

 

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

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

جهت مشاهده خروجی برنامه، تنظیمات سریال زیر را در کنسول مورد نظر خود انجام میدهیم.

۱۱۵۲۰۰ bps parity bit: N Data bits: 8 Stop bits: 1

فرمت دیتا دریافتی به صورت زیر است.

 

Byte0: 0x5A Preamble Flags

Byte1: 0x5A Preamble Flags

Byte2: 0X45 The frame data types (0X45: temperature data)

Byte3: 0x04 amount of data (data 2 the following four groups, for example)

Byte4: 0x00 ~ 0xFF Data 1 high 8

Byte5: 0x00 ~ 0xFF Data 1 low 8

Byte6: 0x00 ~ 0xFF Data 2 high 8

Byte8: 0x00 ~ 0xFF checksum (data accumulation and front, leaving only the lower 8 bit)

کدنویسی

 

شرح برنامه

 

جهت تنظیمات ماژول کدهایی را به صورت هگزادسیمال هشت بیتی میتوانیم به ماژول بفرستیم که فرمت دستور دادن به ماژول به صورت :

(header + command + checksum (8bit  است
مانند: ۰xA5 + 0x45 + 0xEA که جهت خواندن اتوماتیک دما استفاده میشود.

جهت تنظیم Baud rate نیز میتوانید از دستورات زیر استفاده کنید:

۰xA5 + 0xAE + 0x53 ————— 9600

۰xA5 + 0xAF + 0x54 ————— 115200

ماژول به صورت پیش فرض در سرعت انتقال ۱۱۵۲۰۰ تنظیم شده.

در این قسمت از کد برنامه به محض دریافت اطلاعات ۹ بایت میخواند و درون آرایه ذخیره میکند:

 

در قسمت loop برنامه، TO(دمای شی) و TA(دمای محیط) محاسبه میگردد:

 

فرمول محاسبه TO,TA به صورت زیر است.

High temperature = 8 << 8 | Low 8 (results for the actual angle multiplied by 100)

برای مثال اگر دستور A5 45 EA را فرستادیم و بایت های زیر را دریافت کردیم:

<5A- 5A- 45- 04- 0C- 78- 0D- 19- A7>

دمای شی از بایت پنجم و ششم به صورت زیر محاسبه میشود:

TO = 0x0C78 / 100 = 31.92 ℃

و دمای محیط از بایت هفتم و هشتم به صورت زیر محاسبه میشود:

TA = 0x0D19 / 100 = 33.53  ℃

 

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

شهاب کمالی

۶ دیدگاه

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

    • درود دوست عزیز یه تنظیمات زیر حتما توجه کنید
      ۱۱۵۲۰۰bps parity bit: N Data bits: 8 Stop bits: 1
      جهت خروجی سریال باید سرعت انتقال و بقیه پارامتر ها تنظیم باشند

  • سلام
    من می خوام این سنسور رو با avr و بسکام راه اندازی کنم میشه نحوه کار رو توضیح بدید که به چه صورت این کار رو انجام بدم .خودم کد ها شو می نویسم . با تشکر

  • سلام. من می خوام دما اندازه گیری شده رو با خروجی ۰ تا ۱۰ ولت یا ۰ تا ۵ ولت تبدیل کنم و به یه کنترلر دیگه بفرستم. لطفا راهنمایی کنید.

  • با سلام و خسته نباشید، چه شکلی میشه باد ریت روی ۹۶۰۰ تنظیم کرد؟ آیا باید به جای اون ۳ تا دستور هگز فقط این ۳ تا دستور هگز که مخصوص ۹۶۰۰ هست بزنم؟؟ یا باید علاوه بر اونم چیزی بنویسم؟؟

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