close
تبلیغات در اینترنت
خرید دامنه
ساخت رادیو کنترل ۴ کانال با قبلیت میکس برای هواپیما –

الکترونیک

آخرين ارسال هاي تالار گفتمان

کمی طاقت داشته باشید...
عنوان پاسخ بازدید توسط
2 801 mahdida
0 719 2alborz

ساخت رادیو کنترل ۴ کانال با قبلیت میکس برای هواپیما –

ا موضوع: AVR,Arduino,

همان طور که در پست قبلی، توضیح داده شد، در این پست قصد ساخت گیرنده‌ی رادیو کنترل را داریم. 

گیرنده‌ی رادیو کنترل، از یک آردوینو Arduino UNO و یک ماژول nrf24l01 تشکیل شده است.

در تصویر زیر نحوه ی اتصال پین ها را مشاهده می‌کنید.

آموزش راه اندازی nrf24l01 -دیجی اسپارک

پین های CE و CSN میتوانند به هر پین دیجیتالی متصل شوند.

در برد آردوینو uno  پین های پرروتوکل spi به صورت زیر می‌باشند:

    MOSI is connected to the digital pin 11
    MISO is connected to the digital pin 12
    SCK is connected to the digital pin 13

 

شماتیک مدار برای ساخت رادیو کنترل ۴ کانال، به صورت زیر است

پین های CE و CSN میتوانند به هر پین دیجیتالی متصل شوند.

در برد آردوینو uno  پین های پرروتوکل spi به صورت زیر می‌باشند:

    MOSI is connected to the digital pin 11
    MISO is connected to the digital pin 12
    SCK is connected to the digital pin 13

 

شماتیک مدار برای ساخت رادیو کنترل ۴ کانال، به صورت زیر است:

New Bitmap Image

کد گیرنده :

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Servo.h>
 
RF24 radio(7,8);
Servo yaw;
Servo roll;
Servo pitch;
Servo throttle;
 
constbyterxAddr[6]="00001";
voidsetup(){
  Serial.begin(9600);
  radio.begin();
  radio.openReadingPipe(0,rxAddr);
  radio.startListening();
  yaw.attach(3);
  roll.attach(5);
  pitch.attach(6);
  throttle.attach(9);
}
 
voidloop(){
  if(radio.available()){
    intjoyStick[4];
    radio.read(joyStick,sizeof(joyStick));
    yaw.write(joyStick[1]);
    roll.write(joyStick[3]);
    pitch.write(joyStick[2]);
    throttle.write(joyStick[0]);
}
}
 
فراخوانی کتابخانه‌ها
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Servo.h>
مشخص کردن پین CE و CSN
RF24 radio(7,8);
مشخص کردن ۴ کانال از جنس Servo
Servo yaw;
Servo roll;
Servo pitch;
Servo throttle;
تابع اول تعداد فرستتنده‌هایی است که گیرنده از آن‌ها اطلاعات دریافت میکند. قابل ذکر است از ۶ فرستنده به طور همزمان میتوان اطلاعات را دریافت نمود.

تابع دوم آدرس فرستنده اطلاعات می‌باشد.
constbyterxAddr[6]="00001";
این متد ماژول را برای دریافت اطلاعات آماده میکند.
  radio.startListening();
مشخص کردن شماره ی پین هر کانال

 
  yaw.attach(3);
  roll.attach(5);
  pitch.attach(6);
  throttle.attach(9);
}
اگر ماژول داده ای دریافت نمود، این تابع مقدار true و اگر مقداری دریافت نکرد مقدار false را بر می‌گرداند. پس از دریافت Data، مقدار مورد نظر به هر یک از کانال‌ها نسبت داده می‌شود.

voidloop(){
  if(radio.available()){
    intjoyStick[4];
    radio.read(joyStick,sizeof(joyStick));
    yaw.write(joyStick[1]);
    roll.write(joyStick[3]);
    pitch.write(joyStick[2]);
    throttle.write(joyStick[0]);
}
}


تعداد بازديد : 316
تاریخ انتشار: چهارشنبه 31 شهريور 1395 ساعت: 19:27
نظر

مطالب مرتبط

بخش نظرات این مطلب


نام
ایمیل (منتشر نمی‌شود) (لازم)
وبسایت
:) :( ;) :D ;)) :X :? :P :* =(( :O @};- :B /:) :S
نظر خصوصی
مشخصات شما ذخیره شود ؟ [حذف مشخصات] [شکلک ها]
کد امنیتیرفرش کد امنیتی

دوستان و همکاران

با2Alborz دوست شوید !

محل لگوهای شما محل لگوهای شما محل لگوهای شما محل لگوهای شما
تمامی حقوق سایت و قالب برای((الکترونیک)) محفوظ می‌باشد و هرگونه سؤاستفاده و کپی برداری پیگرد قانونی دارد | کپی رایت 2016