ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

نمایش نتایج: از 1 به 1 از 1
  1. #1
    2017/06/23
    25
    26
    همکار علمی

    راه اندازی NRF24L01 با آردوینو

    در این پروژه یک سرور موتور از طریق یک پتانسیومتر از به صورت بیسیم کنترل میشود . پایه ها و کاربرد هر یک از پین های ماژول NRF

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

    ابتدا کتابخانه را از این

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    کنید و به نرم افزار اضافه کنید.


    کدهای فرستنده
    #include <RF24.h>
    #include <RF24_config.h>
    #include <SPI.h>
    RF24 radio(8, 53);
    const byte address[6] = "00001";
    void setup()
    {
    radio.begin();
    radio.setRetries(15, 15);
    radio.openWritingPipe(address);
    }
    void loop()
    {
    int joyStick[2];
    joyStick[0] = analogRead(A0);
    joyStick[1] = analogRead(A1);
    joyStick[0] = map(joyStick[0] , 0, 1023, 0, 180);
    radio.write(joyStick, sizeof(joyStick));



    در ابتدای برنامه ابتدا سه کتابخانه SPI.h ,nrf24L01.h,RF24.h را فراخوانی میکنیم. از کلاس RF24 یک شی به نام radio میسازیم .

    RF24 radio(8,53);

    این شی دو آرگمان ورودی دارد.که آرگومان اول CE و آرگومان دوم CSN می باشد. قابل ذکر است که میتوانید پین های دیگری را نیز استفاده کنید.

    const byte address[6] = "00001";



    سپس یک آرایه به نام rxAddr تعریف میکنیم.در این آرایه آدرس گیرنده که قرار است اطلاعات برایش ارسال شود قرار میگیرد.در تابع setup برای شروع کار با مودم از دستور زیر استفاده میکنیم.این دستور باعث فعال شدن ماژول می شود.
    radio.begin()


    [B][/B]
    سپس از دستور ;(radio.setRetries(15, 15 استفاده میکنیم. در این ماژول با هر بار ارسال داده به فرستنده به گیرنده ، گیرنده یک ack ایجاد میکند.حال با استفاده از تابع بالا ، در صورتی که این ack توسط فرستنده دریافت نشد ، فرستنده سعی به ارسال دوباره ی داده میکند. به زبان ساده تر ، اگر اطلاعات توسط گیرنده دریافت نشود ، فرستنده داده ها را دوباره ارسال خواهد کرد.
    در آرگومان اول عدد مورد نظر در ۲۵۰ میکرو ثانیه ضرب میشود (حداکثر مقدار برای آرگومان ۱۵ می باشد)و زمان تغییر در هر بار ارسال داده را مشخص میکند. بنابر این در مثال ما اگر گیرنده موفق به دریافت داده ای نشد ، فرستنده هر۳۷۵۰ میکرو ثانیه یا هر ۳٫۷۵ میلی ثانیه (۱۵*۲۵۰=۳۷۵۰) سعی به ارسال داده میکند. آرگمان دوم تعداد دفعات سعی برای ارسال داده را مشخص میکند.در این مثال اگر ماژول گیرنده داده ای دریافت نکرد ، ماژول فرستنده قبل از متوقف شدن ۱۵ بار برای ارسال مجدد داده تلاش میکند.
    radio.openWritingPipe(rxAddr);



    این متد ماژول را در مد فرستنده قرار میدهد و در ورودی آن آدرس گیرنده اطلاعات را وارد میکنیم.
    joyStick[0]=analogRead(A0);
    joyStick[0]=map(joyStick[0],0,1023,0,180);
    radio.write(joyStick, sizeof(joyStick));

    ابتدا مقدار آنالوگ جوی استیک که بین ۰ و ۱۰۲۳ می باشد در خانه ی صفرم آرایه joystick قرار میگیرد، سپس به کمک تابع map مقدار ۰ الی ۱۰۲۳ به مقدار ۰الی ۱۸۰ نسبت داده میشود. متد write داری دو ورودی می باشد که ورودی اول مقداری است که ارسال خواهد شد و ورودی دوم اندازه ی مقدار ارسالی می باشد که به کمک تابع sizeof به طور اتوماتیک اندازه ی آن را مشخص میکنیم.
    کد های گیرنده:

    #include <nRF24L01.h>
    #include <RF24.h>
    #include <Servo.h>
    RF24 radio(7, 8);
    Servo servo;
    const byte rxAddr[6] = "00001";
    void setup()
    {

    Serial.begin(9600);

    radio.begin();
    radio.openReadingPipe(0, rxAddr);

    radio.startListening();
    servo.attach(3);
    }
    void loop()
    {
    if (radio.available())
    {
    int joyStick[2];
    radio.read(joyStick, sizeof(joyStick));
    servo.write(joyStick[0]);

    }


نمایش نتایج: از 1 به 1 از 1

موضوعات مشابه

  1. دانلود کتابخانه و پروژه راه اندازی NRF24L01 و +NRF24L01
    توسط md3848 در انجمن میکروکنترلرهای AVR
    پاسخ: 29
    آخرين نوشته: 2019/03/09, 13:57
  2. گرفتن اطلاعات چند فرستنده nrf24l01 توسط یک گیرنده nrf24l01 با آردوینو
    توسط bann در انجمن ماژول های RF - ISM Band و بلوتوث
    پاسخ: 0
    آخرين نوشته: 2016/07/09, 11:06
  3. اتصال ماژول NRF24L01 به آردوینو (مگا16)
    توسط ehem74 در انجمن خانواده Arduino
    پاسخ: 1
    آخرين نوشته: 2015/10/26, 18:40
  4. راه اندازی nRF24L01
    توسط omid_544 در انجمن میکروکنترلرهای AVR
    پاسخ: 9
    آخرين نوشته: 2014/07/16, 16:58
  5. راه اندازی NRF24L01
    توسط ali_abasi در انجمن NXP
    پاسخ: 0
    آخرين نوشته: 2014/04/08, 13:29

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •