پروژه الکترونیکپروژه های آردوینوپروژه های امنیتی

پروژه امنیت زنان با ارسال پیامک و مکان GPS آردوینو

سلام. پروژه امنیت زنان با ارسال پیامک و مکان GPS آردوینو را آماده کردیم.

ارسال پیامک کوتاه SMS + موقعیت مکانی با آردوینو

با وجود فناوری های موجود، ساختن دستگاه ایمنی برای زنان کار سختی نیست که نه تنها زنگ اضطراری ایجاد کند، بلکه پیامی را برای دوستان به همراه موقعیت مکانی بفرستد. ما در اینجا یک مدار کوچک مثل دستبند طراحی میکنیم که توسط زنان یا … پوشیده میشود که در صورت فشردن دکمه روی آن، پیامی حاوی مکان فرد و متن از پیش تنظیم شده به یکی از آشنایان یا پلیس ارسال میشود.در این پروژه آردوینو ما از برد Arduino استفاده می کنیم که می تواند با ماژول های GSM و GPS برای ارسال هشدار پیامکی و گرفتن مختصات موقعیت مکانی در ارتباط باشد. ما همچنین برای ارتباط بی سیم بین دستبند و دستگاه گیرنده با GPS / GSM از ماژول گیرنده RF و گیرنده RF استفاده کرده ایم.

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

فیلم عملکرد پروژه در انتهای صفحه قرار داده شده است.

توضیحات ماژول مکان یاب GPS Neo-6M

ماژول مکان یاب GPS Neo-6M

Neo 6M یک ماژول GPS سریال است که جزئیات مکان را از طریق ارتباط سریال ارائه می دهد. این ماژول جی پی اس دارای چهار پین است. توضیحات پین های این ماژول را در جدول زیر مشاهده میکنید.

پین توضیح
Vcc منبع تغذیه 2.7 تا 5 ولت
Gnd GND
TXD ارسال اطلاعات
RXD دریافت اطلاعات

ماژول GPS داده ها را در چند رشته با نرخ 9600 Baud Rate منتقل می کند. اگر از ترمینال UART با نرخ 9600 Baud استفاده کنیم ، می توانیم داده های دریافت شده توسط GPS را ببینیم.

ماژول GPS داده های موقعیت ردیابی را با فرمت NMEA ارسال می کند. فرمت NMEA شامل چند جمله است که در زیر چهار جمله مهم آن آورده شده است.

  • $ GPGGA : داده های ثابت سیستم موقعیت یابی جهانی
  • $ GPGSV : ماهواره های GPS در نمای
  • $ GPGSA : ماهواره های فعال و GPS DOP
  • $ GPRMC : حداقل داده های خاص GPS / Transit ویژه توصیه شده

ماژول GPS داده های مربوط به موقعیت را در به صورت لحظه ای می فرستد، و داده های زیادی را با فرمت NMEA می فرستد (تصویر زیر). فرمت NMEA شامل چند جمله است که ما در آن فقط به یک جمله نیاز داریم. این جمله از $ GPGGA شروع می شود و حاوی مختصات ، زمان و سایر اطلاعات مفید است.

فرمت NMEA

اگر میخواهید آردوینو را به صورت اصولی و پروژه محور (ساخت ربات، ارتباط با اندروید، اینترنت اشیا، برنامه نویسی حرفه ای) یاد بگیرید، حتما دوره آموزش آردوینو را مشاهده کنید.

می توانیم با شمارش کاما (,) در رشته ، مختصات را از رشته $ GPGGA استخراج کنیم.

[irp posts=”4775″ name=”آموزش ساخت ردیاب GPS با برد آردوینو و شیلد LoRa (پروژه IoT ردیابی وسایل و افراد)”]

فرمت NMEA چیست ؟

در زیر یک رشته GPGGA $ به همراه توضیحات آن آورده شده است :

$GPGGA,104534.000,7791.0381,N,06727.4434,E,1,08,0.9,510.4,M,43.9,M,,*47
$GPGGA,HHMMSS.SSS,latitude,N,longitude,E,FQ,NOS,HDP,altitude,M,height,M,,checksum data
واحد توضیح
$GPGGA فرمت اطلاعات موقعیت جهانی
HHMMSS.SSS زمان بر حسب ساعت ، دقیقه ، ثانیه و میلی ثانیه
Latitude عرض جغرافیایی
N جهت N= شمال و S= جنوب
Longitude عرض جغرافیایی
E جهت E= شرق و W= غرب
FQ کیفیت اطلاعات
NOS شماره ماهواره های استفاده شده
HDP دقت افقی
Altitude ارتفاع بر حسب متر از سطح دریا
M متر
Height ارتفاع
Checksum چک کردن اطلاعات

ماژول GSM Sim900 چیست و چگونه کار میکند ؟

SIM900 یک ماژول چهار باند GSM / GPRS کامل است که به راحتی قابل پیکربندی است. SIM900 قابلیت انتقال صدا ، پیام کوتاه ، داده های اینترنت را دارد. این ماژول به فراوانی در بازار موجود است و قیمت مناسبی دارد. SIM900 با استفاده از پردازنده  AMR926EJ-S طراحی شده است. این ماژول محبوب دارای چهار باند ماژول GSM / GPRS در اندازه ای کوچک است.

[irp posts=”1101″ name=”پروژه آردوینو راه اندازی خانه هوشمند با اس ام اس (GSM Sim900 Arduino SMS)”]

شماتیک مدار پروژه سیستم امنیت زنان

پروژه سیستم امنیتی زنان با آردوینو را به دو قسمت فرستنده و گیرنده تقسیم میکنیم.

بخش فرستنده

در قسمت فرستنده RF یک دکمه به همراه فرستنده RF 433 مگاهرتز وجود دارد که داده ها را به صورت بی سیم به قسمت گیرنده منتقل می کند. هدف از ساخت دو قسمت جداگانه در اینجا ، به حداقل رساندن اندازه ماژول انتقال دهنده است تا بتوان آن را به عنوان مپ بند پوشیده شود. نمودار مدار قسمت فرستنده در زیر نشان داده شده است.

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید

فرستنده RF برای دستگاه ایمنی زنان

بخش گیرنده

در بخش گیرنده RF ، داده ها از باند مچ (قسمت فرستنده) توسط گیرنده RF 433 مگاهرتز دریافت می شود. گیرنده RF این اطلاعات را از طریق پین دیجیتال به آردوینو ارسال می کند. سپس آردوینو نانو سیگنال را دریافت می کند و آن را با استفاده از برنامه ای که درون آن قرار دارد پردازش می کند. هنگامی که قربانی دکمه SOS را در قسمت فرستنده فشار می دهد ، یک سیگنال تولید می شود و به طرف Arduino منتقل می شود ، و سپس آردوینو سیگنال را به ماژول GSM SIM900 می فرستد. سپس پیامکی حاوی متن از پیش تعیین شده به شماره از پیش تعیین شده همراه با موقعیت مکانی ارسال میشود.

گیرنده RF برای دستگاه ایمنی زنان

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

  1. برد آردوینو نانو
  2. مودم SIM900
  3. ماژول GPS NEO6M
  4. فرستنده و گیرنده رادیویی RF 433 MHZ
  5. انکودر و دیکودر HT12C و HT12E
  6. دکمه

برنامه نویسی Arduino دستگاه امنیت زنان

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

در ابتدا کتابخانه ارتباط سریالی و TinyGPS برای ماژول GPS NEO6 را فراخوانی میکنیم.

#include <TinyGPS++.h>
#include <SoftwareSerial.h>

در اینجا کتابخانه TinyGPS++.h برای گرفتن مختصات GPS با استفاده از ماژول گیرنده GPS استفاده می شود. این کتابخانه در فایل دانلودی قرار داده شده است.

static const int RXPin = 2, TXPin = 3;
static const uint32_t gps_baudrate = 9600;

اکنون پین های ماژول GPS و میزان baud پیش فرض را اعلام میکنیم که در اینجا 9600 است. همچنین ، پین های ارتباط سریالی ماژول GPS را تعریف

static const int RXPin = 2, TXPin = 3;
static const uint32_t gps_baudrate = 9600;

در داخل Setup() ، تمام پین های ورودی و پین های خروجی را معرفی میکنیم. سپس ، Software Serial را با نرخ 9600 پیکربندی میکنیم.

void setup()
{
  pinMode(12,INPUT); // Input from RF module
  pinMode(4, OUTPUT); // Output for Buzzer
  Serial.begin(19200);
  soft.begin(gps_baudrate);
}

در داخل loop() وضعیت ورودی دیجیتال پین 12 در یک متغیر خوانده شده و ذخیره می شود. هنگامی که وضعیت این پین HIGH باشد ، نشان می دهد ، سوئیچ در سمت فرستنده فشرده شده است ، از این رو آردوینو Buzzer را روشن می کند و همچنین تابع  sendsms() را برای ارسال پیامک با توجه به داده های موقعیت مکانی ارسال می کند.

void loop()
{
  int key = digitalRead(12);
  if(key==1)
  {
    digitalWrite(4,HIGH); // Switch ON the Buzzer
    sendsms();
    digitalWrite(4,LOW); // Switch OFF the Buzzer
  }
 else;

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

while (soft.available() > 0)
  {
    gps.encode(soft.read());
    if (gps.location.isUpdated())
    {
      Lat = gps.location.lat();
      Lon = gps.location.lng();
    }
    else;
  }
}

سرانجام ،ماژول SIM900 GSM با استفاده از دستور AT + CMGF روی حالت پیامک تنظیم می شود. سپس شماره گیرنده تعریف می شود. میتوانید متن و شماره را تغییر دهید.

void sendsms()
{
    Serial.print("AT+CMGF=1\r");
    delay(100);
    Serial.println("AT+CMGS =\"+9891XXXXXXX\””); // تغیر شماره
    delay(100);
    Serial.println(“I want Help !!!Location:” + String(“Lat: “) +String(Lat) + “ “+String(“Lon: “) + String(Lon)); // تغییر پیام
    delay(100);
    Serial.println((char)26);
    delay(100);
    Serial.println();
    delay(5000);
}

فیلم عملکرد پروژه

ارسال پیامک کوتاه SMS + موقعیت مکانی با آردوینو

به این ترتیب شما یک سیستم امنیت زنان / کودکان میسازید که با فشردن دکمه، شروع به بوق زدن میکند و یک اس ام اس به شماره از پیش تعیین شده همراه با موقعیت مکانی میفرستد. تصویر بالا پیام ارسالی را نشان میدهد و فیلم زیر نحوه عملکرد پروژه را نشان میدهد.

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

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

برای دانلود فایل ها باید عضو آیرنکس باشید، تنها چند ثانیه زمان لازم است.

ورود / ثبت نام

[lrm_form default_tab=”register” logged_in_message=””]

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

محمد رحیمی

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

4 نظر

  1. سلام اگر بخواهیم برای آردیونو یک مقدار را وارد کنیم از بیرون ولی همیشه از آن به بعد این مقدار ذخیره شود و با قطع برق ازبین نرود یعنی مثل وارد کردن مقدار درخود برنامه اصلی باشد وبعدا درصورت نیاز دوباره بخواهیم مقدار را عوض کنیم از طریق همان کلید های بیرونی بتوانیم و باز هم باقطع برق از بین نرود دستور ذخیره چیست؟

    1. سلام. متوجه سوالتون نشدم دقیقا. این مقداری که میفرمایید در کد وارد میکنید یا از طریق دکمه یا … تعیین میشه ؟

      1. بله از طریق دکمه مثلا در یک متغیر وارد میشه وبعد عملیاتی روش انجام میشه اما باقطع برق از بین میره میخوام از بین نره

        1. باید از حافظه EEPROM استفاده کنید. ما متاسفانه در این زمینه آموزشی نداریم. شما میتونید با سرچ “نوشتن اطلاعات در حافظه EEPROM آردوینو” به جواب برسید.

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

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