راه اندازی ماژول های ASK با آردوینو
کاربرد این ماژول های ASK در ریموت کنترلرها می باشد. شما به سادگی از طریق یک فرستنده ریموت و گیرنده ASK می توانید چندین رله را روشن و خاموش کنید. قیمت ارزان، فاصله 100 متر در فضای باز، سادگی کارکرد این ماژول ها باعث گشته تا بیشترین کاربرد را در مصارف روزمره داشته باشد. این ماژول ها در فرکانس های کاری 433 و 315 ساخته می شوند و نسبت به فرکانس ریموت خود باید فرکانس گیرنده نیز انتخاب شوند.
مشخصات ماژول:
- فرکانس کاری : 433mhz
- ولتاژ کاری : 3.5 تا 12 ولت
- جریان مصرفی : 10 الی 15 میلی آمپر
- مدولاسیون: ASK
- خروجی دیتا: TTL
اگر در جست و جوی راهی ارزان برای اتصال بیسیم برد های آردوینو خود به یک دیگر هستید یکی از ساده ترین و راحت ترین کارها استفاده از ماژول ASK است. در این آموزش از هیچ کتابخانه ای استفاده نشده و کد به صورت خیلی ساده و قابل فهم نوشته شده است.
ویدیوی علمکرد پروژه
نحوه اتصال فرستنده و گیرنده به برد های آردوینو
ابزار لازم برای راه اندزی پروژه
مدار فرستنده ASK با آردوینو
کد فرستده 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 با آردوینو
کد گیرنده 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 چهارصد را نشان میدهد.
چطور می تونم این فرستنده و گیرنده رو رمز دار کنم تا امواج دیگری با اون قاطی نشه؟
سلام
سوالات علمیتون رو داخل انجمن بپرسید http://www.eca.ir/forums
با سلام و خسته نباشید
1- چرا سیگنال رو اینجوری ارسال کردید ؟
2- upperThreshold و lowerThreshold رو از رو چه حساب به دست اوردید ؟
و اینجور که تو توضیحات کد های استفاده شده نوشته شده این کد ها فقط برای تست هست نه استفاده و انتقال هیچ داده ای !
کد اشتباه هست
حتی اگه ماژول رو وصل نکنید باز هم سریال رو میخواند