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

آموزش ماژول HMT – HMR آردوینو

آموزش ماژولHMR HMT آردوینو
نوشته شده توسط علیرضا قربانی

HMT-HMR یکی از ماژول‌های ارتباط رادیویی دارای مدولاسیون FSK بوده و گزینه مناسبی برای انتقال دیتا به صورت ۱ طرفه می‌باشد. این نوع ماژول‌های توسط پروتکل ارتباطی سریال با آردوینو یا میکروکنترلر ارتباط برقرار می‌کنند.نرخ انتقال دیتا در این ماژول‌ها ۶۰۰bps الی ۹۶۰۰bps  می‌باشد.برد این‌گونه ماژول‌ها در شرایط محیطی متفاوت بین ۵۰ الی ۲۵۰ متر می‌باشد.این گونه ماژول‌ها نسبت به ماژول‌های NRF از سادگی بیشتری برخوردار می‌باشند از این رو برای کاربران مبتدی مناسب است.در ادامه با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید.

 


آموزش ماژول HMT – HMR آردوینو


ماژول‌های HMT – HMR  در چهار فرکانس کاری ۳۱۵ ، ۴۳۳ ، ۸۶۸ و ۹۱۵ مگاهرنز ساخته شده‌اند که فرکانس‌های ۴۳۳ و ۹۱۵ مگاهرتز در بازار رایج‌تر می‌باشند.

ویژگی‌هایHMT 915 ( فرستنده )

ولتاژ تغذیه ۲٫۵ الی ۵ ولت

برد ۵۰ الی ۲۵۰ متر

جریان مصرفی ۱۲ میلی‌آمپر

سرعت ۶۰۰bps الی ۹۶۰۰bps

دمای کاری منفی منفی ۳۵ الی ۸۵ درجه سانتی‌گراد

ویژگی‌های HMR 915 ( گیرنده )

ولتاژ تغذیه ۲٫۵ الی ۵ ولت

برد ۵۰ الی ۲۵۰ متر

جریان مصرفی ۱۱ میلی‌آمپر

سرعت ۶۰۰bps الی ۹۶۰۰bps

دمای کاری منفی منفی ۳۵ الی ۸۵ درجه سانتی‌گراد

ماژول HMT ( ماژول فرستنده ) دارای سه عدد پین می‌باشد که پین VCC به مثبت ۵ ولت DC ، پین GND به GND آردوینو و پین DATA به TXD آردوینو متصل می‌کنیم.

ماژول HMR آردوینو

در تصویر فوق ماژول HMR ( ماژول گیرنده ) را مشاهده می‌کنید.این ماژول دارای ۴ پین می‌باشد که که پین VCC به مثبت ۵ ولت DC ، پین GND به GND آردوینو و پین  DATA به RXD آردوینو متصل می‌شود ، همچنین پین ENABLE به منظور فعال سازی ماژول می‌باشد که به مثبت ۵ ولت DC متصل می‌شود.

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

آموزش ارتباط سریال در آردوینو بخش اول

آموزش ارتباط سریال در آردوینو بخش دوم

آموزش ارتباط سریال در آردوینو بخش سوم

آموزش ارتباط سریال در آردوینو بخش چهارم

آموزش ارتباط سریال در آردوینو بخش پنجم


کدهای پروژه


در این پروژه با استفاده از میکروسوئیچ یک عدد LED را از فاصله دور به صورت بی‌سیم خاموش و روشن می‌کنیم. پروژه به این صورت می‌باشد که با یک بار فشار دادن کلید (کلید به پین شماره ۸ آردوینو متصل می‌باشد) ، LED  ( متصل به پین شماره ۱۳) روشن می‌شود و با فشار مجدد کلید ، LED خاموش می‌شود. در این پروژه برای تشخیص فشار دادم کلید از کتابخانه دیبانسینگ استفاده شده است که می‌توانید در لینک‌های زیر آموزش آن‌ها را مشاهده کنید.

آموزش دیبانسیگ کلید در آردوینو بخش اول

آموزش دیبانسیگ کلید در آردوینو بخش دوم

کدهای فرستندهHMT

#include <Bounce2.h>

#define BUTTON_PIN 8

// یک آبجگت از کلاس دیبانس میسازیم
Bounce debouncer = Bounce ();
bool state = false;

void setup ()
  {

  // پین متصل به کلید را در وضعیت پول آپ قرار می دهیم
  pinMode (BUTTON_PIN, INPUT_PULLUP);
  Serial.begin (9600);

  // عملیات دیبانس را به پین متصل به ککلید نسبت می دهیم
  debouncer.attach (BUTTON_PIN);

  //زمان نویزگیری را مشخص می کنیم
  debouncer.interval (50);

  }

void loop ()
  {


  debouncer.update ();

  // اگر وضعیت پین از ۱ منطقی به صفر منقطقی تغییر کند وارد شرط زیر می شود
  if ( debouncer.fell () )
    {

    state = !state;
    if ( state == true )
      {
      Serial.print ('T');
      }
    else if ( state == false )
      {
      Serial.print ('F');
      }
    }
  }

کد‌های گیرنده HMR

int led = 13;

void setup ()
  {
  Serial.begin (9600);
  pinMode (led, OUTPUT);
  digitalWrite (led, LOW);
  }


void loop ()
  {
  if ( Serial.available () > 0 )
    {
    char c = Serial.read ();
    if ( c == 'T' )
      {
      digitalWrite (led, HIGH);
      }
    else if ( c == 'F' )
      {
      digitalWrite (led, LOW);
      }
    }

  }


سخت‌افزار مورد نیاز


برد آردوینو دو عدد آردوینو UNO

ماژول HMT 915 مگاهرتز ( فرستنده )

ماژول HMR 915 مگاهرتز ( گیرنده )

میکروسوئیچ

LED

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

علیرضا قربانی

علیرضا قربانی هستم دانشجوی مهندسی پزشکی. چیزهای خیلی زیادی رو در دنیا دوست دارم. یک گیک هستم و یشه گفت یک هکر. نه به معنی دزدی پسورد و ایمیل مردم. به معنی عشق به دونستن و عشق به تحقیق درباره خیلی از چیزهایی که می بینم و می‌شنوم. اگر بخوام علاقه‌مندی‌ درجه یکم رو نام ببرم میتونم بگم برنامه نویسی و بعد از اون امبدد سیستم ها.

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

۱۴ دیدگاه

  • سلام ممنون از زحمات شما. لطف میکنید بفرمایین چگونه اطلاعات را کد کنم که با ماژول های دیگر تداخل نداشته باشم؟

    سپاس

    • سلام از IC های سری pt باید استفاده کنید یا اینکه در حین ارسال دیتا خودتون اطلاعات رو کد کنید در گیرنده بر اسال الگوریتمم به کار برده شده در کد کردن ، دیتا را دیکود کنید

  • سلام استفاده از حروف واعداد برای کد کردن کافی است ؟ یا از روشهای دیگری باید استفاده کنیم

  • سلام
    من کد های فرستنده رو که کامپایل می کنم این ارور رو می ده:
    sketch_jun11b:1: error: #include expects “FILENAME” or

    #include <Bounce2.h>

    ^

    exit status 1
    #include expects “FILENAME” or
    کد های گیرنده هم که کامپایل می کنم این ارور رو میده:
    C:\Users\mhsh\AppData\Local\Temp\arduino_modified_sketch_587288\sketch_jun11a.ino: In function ‘void loop()’:

    sketch_jun11a:13: error: ‘gt’ was not declared in this scope

    if ( Serial.available () > 0 )

    ^

    sketch_jun11a:13: error: expected ‘)’ before ‘;’ token

    if ( Serial.available () > 0 )

    ^

    sketch_jun11a:13: error: expected ‘;’ before ‘)’ token

    if ( Serial.available () > 0 )

    ^

    sketch_jun11a:26: error: expected ‘}’ at end of input

    }

    ^

    exit status 1
    ‘gt’ was not declared in this scope
    لطفا کمک کنید.

    • با سلام
      ضمن تشکر از توجه شما، این ارورها مربوط به Filename میباشد. باید قسمت مربوطه را بین <> قرار دهید. این موضوع بخاطر تغییرات کدهای HTML بوجود می‌آیند.

      • آخه کجاش باید بزارم؟هر جاییش که میزارم یا دوباره همون ارور رو میده یا یه ارور دیگه.

          • واقعا ممنون که سریع پاسخ میدید.ولی حالا اون درست شد به جاش این ارور رو میده:
            C:\Users\mhsh\AppData\Local\Temp\arduino_modified_sketch_247847\sketch_jun13a.ino:1:29: fatal error: <Bounce2.h>: No such file or directory

            #include

            ^

            compilation terminated.

            exit status 1
            Error compiling for board Arduino/Genuino Uno.
            من تازه کار هستم و خیلی سر از آردوینو در نمی آورم.
            راستی نگفتید واسه ارور های برنامه گیرنده چیکار باید بکنم؟

            • خواهش میکنم، این موضوع رفع اشکال از خدمات دیجی اسپارک میباشد. این ارور مربوط به عدم وجود کتابخانه Bounce2 در مسیر مربوطه میباشد. برای این منظور باید از منو Sketch>Include Library>Manage Libraries وارد قسمت افزودن کتابخانه بشوید. سپس واژه Bounce2 را سرچ و نصب کنید. تا این لحظه ارور مربوط به کتابخانه رفع شود.

          • خیلی ممنون بالاخره درست شد!کتاب خانه Bounce2 را نصب کردم و یه ذره با کد های گیرنده ور رفتم تا درست شد.خیلی ممنون از راهنمایی ها و مطالب جالبتون.