حسگر آنالوگ و خروجی آنالوگ

نحوه ساخت حسگر آنالوگ و خروجی آنالوگ با استفاده از ماژول بلوتوث RN487x Microchip

این پروژه برای نشان دادن استفاده از ماژول بلوتوث RN487x Microchip ارائه شده است. یک سنسور دیجیتال ، یک کنترل دیجیتال ، یک سنسور آنالوگ و یک کنترل آنالوگ. هر نمونه شامل یک مدار اسمی و پیکربندی لازم در RN487x است. یک اسکریپت کاربردی ساده برای اعمال محیطی نیز ارائه شده است.

پروژه سنسور آنالوگ

سنسور آنالوگ توسط پتانسیومتر نمایش داده می شود.

حسگر آنالوگ و خروجی آنالوگ

الگوی طراحی دارای سه جزء است :

  • سخت افزار: وظیفه ی سخت افزار فراهم آوردن سیگنال ورودی آنالوگ است.
  • پیکربندی: دستورات ماژول RN487x به یک متغیر در پایگاه داده اختصاص داده شده و سیگنال به متغیر اختصاص داده شده است.
  • برنامه: برای درخواست مقدار سنسور و نمایش مقادیر دیجیتالی شده بر روی یک ایستگاه کاری

سخت افزار، ورودی آنالوگ.

نقش “ورودی آنالوگ” به سادگی توسط پتانسیومتر ارائه می شود. RV1 ماژول دیتاشیت RN487x را نشان می دهد که دامنه کامل A / D از VCC تا GND است ، بنابراین بر این اساس پتانسیومتر را سیم کشی می کنیم.

شماتیک پروژه محیطی ورودی آنالوگ

حسگر آنالوگ و خروجی آنالوگ

از آنجا که ما فقط یک سیگنال را مدیریت می کنیم و از PWM استفاده نمی شود ، RN4871 را انتخاب کرده ایم. این مدار را می توان با یک جفت باتری AAA یا حتی یک باتری دکمه ای راه اندازی کرد.

  • عناصر باقی مانده از مدار عبارتند از:
  • C1: یک خازن بای پس برای تثبیت نیرو
  • C2،: R1تأخیر در تنظیم مجدد پردازنده در زمان روشنایی
  • J1 : یک پورت سریال برای پیکربندی

پیکربندی ورودی آنالوگ

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

دو دستور مربوطه عبارتند از:

PS ، ۵۹c88760536411e7b114b2f933d5fe66

PC ، ۵۹c889e0536411e7b114b2f933d5fe66،۰۲،۰۲

دستور اول  “”PS  سرویس را ایجاد می کند. دستور دوم ” PC”، مشخصه را ایجاد می کند.

  • در هر دو دستور ، اولین پارامتر مشخصه شناسایی است که به محیط جانبی ما اجازه می دهد تا در دنیای سایر لوازم جانبی بلوتوث وجود داشته باشد و به صورت منحصر به فرد به آنها دسترسی پیدا کنیم. این پارامتر باید مطابق با استاندارد UUID باشد. می توانید از مقادیر مثال نشان داده شده استفاده کنید. ایجاد هر تعداد UUID استاندارد نیز آسان است.
  • در دستور PC ، پارامتر دوم به لایه بلوتوث می گوید که چگونه تغییرات در دیتابیس به مشتری وارد می شود. در این حالت ، پارامتر (۰۲) می گوید که برنامه فقط در صورت نیاز این مقدار را می خواند.
  • سرانجام ، در دستور PC ، پارامتر سوم اندازه مقدار را در بایت تعریف می کند؛ ‘۰۲ در این حالت است، زیرا درگاه های A / D نتیجه ۱۶ بیتی را ارائه می دهند (طیف کامل ۰x0000-0x0E10 است).

قسمت اسکریپت پیکربندی ما به صورت زیر است:

@CONN

SM,2,0010

@DISCON

SM,2,0000

@TMR2

[email protected],2

SHW,0072,$VAR1

SM,2,0010

این اسکریپت باعث می شود مبدل A / D ، ۱۰ پین سیگنال را نمونه برداری کند و مقدار دیجیتالی شده را در پایگاه داده قرار دهد. ویژگی اسکریپت نویسی که ما از آن استفاده می کنیم منحصر به فرد برای این مثال ، تایمر است.

 با روش :

 : CONN وقتی مشتری متصل شود ، اجرا می شود. تایمر را شروع می کند.

: DISCON وقتی مشتری متصل شود قطع می شود. تایمر را متوقف می کند.

[email protected]:  هنگامی که تایمر منقضی می شود اجرا می شود. این نمونه ای را به پایگاه داده منتقل می کند. تایمرهای RN487x تایمرهای یک شات هستند ، بنابراین باید تایمر را نیز مجدداً راه اندازی کنیم.

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

برنامه ورودی آنالوگ

اسکریپت پایتون meter.py است. اسکریپت را ویرایش کرده و آدرس MAC نمونه را با آدرس MAC دستگاه خود جایگزین کنید. سپس ، برای با توجه به مثال ، به سادگی قدرت را در محیط جانبی اعمال کنید ، سپس اسکریپت را روی یک سیستم با قابلیت های بلوتوث مناسب اجرا کنید.  این اسکریپت پیام هایی را برای نشان دادن پیشرفت در هنگام اتصال به محیط به شما ارسال می کند. پس از اتصال محیطی ، در هر نیم ثانیه یک نمونه جدید را می خواند و نمایش می دهد. اسکریپت کوتاه است و شامل نظرات برای همه بلوک ها عملکرد و تماس های API GATT می باشد. برای ایجاد یک کنترل آنالوگ ، از همین الگوی طراحی پیروی کنید.

پروژه کنترل آنالوگ

خروجی این پروژه توسط یک LED نمایش داده می شود.

حسگر آنالوگ و خروجی آنالوگ

الگوی طراحی ما دارای سه جزء است :

  • سخت افزار: سخت افزار خاص وظیفه برای بیان سیگنال آنالوگ
  • پیکربندی: پیکربندی: دستورات ماژول RN487x به یک متغیر در پایگاه داده اختصاص داده شده و سیگنال به متغیر اختصاص داده شده است.
  • برنامه: برای تهیه یک مقدار ۱۶ بیتی متغیر ، سطح موردنظر را مشخص کنید.

سخت افزار کنترل آنالوگ

“خروجی آنالوگ” توسط یک LED نشان داده می شود. D1 ماژول RN4870 یک خروجی موج مربعی PWM (پالس-پهنای مدوله) در این پین تولید می کند. این یک روش متداول تک سیم برای بیان مقدار آنالوگ است و همچنین با یک فیلتر کم گذر ساده می تواند به یک ولتاژ آنالوگ تبدیل شود.

 

شماتیک برای پروژه محیطی خروجی آنالوگ

RN4871 هیچ گزینه خروجی آنالوگ ندارد ، به همین دلیل ما برای این مثال از ۴۸۷۰ استفاده می کنیم. اتصال سیگنال PWM به طور مستقیم به LED راهی برای دیدن محدوده آنالوگ به ما می دهد. یک LED کم نور برای مقادیر کم ، یک LED روشن برای مقادیر بالا و غیره. مانند سه پروژه دیگر ، این مدار همچنین می تواند توسط یک جفت ساده باتری AAA سلول سکه تولید شود.

عناصر مدار باقی مانده عبارتند از:

  • : C1 یک خازن بای پس برای تثبیت نیرو
  • C2،: R1 تأخیر در تنظیم مجدد پردازنده در زمان روشنایی
  • : J1 یک پورت سریال برای پیکربندی

پیکربندی کنترل آنالوگ

قبل از ایجاد پیکربندی برای این مثال ، اطمینان حاصل کنید که ماژول در حالت شناخته شده قرار دارد. برای نمایش وضعیت سنسور ما فقط به یک مشخصه در بانک اطلاعاتی نیاز داریم. بنابراین ما یک سرویس و یک مشخصه در آن سرویس ایجاد می کنیم. دو دستور مربوطه عبارتند از:

PS,59c88760536411e7b114b2f933d5fe66

PC,59c889e0536411e7b114b2f933d5fe66,08,14

دستور اول  PS””  سرویس را ایجاد می کند. دستور دوم”PC” مشخصه را ایجاد میکند. در هر دو دستور ، پارامتر اول شناسه ای است که به محیط جانبی اجازه می دهد تا تا در دنیای سایر لوازم جانبی بلوتوث وجود داشته باشد و به صورت منحصر به فرد به آنها دسترسی پیدا کنیم. این پارامتر باید مطابق با استاندارد UUID باشد. می توانید از مقادیر مثال نشان داده شده استفاده کنید. ، شما همچنین می توانید بسیاری از UUID های استاندارد مورد نیاز خود را ایجاد کنید.

در دستور “PC” ، پارامتر دوم به لایه بلوتوث نشان می دهد که چگونه تغییرات برای مشتری وارد شود. در این حالت ، پارامتر (۰۸) می گوید که محیط باید هنگام تغییر یک مقدار ، تأییدیه را برای مشتری ارسال کند.

سرانجام ، در دستور PC ، پارامتر سوم اندازه مقدار را در بایت تعریف می کند؛ tes 14 بایت در این حالت. اگرچه فرمان کامل PWM تنها با ۴ بایت قابل بیان است ، اما ما در این مثال از یک تماس از راه دور استفاده می کنیم که به فضای بیشتری احتیاج دارد. این بیشتر در اسکریپت برنامه توضیح داده شده است.

قسمت اسکریپت پیکربندی ما به صورت زیر است:

@PW_ON

۷۲=?FUNC 1

?FUNC 1

[ ۲ , ۲ , $PM1,$PM2

در این اسکریپت دو روش وجود دارد ، اولین پیشوند با “@ ” و دومی با “؟” . هر روش روی یک رویداد خاص در سیستم اجرا می شود و فقط یک دستور دارد:

  • PW_ON: با روشن شدن کار می کند. FUNC1 را با یک متغیر پایگاه داده مرتبط می کند. متغیر DB مرتبط با دسته مشخصه ، ۷۲ مشخص شده است.
  • ؟ :FUNC1 هر زمان که مشتری یک مقدار را به متغیر DB که توسط دسته ۰۰۷۲ مشخص شده است می نویسد، پارامترها، توسط مقادیری که مشتری برای متغیر DB می نویسد، تعیین می شود. این روش دو متغیر ، PM1 و PM2 $  را در نظر گرفته و از آنها برای کنترل فرکانس و چرخه وظیفه سیگنال PWM استفاده می کند. این سیگنال متصل به LED است.

برنامه کنترل آنالوگ

اسکریپت پایتون volume.py است. اسکریپت را ویرایش کرده و آدرس MAC نمونه را با آدرس MAC دستگاه خود جایگزین کنید. سپس ، با استفاده از مثال ، به سادگی قدرت را در محیط جانبی اعمال کنید ، سپس اسکریپت را روی یک سیستم با قابلیت های بلوتوث مناسب اجرا کنید.

مطالعه موارد زیر ممکن است به شما کمک کند

گزینه های ساخت

صفحه توسعه Microchip RN487x می تواند برای هر یک از این مثال ها مورد استفاده قرار گیرد ، اما همچنین دارای بسیاری از ویژگی های لازم برای سیستم هایی که ما ایجاد می کنیم نیست. لحیم کاری دستگاه و مدارهای آزمایش بر روی نمونه سازی PCB احتمالاً ارزانترین گزینه است. ماژول ها برای سطح پایه در نظر گرفته شده اند ، بنابراین مهارت های جزئی و مدیریت دما برای این رویکرد بسیار مهم است.

عمومی در مقابل خصوصیات خاص

UUID های ۱۲۸ بیتی که برای شناسایی ویژگی های این سری استفاده کردیم در استاندارد بلوتوث به خصوصیات خصوصی شناخته می شوند. یک خصوصیات خاص معمولاً فقط در دامنه یک برنامه مشتری و یک محیط جانبی مفید است که هر دو توسط یک فروشنده سخت افزار یا نرم افزار واحد تولید می شوند. گزینه جایگزین یک ویژگی ۱۶ بیتی است که تعریفی از درک عمومی دارد و در بلوتوث SIG به ثبت رسیده است.

یک مثال سرعت باد :

Name: Apparent Wind Speed

Assigned Number: 0x2A72

این مثال اسکریپت پیام هایی را برای نشان دادن پیشرفت در هنگام اتصال به محیط به شما ارسال می کند. پس از اتصال محیطی ، اسکریپت طیف وسیعی از مقادیر را به قسمتهای جانبی ارسال می کند. مقادیر به آرامی افزایش، سپس کاهش می یابد. در نتیجه ، LED به تدریج روشن می شود ، سپس محو می شود. اسکریپت کوتاه است و شامل نظرات برای همه بلوک های عملکرد و تماس های API GATT است. ویژگی BLE که ما از آن استفاده می کنیم و برای این مثال منحصر به فرد تماس های از راه دور است.

کنترل همزمان و سیگنال های حسی

اگرچه این مثالها فقط مربوط به یک سیگنال سخت افزاری واحد است ، اما به معنای محدودیت برای ماژول نیست. هر دو ماژول RN487x دارای چندین پین GPIO هستند و می توان همزمان از آنها استفاده کرد. اسکریپت های اتصال دهنده پین را می توان برای چندین پین استفاده کرد. ماژول NVRAM دارای فضایی برای سرویس های مختلف و تعاریف مشخصه است. و البته ، برنامه مشتری می تواند چندین ویژگی و رویدادهای مرتبط را کنترل کند ، همه در محدوده اتصال یک دستگاه می باشند.

کلاس ها هم به صورت مدت دار و هم یک روزه برگزار میشود. ویژه کارآموزهای شهرستان و شاغلین

تا زمانی که خود کارآموزان از لحاظ فنی و تئوری به حد قابل قبول رسیده باشند

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *