آردوینو Arduinoمطالب آموزشی

راه اندازی ماژول های ASK با آردوینو

کاربرد این ماژول های ASK در ریموت کنترلرها می باشد. شما به سادگی از طریق یک فرستنده ریموت و گیرنده ASK می توانید چندین رله را روشن و خاموش کنید. قیمت ارزان، فاصله 100 متر در فضای باز، سادگی کارکرد این ماژول ها باعث گشته تا بیشترین کاربرد را در مصارف روزمره داشته باشد. این ماژول ها در فرکانس های کاری 433 و 315 ساخته می شوند و نسبت به فرکانس ریموت خود باید فرکانس گیرنده نیز انتخاب شوند.

مشخصات ماژول:

  • فرکانس کاری : 433mhz
  • ولتاژ کاری : 3.5 تا 12 ولت
  • جریان مصرفی : 10 الی 15 میلی آمپر
  • مدولاسیون: ASK
  • خروجی دیتا: TTL

اگر در جست و جوی راهی ارزان برای اتصال بیسیم برد های آردوینو خود به یک دیگر هستید یکی از ساده ترین و راحت ترین کارها استفاده از ماژول ASK است. در این آموزش از هیچ کتابخانه ای استفاده نشده و کد به صورت خیلی ساده و قابل فهم نوشته شده است.

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

در این برنامه یک فرستنده و گیرنده ساده طراحی کردیم. از led روی برد برای نشان دادن فرستاده شدن اطلاعات از فرستنده دریافت اطلاعات در گیرنده استفاده شده است.

نحوه اتصال فرستنده و گیرنده به برد های آردوینو

transmitter_receiver_fritzing_v2

ابزار لازم برای راه اندزی پروژه

مدار فرستنده ASK با آردوینو

rf-transmitter-table 433mhztransmitter2
کد فرستده ASK با آردوینو

/* 
  RF Blink - Transmit sketch 
     Written by ScottC 17 Jun 2014
     Arduino IDE version 1.0.5
     Website: http://arduinobasics.blogspot.com
     Transmitter: FS1000A/XY-FST
     Description: A simple sketch used to test RF transmission.          
 ------------------------------------------------------------- */

 #define rfTransmitPin 4  //RF Transmitter pin = digital pin 4
 #define ledPin 13        //Onboard LED = digital pin 13

 void setup(){
   pinMode(rfTransmitPin, OUTPUT);     
   pinMode(ledPin, OUTPUT);    
 }

 void loop(){
   for(int i=4000; i>5; i=i-(i/3)){
     digitalWrite(rfTransmitPin, HIGH);     //Transmit a HIGH signal
     digitalWrite(ledPin, HIGH);            //Turn the LED on
     delay(2000);                           //Wait for 1 second
     
     digitalWrite(rfTransmitPin,LOW);      //Transmit a LOW signal
     digitalWrite(ledPin, LOW);            //Turn the LED off
     delay(i);                            //Variable delay
   }
 }

مدار گیرنده ASK با آردوینو

rf-receiver-table 433mhzreceiverfront2

کد گیرنده ASK با آردوینو

/* 
  RF Blink - Receiver sketch 
     Written by ScottC 17 Jun 2014
     Arduino IDE version 1.0.5
     Website: http://arduinobasics.blogspot.com
     Receiver: XY-MK-5V
     Description: A simple sketch used to test RF transmission/receiver.          
 ------------------------------------------------------------- */

 #define rfReceivePin A0  //RF Receiver pin = Analog pin 0
 #define ledPin 13        //Onboard LED = digital pin 13

 unsigned int data = 0;   // variable used to store received data
 const unsigned int upperThreshold = 70;  //upper threshold value
 const unsigned int lowerThreshold = 50;  //lower threshold value

 void setup(){
   pinMode(ledPin, OUTPUT);
   Serial.begin(9600);
 }

 void loop(){
   data=analogRead(rfReceivePin);    //listen for data on Analog pin 0
   
    if(data>upperThreshold){
     digitalWrite(ledPin, LOW);   //If a LOW signal is received, turn LED OFF
     Serial.println(data);
   }
   
   if(data<lowerThreshold){
     digitalWrite(ledPin, HIGH);   //If a HIGH signal is received, turn LED ON
     Serial.println(data);
   }
 }

وقتی سیگنال High به آردوینو گیرنده فرستاده میشود AnalogRead مقدار صفر را بر میگرداند وقتی سیگنال Low فرستاده میشود مقدار AnalogRead چهارصد را نشان میدهد.

analogreadingschart

نوشته های مشابه

4 دیدگاه

  1. چطور می تونم این فرستنده و گیرنده رو رمز دار کنم تا امواج دیگری با اون قاطی نشه؟

  2. با سلام و خسته نباشید
    1- چرا سیگنال رو اینجوری ارسال کردید ؟
    2- upperThreshold و lowerThreshold رو از رو چه حساب به دست اوردید ؟
    و اینجور که تو توضیحات کد های استفاده شده نوشته شده این کد ها فقط برای تست هست نه استفاده و انتقال هیچ داده ای !

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

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

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