جستجو
برای جستجو متن مورد نظر وارد کنید و Enter بزنید برای بستن Esc بزنید.
در این آموزش می خواهیم توسط اردوینو از ماژول قطب نما مدل QMC5883 اطلاعات را دریافت و سپس توسط ماژول بلوتوث مدل HC05 اطلاعات را به موبایل بفرستیم.
ماژول بلوتوث HC05 :
ماژول از ارتباط سریال پشتیبانی می کند و بادریت پیش فرض ان روی 38400 تنظیم شده است.
در ادامه پایه های ماژول را بررسی می کنیم:
ماژول قطب نما :
QMC5883 يك قطب نماي 3 محوره ديجيتال می باشد و از رابط I2C پشتیبانی می کند.در ادامه پایه های ان را بررسی می کنیم:
بررسی برنامه :
#include "compass.h"
#include <Wire.h>
فراخوانی کتابخانه راه انداز ماژول قطب نما و کتابخانه I2C
String compass_direction = "";
این متغییر برای نگه داری جهت خوانده شده از ماژول می باشد.
void setup() {
Serial.begin(38400);
تنظیم بادریت سریال تا برای ارسال اطلاعات اماده شود.
Serial.println("Compass Test ...");
}
void loop() {
delay(500);
read_compass();
خواندن از قطب نما هر 0.5 ثانیه
Serial.println("Degree is : " + compass_direction);
و ارسال اطلاعات به ماژول بلوتوث
}
ماژول اطلاعات را بصورت درجه به ما می دهد که توسط تابع زیر ان را به جهت جغرافیایی تبدیل می کنیم.
void read_compass() {
Wire.begin();
compass_x_offset = 122.17;
compass_y_offset = 230.08;
compass_z_offset = 389.85;
compass_x_gainError = 1.12;
compass_y_gainError = 1.13;
compass_z_gainError = 1.03;
compass_init(2);
//compass_offset_calibration(3);
compass_scalled_reading();
compass_heading();
int degree = bearing;
if ( degree >= 0 && degree <= 30 ) {
compass_direction = "N ";
}
else if ( degree > 30 && degree <= 60 ) {
compass_direction = "NE";
}
else if ( degree >= 60 && degree < 90 ) {
compass_direction = "E ";
}
else if ( degree >= 90 && degree < 120 ) {
compass_direction = "E ";
}
else if ( degree >= 120 && degree < 160 ) {
compass_direction = "SE";
}
else if ( degree >= 160 && degree < 200 ) {
compass_direction = "S ";
}
else if ( degree >= 200 && degree < 245 ) {
compass_direction = "SW";
}
else if ( degree >= 245 && degree < 290 ) {
compass_direction = "W ";
}
else if ( degree >= 290 && degree < 335 ) {
compass_direction = "NW";
}
else if ( degree >= 335 && degree <= 360 ) {
compass_direction = "N ";
}
}
در سمت موبایل ما برای دریافت و نمایش اطلاعات ارسال شده نیاز به برنامه Serial Bluetooth Terminal داریم که باید این برنامه را روی موبایل خود نصب کنید و سپس بلوتوث موبایل را روشن کرده و منتظر می مانیم تا ماژول HC05 شناسایی شود و بعد از کانکت شدن رمز پیش فرض 1234 را وارد می کنیم.
در ادامه تصویر محیط نرم افزار را مشاهده می کنید:
برای برقراری برنامه با بلوتوث گزینه کانکت را می زنیم تا اطلاعات ارسالی را مشاهده کنیم.
فایل های برنامه را از لینک زیر دانلود کنید