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

راه اندازی ماژول بلوتوث HC-05 با آردوینو

راه اندازی ماژول بلوتوث HC-05 با آردوینو

در این مطلب از بلاگ بهنام رباتیک، می‌خواهیم نحوه راه اندازی ماژول بلوتوث HC-05 با آردوینو را بیاموزیم؛ پس با ما همراه باشید.

فهرست مطالب

لوازم مورد نیاز برای پروژه راه اندازی ماژول بلوتوث HC-05 با آردوینو

آشنایی با ماژول بلوتوث HC-05

روش‌های زیادی برای برقراری ارتباط به صورت بیسیم وجود دارد که از آن جمله می‌توانیم به NRF، زیگبی، وای‌فای و بلوتوث اشاره کنیم. در این میان، بلوتوث یکی از روش‌های ارزان قیمت در میان شبکه‌های PAN است که حداکثر سرعت انتقال داده‌ها در آن می‌تواند به 1 مگابیت بر ثانیه برساند و قادرست در فاصله 100 متری فعالیت نماید و فرکانس معمول آن نیز 2.4 گیگاهرتز است.

حالا از میان همه قطعاتی که اتصال بلوتوث را در اختیار ما قرار می‌دهند، ماژول HC-05 از محبوبیت زیادی برخوردارست که از اتصال سریالی بهره می‌برد که می‌توان آن را در بسیاری از پروژه‌های الکترونیکی پیدا کرد.

آشنایی با پین‌های ماژول بلوتوث HC-05

این ماژول شش پین دارد که عبارتند از:

  • VIN: پین تأمین ولتاژ (3.6 تا 6 ولت)
  • GND: پین اتصال به زمین
  • STATE: پین وضعیت اتصال
  • EN: پین فعالساز تنظیمات دستور AT
  • RX: پین دریافت داده سریال
  • TX: پین ارسال داده سریال

شما می‌توانید پین‌های این ماژول را در ادامه ببینید.

 

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

ارسال داده از بلوتوث به آردوینو در پروژه راه اندازی ماژول بلوتوث HC-05 با آردوینو

ماژول بلوتوث مورد بحث ما، یک رگولاتور داخلی 3.3 ولت دارد به همین خاطر می‌توان ولتاژ 5 ولت را به آن تزریق کرد.

سیم‌کشی مدار راه اندازی ماژول بلوتوث HC-05 با آردوینو

شما می‌بایست طبق تصویر زیر، برد آردوینو Uno را به ماژول بلوتوث HC-05 متصل کنید. توجه داشته باشید که سیم‌ها حتماً به پین‌های درست وصل شده باشند.

سیم‌کشی مدار پروژه راه‌اندازی HC05 با آردوینو
سیم‌کشی مدار پروژه راه‌اندازی HC05 با آردوینو

نصب کتابخانه پروژه راه اندازی ماژول بلوتوث HC-05 با آردوینو

برای اینکه بتوانید این پروژه را بدرستی عملی کنید، باید کتابخانه زیر را دانلود نمایید و در نرم‌افزار Arduino IDE بگذارید.

کدنویسی پروژه راه اندازی ماژول بلوتوث HC-05 با آردوینو

کدهای زیر را در نرم‌افزار Arduino IDE آپلود کنید.

				
					 /*
  Modified on March 09, 2021
  Modified by MohammedDamirchi from https://github.com/PaulStoffregen/SoftwareSerial
  
Home

*/


#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  // set the data rate for the SoftwareSerial port
  mySerial.begin(9600);
}

void loop() { // run over and over
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}
				
			

این چند خط کد برای آزمایش اتصال میان سریال مانیتور آردوینو و دستگاه متصل به ماژول HC-05 می‌باشد.

کنترل کردن LED با گوشی در پروژه راه اندازی ماژول بلوتوث HC-05 با آردوینو

سیم‌کشی مدار

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

کنترل LED با گوشی و ماژول HC05

کدنویسی پروژه

برای اینکه اتصال ماژول HC-05 برقرار شود، شما به یک اپلیکیشن ترمینال بلوتوث نیاز دارید.

حالا برای انتقال داده‌ها، کدهای زیر را در آردوینو آپلود و ماژول HC-05 را با استفاده از نرم‌افزار دانلود شده، متصل کنید. نام اتصال HC05 و کلمه عبور 1234 یا 0000 خواهد بود و نرخ پیش‌فرض بادریت 9600 می‌باشد.

				
					#include <SoftwareSerial.h>
SoftwareSerial MyBlue(10, 11); // RX | TX 
String flag; 
int LED = 8; 
void setup() 
{   
  Serial.begin(9600); 
  MyBlue.begin(9600); 
  pinMode(LED, OUTPUT); 
  Serial.println("Ready to connect\nDefualt password is 1234 or 000"); 
} 
void loop() 
{ 
  if (MyBlue.available()) 
    flag = MyBlue.read();
    flag.trim();
  if (flag == '1') 
  { 
    digitalWrite(LED, HIGH); 
    Serial.println("LED On"); 
  } 
  else if (flag == '0') 
  { 
    digitalWrite(LED, HIGH); 
    Serial.println("LED Off"); 
  } 
}
				
			

توضیحات کد پروژه اتصال گوشی و راه اندازی ماژول بلوتوث HC-05 با آردوینو

نشان‌دهنده کتابخانه مورد نیاز برای اتصال سریال نرم‌افزار است.

				
					#include <SoftwareSerial.h>
				
			

برای تعیین پین‌های سریال نرم‌افزار به کار می‌رود.

				
					SoftwareSerial MyBlue(10, 11);
				
			

به منظور تعیین بادریت سریال نرم‌افزار استفاده می‌شود.

				
					MyBlue.begin(9600);
				
			

برای خواندن داده‌های سریال و روشن و خاموش شدن چراغ‌های LED به کار می‌رود.

				
					void loop() 
{ 
  if (MyBlue.available()) 
    flag = MyBlue.read();
    flag.trim();
  if (flag == '1') 
  { 
    digitalWrite(LED, HIGH); 
    Serial.println("LED On"); 
  } 
  else if (flag == '0') 
  { 
    digitalWrite(LED, HIGH); 
    Serial.println("LED Off"); 
  } 
}
				
			

ارسال دستورات AT به ماژول بلوتوث HC-05 و تغییر تنظیمات آن

با فشردن و نگه داشتن دکمه، ماژول وارد حالت دستور AT می‌شود در غیر این صورت در حالت اتصال فعالیت خواهد کرد. برخی از ماژول‌ها پوش باتن یا دکمه فشاری دارند بنابراین نیازی نیست که چیزی به آنها اضافه شود.

به هر ترتیب، بادریت پیش‌فرض برای ورودی به حالت دستور AT روی 38400 تنظیم شده است. اینک شما می‌توانید کدهای زیر را در برد آردوینو خود آپلود و با سریال مانیتور، دستورات را تنظیم کنید.

				
					#include "SoftwareSerial.h"
SoftwareSerial MyBlue(10, 11); // RX | TX 
void setup() 
{ 
  Serial.begin(9600); 
  MyBlue.begin(38400);  //Baud Rate for AT-command Mode.  
  Serial.println("***AT commands mode***"); 
} 
void loop() 
{ 
  //from bluetooth to Terminal. 
  if (MyBlue.available()) 
    Serial.write(MyBlue.read()); 
  //from termial to bluetooth 
  if (Serial.available()) 
    MyBlue.write(Serial.read());
}
				
			

دستور

پاسخ

توضیح

AT

OK

آزمایش کردن ماژول

AT+RESET

OK

ریست کردن ماژول

AT+VERSION?

+VERSION: OK

نسخه Firmware ماژول

AT+ORGL

OK

بازگرداندن به تنظیمات پیش‌فرض

AT+ADDR?

+ADDR: OK

آدرس ماژول

AT+NAME?

+NAME: OK

نام ماژول

AT+NAME=your name\r\n

OK

تغییر نام ماژول

AT+RNAME?param1\r\n

+NAME: OK

نام بلوتوث دستگاه

AT+ROLE?

+ROLE:

نقش ماژول (0 = slave و 1 = master)

AT+ROLE=(0 as slave,1 as master)\n\r

OK

تغییر نقش ماژول

AT+PSWD?

PSWD: OK

پسورد ماژول

AT+PSWD=your pass\r\n

OK

تغییر پسورد ماژول

AT+UART?

P3: Parity +UART= OK

P1: بادریت P2: توقف بیت P3: برابری

شما می‌توانید برای مشاهده دستورات بیشتر، به دیتاشیت ماژول بلوتوث HC-05 مراجعه کنید.

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

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