آموزش STM32پروژه الکترونیکپروژه های ARMپروژه های STM32پروژه های بلوتوث

آموزش کامل ارتباط اندروید و STM32 با بلوتوث

سلام. آموزش کامل ارتباط اندروید و STM32 با بلوتوث را آماده کردیم.

ارسال اطلاعات از Android به STM32 از طریق Bluetooth

در دنیای امروز بلوتوث بسیار پرطرفدار شده است و تقریباً در هر دستگاه مانند سیستم تلفن همراه ، لپ تاپ و … از Bluetooth برای ارتباط بی سیم استفاده می شود. بلوتوث نه تنها برای انتقال داده بلکه برای کنترل سایر دستگاههای بلوتوث دیگری نیز استفاده می شود ، مانند استفاده از هدست بلوتوث می توانید آهنگ را به صورت بی سیم از تلفن همراه خود بشنوید یا می توانید از سیستم صوتی اتومبیل برای پخش آهنگ ها از تلفن همراه خود استفاده کنید. بلوتوث یک فناوری بی سیم است که با فرکانس 2.4 گیگاهرتز کار می کند. سیگنال بلوتوث معمولی در شعاع 10 متر است. بلوتوث رایج ترین فناوری بی سیم در پروژه های تعبیه شده با شرط کوچک بودن محدوده است.

توضیحات ماژول بلوتوث HC-05

ماژول بلوتوث HC-05

HC05 در واقع یک ماژول بلوتوث است که از پروتکل پورت سریال (SPP) پشتیبانی می کند و در بسیاری از برنامه های بی سیم از محبوبیت بالایی برخوردار است.برد آن در فضای آزاد بین 20 تا 30 متر است. به پین VCC این ماژول باید منبع تغذیه 5 ولت متصل شود. چراغ LED کوچک در ماژول بلوتوث در ابتدا چشمک زن است و نشانه روشن بودن آن است و در این حالت ماژول HC-05 به دنبال دستگاهی دیگر برای اتصال میگردد. هنگامی که به دستگاهی متصل شود این چراغ ثابت روشن میماند. این ماژول میتواند از طریق پروتکل ارتباطی USART با میکروکنترلر ها ارتباط برقرار کند.

حالت های عملکرد ماژول HC05

دارای دو حالت فرمان AT و حالت داده است. هنگامی که بلوتوث روشن است ، به طور پیش فرض وارد حالت داده می شود. این حالت می تواند برای انتقال داده ها استفاده شود. برای ورود به حالت AT Command هنگام خاموش کردن ، باید دکمه موجود در ماژول را فشار دهیم تا تنظیمات پیش فرض ماژول مانند تنظیمات master / slave را تغییر دهیم.

پین های ماژول بلوتوث

  • EN – این پین برای تنظیم حالت داده یا AT Command Mode استفاده می شود. بصورت پیش فرض در حالت DATA MODE است. هنگام فشار دادن دکمه در هنگام خاموش شدن ، به حالت فرمان AT می رود.
  • +5V – این برای تغذیه ماژول استفاده می شود.
  • GND – این برای GND ماژول استفاده می شود.
  • TX – این پین برای اتصال به پین ​​RX میکروکنترلر است.
  • RX – این پین متصل به پین ​​TX از میکروکنترلر میشود.
  • STATE – این پین وضعیت ماژول را نشان می دهد.

نشانگر LED

این ماژول دارای یک نشانگر ال ای دی قرمز است که وضعیت ماژول بلوتوث hc05 را نشان میدهد. هنگامی که ماژول بلوتوث به دستگاهی وصل نیست ال ای دی به طور مداوم چشمک میزند. هنگامی که ماژول به دستگاهی متصل باشد چراغ قرمز با تاخیر چشمک میزند.

پورت های STM32 USART

جزئیات پین های STM32

درگاه های ارتباط سریال STM32F103C8 BLUE PILL در تصویر بالا نشان داده شده است. این پین ها دارای رنگ آبی (PA9TX1 ، PA10RX1 ، PA2TX2 ، PA3RX2 ، PB10TX3 ، PB11RX3) هستند.

توضیحات مدار پروژه ارتباط اندروید و STM32

اتصالات مدار برای پروژه راه اندازی ماژول بلوتوث با STM32 در تصویر زیر مشاهده میشود.

مدار پروژه ارتباط اندروید و STM32

اتصال بین STM32F103C8 و ماژول بلوتوث (HC-05)

  • پین TX PA9 از STM32 به پین ​​RX ماژول بلوتوث وصل شده است.
  • پین RX PA10 از STM32 به پین ​​TX ماژول بلوتوث وصل شده است.
  • پین VCC +5V ماژول بلوتوث به پین ​​5 ولت STM32F103C8 وصل شده است.
  • پین GND ماژول بلوتوث به پین ​​GND STM32F103C8 وصل شده است.

پین PA0) STM32) از طریق یک مقاومت سری به پین ​​مثبت LED وصل می شود. پین دیگر LED به GND STM32 متصل است.

قطعات مورد نیاز

  1. STM32 – برد توسعه (BluePill) (STM32F103C8T6)
  2. ماژول بلوتوث HC-05
  3. ال ای دی

برنامه نویسی STM32 برای ارتباط بلوتوث

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

حتما ببینید :  آموزش برنامه نویسی STM32 با پورت USB

همانطور که قبلاً گفته شد ، در این پروژه ، ماژول بلوتوث (HC-05) بلوتوث را به STM32 متصل خواهیم کرد و از یک تلفن هوشمند Android با برنامه اندروید Bluetooth Terminal برای روشن و خاموش کردن LED استفاده میکنیم.

توجه: پین RX & TX باید هنگام بارگذاری کد در STM32F103C8 متصل نباشند و حذف شوند.

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

ابتدا باید پین ها را با شماره پین ​​مربوطه با نوع داده int به شرح زیر ذکر کنیم

اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید.
const int pinout = PA0;

در مرحله بعدی به یک متغیر برای ذخیره داده های سریال از تلفن همراه اندرویدی نیاز داریم. داده ها می توانند به صورت زیر کاراکتر یا عدد صحیح باشند

char inputdata = 0;

در مرحله بعدی (void setup) ، باید ارتباط سریال بین STM32 Blue Pill و ماژول بلوتوث را با دادن نرخ baud 9600 شروع کنیم.

Serial1.begin(9600);

ما از Serial1 در اینجا استفاده کردیم زیرا HC-05 را به TX1 و RX1 از STM32 وصل کردیم. ما همچنین می توانیم از Serial2 یا Serial3 استفاده کنیم اما پین باید بر این اساس وصل شود.

یک پیام مقدماتی به عنوان داده های سریال به serial1 ، یعنی ماژول بلوتوث HC05 ارسال می شود. این ماژول بیشتر داده ها را به برنامه ترمینال بلوتوث اندروید موبایل ارسال می کند. بنابراین ما از عبارات زیر استفاده می کنیم

Serial1.print("CIRCUIT DIGEST\n");
Serial1.print("BLUETOOTH WITH STM32\n");

در مرحله بعد باید pinmode (PA0) را به عنوان خروجی تنظیم کنیم.

pinMode(pinout, OUTPUT);

بعد در حلقه void () ، داده های زیر را برای خواندن داده های سریال اجرا می کنیم و LED را به همین ترتیب روشن یا خاموش می کنیم.

void loop()
 {
   If (Serial1.available() > 0)     
   {
      inputdata = Serial1.read();       
      if(inputdata == '1')
      {
         digitalWrite(pinout, HIGH);
         Serial1.print("LED ON\n");
      }
        
      else if(inputdata == '0') 
      {     
         digitalWrite(pinout, LOW); 
         Serial1.print("LED OFF\n");
      }
   }
}        

با استفاده از کد بالا ما تنظیم میکنیم هر بار که در تلفن عدد 1 وارد شود، ال ای دی متصل به پین PA0 روشن شود و با دریافت 0 خاموش شود. شما میتوانید به دلخواه بی نهایت حروف و اعداد و کلمات تعریف کنید و در صورت دریافت هر کدام از آن ها عملکرد های خاصی اجرا شود.

فیلم عملکرد و مراحل اتصال ماژول بلوتوث به تلفن اندروید

پس اتصال مدار و بارگذاری کد پروژه ، نوبت به آزمایش مدار میرسد. ما باز هم از برنامه ترمینال بلوتوث استفاده میکنیم. برای دانلود نرم افزار اندروید کلیک کنید !

قبل از راه اندازی برنامه ، اطمینان حاصل کنید که ماژول بلوتوث را با تلفن خود با استفاده از رمز عبور “1234” متصل کرده اید. پس از راه اندازی برنامه ، به دستگاه بلوتوث خود متصل شوید که باید به عنوان “HC-05” نامگذاری شود.

برنامه Bluetooth Terminal را باز کرده و اتصال دستگاه را انتخاب کرده و مطابق شکل زیر HC-05 را انتخاب کنید.

مراحل اتصال ماژول بلوتوث به تلفن اندروید

پس از اتصال اعداد 0 یا 1 را ارسال کنید تا تغییر را مشاهده کنید.

فیلم زیر به شما در درک نحوه کار پروژه کمک میکند.

دانلود فیلم عملکرد ارتباط بلوتوث با STM32

موارد موجود در فایل : شماتیک کامل مدار ، سورس کامل

برای دانلود فایل های پروژه ثبت نام کنید، تنها چند ثانیه زمان لازم است. از طریق فرم زیر اقدام کنید.

ایمیل خود را وارد کنید

نظرتان را در مورد این مطلب با ستاره دادن اعلام کنید امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید
برچسب ها

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

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

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

دکمه بازگشت به بالا
بستن
بستن