آردوینو آردوینو Arduino Uno آموزش آردوینو بلوتوث Bluetooth

ارتباط دوطرفه با بلوتوث ماژول HC05 و برد آردوینو از طریق AT Command

نوشته شده توسط پریسا پوربلورچیان

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

 


فلسفه بلوتوث Bluetooth


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

  • بلوتوث معمولی که در گجت‌های ساده مثل اسپیکرها، ماشین‌ها و یا دیگر وسایل به کار برده می‌شود.
  • BLE یا همان بلوتوث کم مصرف Blutooth Low Energy نسل جدید بلوتوث که در وسایل بخش قبلی هم اضافه شده است.

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

 


عملکرد بلوتوث Bluetooth


هدف اصلی در این آموزش معرفی دو بخش مهم در ساختار ماژول بلوتوث است. دو مود اصلی برای انتقال دیتا در بلوتوث معرفی شده است. یکی Slave و دیگری Master می‌باشد. هنگامی که ماژول بلوتوث توسط تغدیه اعمالی فعال می‌گردد، می‌تواند در دو حالت Slave و Master قرار گیرد. با کدنویسی‌هایی که برای پروژه در نظر گرفته شده است، توسط سریال مانیتور Serial Monitor مود اصلی را برای ماژول بلوتوث مشخص می‌کنیم. این ارتباط از طریق پایه‌های RX و TX میکروکنترلر، دیتاهایی دریافتی را با پروتکل سریال برای برد آردوینو ارسال می‌کند. در این حالت ماژول در مود Pairing قرار گرفته و در حالت Slave قرار می‎گیرد. سپس ماژول منتظر می‌ماند تا دستگاهی درخواست برقراری ارتباط کند. جهت ارسال دیتا به ماژول بایستی از طریق پایه RX اطلاعات را با پروتکل سریال به ماژول بدهیم تا ماژول با ارتباط بلوتوث Bluetooth دیتا را به دستگاه متصل شده ارسال کند. جهت درک بهتر روند عملکرد ماژول بلوتوث Bluetooth از دو ماژول بلوتوث یکی به عنوان Master و دیگری در نقش Slave استفاده خواهیم کرد.

دو تعریف اصلی

  • Master می‌تواند دستگاه های بلوتوث اطراف را جستجو کرده و با دستگاهی خاص ایجاد ارتباط کند.
  • Slave فقط مورد جستجو قرار گرفته و به درخواست های ارتباط پاسخ مثبت و منفی می‌دهد.

ارتباط بین دو ماژول بلوتوث HC05 توسط برد آردوینو - digispark

 


دستورات AT Command بلوتوث


جهت برقراری ارتباط بین دو ماژول از دستورات AT Command استفاده می‌کنیم. در ادامه لیست AT Command های مورد نیاز برای اجرای پروژه را نوشته و به ترتیب در بخش‌های مورد نیاز فراخوانی می‌کنیم.

 

 

 


حالت اول Slave بلوتوث


یکی از ماژول بلوتوث را انتخاب کرده و همانند زیر اتصالات را به برد آردوینو Arduino انجام دهید.

  • پایه VCC ماژول بلوتوث را به پایه ۵ ولت آردوینو Arduino اتصال دهید.
  • پایه GND ماژول بلوتوث را به پایه GND آردوینو Arduino اتصال دهید.
  • پایه RX ماژول بلوتوث را به پایه RX آردوینو Arduino اتصال دهید.
  • پایه TXماژول بلوتوث را به پایه TX آردوینو Arduino اتصال دهید.
  • پایه EN ماژول بلوتوث را به پایه ۵ ولت آردوینو Arduino اتصال دهید.

 

حال یک تب جدید در نرم افزار آردینو ایجاد کرده و بدون کد آپلود Upload کنید. سپس سریال مانیتور را باز کرده و به ترتیب کامندها زیر را وارد کنید. دقت کنید در هر مرحله بایستی پیغام OK برای شما در سریال مانیتور نمایش داده شود و به این معنی است که تنظیمات به درستی انجام شده است.

 

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

 


حالت دوم MASTER بلوتوث


برای حالت MASTER ماژول بلوتوث دیگری برداشته و همانند زیر اتصالات را انجام دهید:

  • پایه VCC ماژول بلوتوث را به پایه ۵ ولت آردوینو Arduino اتصال دهید.
  • پایه GND ماژول بلوتوث را به پایه GND آردوینو Arduino اتصال دهید.
  • پایه RX ماژول بلوتوث را به پایه RX آردوینو Arduino اتصال دهید.
  • پایه TXماژول بلوتوث را به پایه TX آردوینو Arduino اتصال دهید.
  • پایه EN ماژول بلوتوث را به پایه ۵ ولت آردوینو Arduino اتصال دهید.

 

حال یک تب جدید در نرم افزار آردینو ایجاد کرده و بدون کد آپلود Upload کنید. سپس سریال مانیتور را باز کرده و به ترتیب کامندها زیر را وارد کنید. دقت کنید در هر مرحله بایستی پیغام OK برای شما در سریال مانیتور نمایش داده شود و به این معنی است که تنظیمات به درستی انجام شده است.

نکته مهم: دقت کنید بایستی دو سریال مانیتور جداگانه داشته باشید. در صورت نیاز از آموزش روش ایجاد دو سریال مانتیور مجزا در نرم افزار آردوینو Arduino IDE استفاده نمایید.

 

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

 

ارسال فرمان از ماژول بلوتوث HC05 توسط برد آردوینو - digispark

 


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


 

اتصالات

  • هر دو کلید را به پایه های ۲ بردهای آردوینو اتصال دهید.
  • هر دو ال ای دی را به پایه های ۸ بردهای آردوینو اتصال دهید.
  • پایه RX هر دو ماژول بلوتوث را به پایه های TX بردهای آردوینو اتصال دهید.
  • پایه TX هر دو ماژول بلوتوث را به پایه های RX بردهای آردوینو اتصال دهید.
  • پایه KEY هر دو ماژول بلوتوث را از پایه های ۵ ولت بردهای آردوینو جدا کنید.

 


کدهای آردوینو بلوتوث Bluetooth


جهت برقراری ارتباط بین دو ماژول بلوتوث از دستور ifserial استفاده می‌کنیم. جهت آشنایی با این دستور و نحوه ی فراخوانی آن به آموزش ifserial مراجعه کنید. در ادامه کدهای آردوینو برای ماژول بلوتوث حالت Slave و ماژول بلوتوث حالت MASTER قرار داده شده است. کپی و به نرم افزار آردوینو ARDUINO انتقال دهید.

 

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

 

 

حال با فشردن کلید در SLAVE، ال ای دی در حالت MASTER روشن شده و برای با فشردن کلید در حالت MASTER، ال ای دی حالت SLAVE روشن می‌گردد.

ارتباط دوطرفه با ماژول بلوتوث Bluetooth و برد آردوینو - digispark

 

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

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک   دانشجوکیت    digispark    daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

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

 

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

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

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

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

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

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

۳ دیدگاه