نمایش نتایج: از 1 به 8 از 8
Like Tree1 لایک
  • 1 Post By magmagmary

موضوع: Nrf

  1. #1
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    3,806

    Nrf

    کد کنترل دو LED با NRF و آردوینو
    کد فرستنده :
    کد:
    
    #include <RH_NRF24.h>
    RH_NRF24 nrf24(9, 10);
    
    
    void setup()
    {
      Serial.begin(9600);
      if (!nrf24.init())
        Serial.println("init failed");
      if (!nrf24.setChannel(1))
        Serial.println("setChannel failed");
      if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm))
        Serial.println("setRF failed");
    }
    
    
    
    
    void loop()
    {
      if (Serial.available() > 0) {
        Serial.println(c);
        if (c == '1') {
          Serial.println("Sending to nrf24_server");
          uint8_t data[] = "1";
          nrf24.send(data, sizeof(data));
          nrf24.waitPacketSent();
        }
        else if (c == '2') {
          Serial.println("Sending to nrf24_server");
          uint8_t data[] = "2";
          nrf24.send(data, sizeof(data));
          nrf24.waitPacketSent();
        }
        else {
          Serial.println("unknown character");
        }
      }
    }
    کد گیرنده :

    کد:
    
    #include <SPI.h>
    #include <RH_NRF24.h>
    
    
    RH_NRF24 nrf24(9, 10); // For RFM73 on Anarduino Mini
    
    
    void setup()
    {
      Serial.begin(9600);
    
    
      if (!nrf24.init())
        Serial.println("init failed");
      // Defaults after init are 2.402 GHz (channel 2), 2Mbps, 0dBm
      if (!nrf24.setChannel(1))
        Serial.println("setChannel failed");
      if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm))
        Serial.println("setRF failed");
      pinMode(6, OUTPUT);
      pinMode(7, OUTPUT);
    }
    
    
    void loop()
    {
      if (nrf24.available())
      {
        uint8_t  buf[RH_NRF24_MAX_MESSAGE_LEN];
        uint8_t len = sizeof(buf);
        if (nrf24.recv(buf, &len))
        {
          String str = (char*)buf;
          if (str == "1") {
            digitalWrite(7, HIGH);
            digitalWrite(6, LOW);
          }
          if (str == "2") {
            digitalWrite(6, HIGH);
            digitalWrite(7, LOW);
          }
        }
      }
    }
    فایل های پیوست شده فایل های پیوست شده
    لایک کردن

  2. #2
    Junior Member
    تاریخ عضویت
    Nov 2015
    نوشته ها
    3
    سسلام متاسفانه برای من جواب نمیده نمیدونم چرا
    هربرنامه ای که می ریزم جواب نمیگیرم

  3. #3
    مدیر ویژه
    تاریخ عضویت
    Mar 2014
    نوشته ها
    582
    از چه مدل nrf استفاده می کنی؟
    اگر دو چیپ هست فعلا از نمونه ساده استفاده کن

  4. #4
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    3,806
    نقل قول نوشته اصلی توسط mlovem نمایش پست ها
    سسلام متاسفانه برای من جواب نمیده نمیدونم چرا
    هربرنامه ای که می ریزم جواب نمیگیرم
    دوست عزیز این که هیچ کدی جواب نمیده معنیش اینه که سخت افزارتون مشکل داره .

    جلسه بیست و ششم : راه اندازی NRF24L01 با آردوینو | وبلاگ آردوینو

    این رو مطالعه کنید.

  5. #5
    Junior Member
    تاریخ عضویت
    Apr 2017
    نوشته ها
    1
    با سلام و تسکر از اموزش های عالیتون ....
    دومین خط پس از void loop اشتباه لطفا اصلاح کنید..
    با تشکر ویژه امید وارم بهترین مرجع اموزش اردینو باشید.

  6. #6
    Junior Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    1

    توابه تکمیلی

    سلام و ممنون از آموزش های خوبتون
    لطف می کنید توابع تکمیلی این کتاب خونه رو معرفی کنید ؟
    اگر زبان اصلی هم باشه باز هم خوبه ممنون

  7. #7
    Junior Member
    تاریخ عضویت
    Nov 2014
    نوشته ها
    2
    اه چرا کتابخانه رو نزاشتید هرکاری کردم نشد لطفا بزارید مرسی

  8. #8
    Junior Member
    تاریخ عضویت
    Aug 2017
    محل سکونت
    IRAN
    نوشته ها
    1
    با سلام وتشکر بابت آموزش ها و کدهای مفیدتون
    من کدها رو اجرا کردم و نتیجه هم گرفتم ولی الان 3 تا سوال برام پیش اومده

    1 - مگر NRF با پروتکل spi کار نمیکنه پس چرا ما باید 6تا پایه شو به اردوینو وصل کنیم من توی پروژم بخاطر اینکه پایه کم دارم مجبور شدم از دیکدر استفاده کنم که اگر بشه پایه های NRF رو کمتر کرد خب مسلما دیکدر هم حذف میشه

    2 - من 2تا پروژه دیگه هم دارم که توی اونا برام سوال پیش اومده:
    پروژه اول: من میخام 10 تا NRF رو دوبدو با هم لینک کنم تا برای هم دیتا بفرستن چطوری میشه هر فرستنده فقط برای یک گیرنده مشخص پیغام بفرسته ؟؟ من الان توی کدهای فرستنده پسورد گذاشتم و هربار که با گیرنده ها اطلاعات دریافت میکنم اول رمز رو چک میکنم ، خب اینکار هم میزان کد نویسی رو زیاد کرده و هم سرعت رو اورده پایین

    پروژه دوم : این یکی هم شبیه پروژه بالایی هستش با این تفاوت که من فقط یدوتنه فرستنده دارم که میخام به گیرنده های مختلفی که وجود دارن اطلاعات بفرستم البته نه همزمان مثلا زمان 1 به گیرنده اول ، زمان دوم به گیرنده دو و ... اینو چکار کنم ؟؟

    آیا ماژول NRF مثل ماژول HC05 حالت AT COMMAND نداره که بشه ماژولها رو با هم Pair کرد؟؟

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

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

SEO by vBSEO