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

OTA یا Over the Air اصتلاحی است که برای پروگرام کردن بیسیم گفته می شود . در این روش MCU در فاصله دوری از کامپیوتر قرار داشته و به صورت وایرلس می توان آن را برنامه ریزی کرد . با این روش شما می توانید به راحتی برنامه های خودتان را به روز رسانی کنید بدون اینکه به اتصال مدار به کامپیوتر نیازی باشد . برای برنامه ریزی آردوینو مدل UNO به صورت وایرلس دو روش استفاده از WiFi و روش بلوتوث وجود دارد . در روش اول معمولا از SoC های ESP8266 استفاده می شود . روش اول برای آدروینو UNO WiFi بهتر است چراکه دیگر نیازی ندارید هیچ قطعه خارجی رو به آردوینو متصل کنید . ما در این آموزش از روش دوم استفاده می کنیم که از نظر هزینه بسیار ارزان تر تمام می شود و از همه مهتر اینکه در این روش شما نیازی به هیچ کد اضافه ای ندارید و برنامه خود را همان طور که هست آپلود می کنید .

 

چیز هایی که نیاز دارید :

برد آردوینو UNO

ماژول HC05

خازن 0.1uF

 

 

شرح پروژه :

ماژول بلوتوث HC05 قابلیت ارتباط بلوتوث سریال را به صورت دو طرفه دارد . می توان با استفاده از گوشی یا کامپیوتر به این ماژول متصل شده و اقدام به ارسال و دریافت دیتا کرد . عملکرد ماژول های HC05 به این صورت است که یک ارتباط سریال دو طرفه را بر بستر بلوتوث ایجاد می کنند . ماژول HC05 دارای 6 پین به شرح زیر است :

TX : پین ارسال دیتا UART

RX : پین دریافت دیتا UART

VCC : پین تغذیه ماژول

GND : پین زمین ماژول

EN : پین تغییر وضعیت ماژول ( Mater و Slave )

State : این پین در هنگام دریافت دیتا چند میلی ثانیه تغییر وضعیت می دهد .

 

در آردوینو از یک بوت لودر با قابلیت UART استفاده شده است که امکان پروگرام کردن میکرکنترلر آن را توسط پورت سریال مهیا می سازد . با این وجود می توان ماژول HC05 را جایگزین ارتباط سیمی کرد . اما مشکلی وجود دارد . اگر به شماتیک آردوینو UNO R3 نگاهی بیاندازید خواهید دید که میکروکنترلر ATmega16u2 که کار تبدیل دیتا از USB به UART را انجام می دهد ، با پین ریستن میکروکنترلر اصلی در ارتباط است . اما دلیل این موضوع چیست ؟

بوت لودر آردوینو در هنگام ریست شدن میکروکنترلر اجرا خواهد شد . در واقع با هر بار ریست شدن میکرو ( زمانی که میکرو کنترلر برای بار اول روشن خواهد شد یک بار به صورت خودکار ریست می شود تا شمارنده برنامه از صفر شروع به شمارش کند ) بوت لودر اجرا شده و تا مدت زمان مشخصی در انتظار دریافت دیتایی مبنی بر پروگرام شدن می ماند که اگر در این زمان دیتایی دریافت نشود برنامه اصلی میکرو کنترلر اجرا خواهد شد . زمانی که آردوینو را پروگرام می کنید ، بعد از دریافت دیتا توسط ATmega16u2 موجود بر روی برد آردوینو ، ATmega16u2 میکروی اصلی را ریست کرده و اقدام به ارسال داده های دریافتی به میکروکنترلر اصلی میکند . فرایند ریست شدن میکروی اصلی توسط ATmega16u2 به این صورت است که به مدت چند میلی ثانیه پین ریست میکرو اصلی را صفر میکند .

ما در اینجا برای ریست کردن میکروی اصلی از پین State ماژول HC05 استفاده می کنیم . امکا مشکل اینجاس که پین State با دریافت اولین دیتا از 0 به 1 تغییر حالت می دهد و تا قطع ارتباط مقدار آن یک خواهد ماند . ما برای ریست آردوینو به سیگنال 0 احتیاج داریم ، همچنین تا زمانی که پین میکرو کنترلر در حالت صفر قرار داشته باشد برنامه میکرو اجرا نخواهد شد . پس به مداری جهت معکوس کردن ولتاژ و همچنین لجظه ای کردن سگنال نیاز داریم (هر بار که پین Stat یک میشه خروجی مدار چند میلی ثانیه در وضعیت صفر قرار بگیره ) .

در این جا از مدار زیر برای این کار استفاده می کنیم :

در این مدار با یک شدن پین State خازن شروع به شارژ میکند ، در این زمان ولتاژ BE یا همان ولتاژ دو سر مقاومت 10K از حداقل ولتاژ BE حالت بایاس مستقیم ترانزیستور بیشتر بوده و در نتیجه خروجی مدار که همان پین کلکتور ترانزیستور است صفر می شود . با شارژ کامل خازن ولتاژ بیس ترانزیستور صفر شده و خروجی به حالت آزاد خواهد رفت ( می توان خروجی را Pull up کنید ) . در زمان قطع اتصال به دلیل صفر شدن پین State خازن دشارژ می شود .

با اتصال مدار فوق ، با هر بار اتصال به HC-05 و ارسال اولین دیتا ، آردوینو ریست می شود .

مرحله بعدی آماده سازی HC-05 برای دریافت دیتا از سمت آردوینو IDE است . بوت لودر آردوینو UNO نسخه های مختلفی دارد که به طور کلی در سرعت و حجم متفاوت اند . با اجرا شدن بوت لودر UNO ، باید برنامه را از طریق UART و با بادریت 57600 به میکروکنترل آن ارسال کرد . پس لازم است باودریت HC-05 را بر روی 57600 تنظیم کنیم . برای این کار HC-05 را همانند تصویر زیر به مبدل USB-TTL متصل می کنیم :

 

پین TX ماژول به پبن RX مبدل متصل می شود .

پین RX ماژول به TX مبدل متصل می شود.

در این حالت قبل از اتصال مبدل به کامپبوت کلید Enable ماژول را نگه داشته و سپس مبدل را به کامپیوتر متصل کنید . پس از متصل کردن مبدل می توان کلید را آزاد کنید . با این کار ماژول HC05 وارد حالت AT+command میشه که به راحتی می توانید تنظیمات آن را تغییر دهید . تنها کاری که در اینجا نیاز به انجام آن داریم ، تغییر بادریت ماژول است . برای بررسی صحت انجام مراحل بالا ، وارد محیط Serial monitor آردوینو IDE بشید ( اگر قبلا تنظیمات ماژول HC05 تان را دستکاری نکرده اید بادریت را بر روی 9600 بگذاری ) در این حالت با هر بار ارسال AT باید ماژول OK را باز گرداندن .

حال دستور زیر را در محیط Serial monitor به ماژول بفرستید . در صورت صحیح وارد کردن دستور ماژول پیغام OK را بر می گرداند در غیر اینصورت ERORR نمایش داده می شود :

AT+UART:56700

در برخی از فریمور های HC05 بجای “:” باید از “=” استفاده کرد .

 

با ارسال دستور فوق بادریت ماژول به 56700 تغییر می یابد . حال طبق شماتیک زیر آردوینو را به HC05 متصل کنید و سپس آردوینو را به کامپیوتر وصل کنید .

با روشن شدن ماژول HC05 وارد تنظیمات بلوتوث کامیپوتر خود بشید و به ماژول متصل شوید (اسم بلوتوث HC05 و رمز پیش فرض آن 1234 می باشد ) .

با اتصال بلوتوث کامپیوتر به HC05 ، مراجل زیر را انجام دهید تا بتوانید از ارتباط بلوتوث HC05 همانند یکی پورت COM در ویندوز استفاده کنید :

به مسیر زیر برید

Start > (Settings) > Control Panel >Device Manager

حال در زیر شاخه Ports به دنبال اسم ماژول بلوتوث خود (HC-05) بگیردید . در مقابل اسم ماژول شماره پورت COM قید شده که این پورت همان پورتی است که در هنگام پروگرام کردن باید آن را انتخاب کنید .

دربرخی مواقع Bluetooth COM توسط ویندوز ساخته نمی شود که در این هنگام باید به صورت دستی خودتان این کار را انجان دهید . برای این کار به مسیر زیر بروید :

 

Start > (Settings) > Control Panel >Device and Printers

حال گزینه Bluetooth Setting رو انتخاب نماید . در این پنجره به سر برگ COM Ports رفته و با استفاده از دکمه Add ماژول بلوتوث خود را به فهرست پورت های COM اضافه کنید و سپس مراحل قبل تر را برای اطلاع از شماره پورت انجام دهید .

 

 

با انجام مراحل فوق که شامل :

 

1- اتصال HC-05 به مبدل TTL-USB و تغییر باد ریت ارتباطی آن

2-بستن مدار اتصال HC-05 و آردوینو

3-اتصال کاکمپیوتر به بلوتوث HC-05

4-اضافه کردن HC-05 به لیست پورت های COMا

حال نوبت به پروگرام کردن آردوینو می رسد . برای این کار نیاز به اقدام اضافه ای نیست و همانند حالت معمول با زدن گزینه آپلود ، آردوینو شروع به پروگرام شدن خواهد کرد . تنها کاری که باید انجان دهید این است در قسمت Ports برنامه آردوینو IDE پورت مربوط به ماژول HC-05 خود را انتخاب نمایید .

لازم به ذکر است در این پروژه پس از پروگرام شدن آردوینو می توان از ماژول HC-05 همانند حالت معمولی برای ارتباط بلوتوث استفاده نمود .

Tags:
About Author: USER_4