صفحه 3 از 24 نخستنخست 1234513 ... آخرینآخرین
نمایش نتایج: از 21 به 30 از 238
Like Tree63 لایک

موضوع: ماژول انتقال بیسیم اطلاعات +nrf24l01 ( فرکانس 2.4g ) + آنتن

  1. #21
    Member
    تاریخ عضویت
    May 2014
    نوشته ها
    38
    من از یک Arduino Pro Mini که به یک سنسور دما و رطوبت DHT 22 متصل است استفاده کردم. طرف دیگه یک آردینو Uno بود که مقادیر رو دریافت می کنه و روی یک Liquid Crystal نمایش میده. با همه ماژول های NRF که 8 پایه هستند تست کردم و با همشون به خوبی کار میکنه.

    کد ارسال:
    کد:
    /* YourDuinoStarter Example: nRF24L01 Transmit Joystick values
     - WHAT IT DOES: Reads Analog values on A0, A1 and transmits
       them over a nRF24L01 Radio Link to another transceiver.
     - SEE the comments after "//" on each line below
     - CONNECTIONS: nRF24L01 Modules See:
     http://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo
       1 - GND
       2 - VCC 3.3V !!! NOT 5V
       3 - CE to Arduino pin 9
       4 - CSN to Arduino pin 10
       5 - SCK to Arduino pin 13
       6 - MOSI to Arduino pin 11
       7 - MISO to Arduino pin 12
       8 - UNUSED
       - 
       Analog Joystick or two 10K potentiometers:
       GND to Arduino GND
       VCC to Arduino +5V
       X Pot to Arduino A0
       Y Pot to Arduino A1
       
     - V1.00 11/26/13
       Based on examples at http://www.bajdi.com/
       Questions: terry@yourduino.com */
    
    /*-----( Import needed libraries )-----*/
    #include "DHT.h"
    #include <SPI.h>
    #include <nRF24L01.h>
    #include <RF24.h>
    
    
    /*-----( Declare Constants and Pin Numbers )-----*/
    #define CE_PIN   9
    #define CSN_PIN 10
    //#define JOYSTICK_X A0
    //#define JOYSTICK_Y A1
    #define DHTPIN 2     // what pin we're connected to
    #define DHTTYPE DHT22   // DHT 22  (AM2302)
    
    // NOTE: the "LL" at the end of the constant is "LongLong" type
    const uint64_t pipe = 0xE8E8F0F0E1LL; // Define the transmit pipe
    
    
    /*-----( Declare objects )-----*/
    RF24 radio(CE_PIN, CSN_PIN); // Create a Radio
    /*-----( Declare Variables )-----*/
    int data[3];  // 2 element array holding Joystick readings
    
    DHT dht(DHTPIN, DHTTYPE);
    void setup()   /****** SETUP: RUNS ONCE ******/
    {
      Serial.begin(9600);
      radio.begin();
      radio.openWritingPipe(pipe);
      dht.begin();
       
      
    }//--(end setup )---
    
    
    void loop()   /****** LOOP: RUNS CONSTANTLY ******/
    {
      //joystick[0] = analogRead(JOYSTICK_X);
      //joystick[1] = analogRead(JOYSTICK_Y);
    
      float h = dht.readHumidity();
      float t = dht.readTemperature();
      data[0] = 1;
      data[1] = 100;//h;
      data[2] = 200;//t;
      
      radio.write( data, sizeof(data) );
      //delay(1000);
    }//--(end main loop )---
    
    /*-----( Declare User-written Functions )-----*/
    
    //NONE
    //*********( THE END )***********
    کد دریافت
    کد:
    /* YourDuinoStarter Example: nRF24L01 Receive Joystick values
    
     - WHAT IT DOES: Receives data from another transceiver with
       2 Analog values from a Joystick or 2 Potentiometers
       Displays received values on Serial Monitor
     - SEE the comments after "//" on each line below
     - CONNECTIONS: nRF24L01 Modules See:
     http://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo
       1 - GND
       2 - VCC 3.3V !!! NOT 5V
       3 - CE to Arduino pin 9
       4 - CSN to Arduino pin 10
       5 - SCK to Arduino pin 13
       6 - MOSI to Arduino pin 11
       7 - MISO to Arduino pin 12
       8 - UNUSED
       
     - V1.00 11/26/13
       Based on examples at http://www.bajdi.com/
       Questions: terry@yourduino.com */
    
    /*-----( Import needed libraries )-----*/
    #include <SPI.h>
    #include <nRF24L01.h>
    #include <RF24.h>
    
    #include <Wire.h> 
    #include <LiquidCrystal_I2C.h>
    
    LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display
    
    
    /*-----( Declare Constants and Pin Numbers )-----*/
    #define CE_PIN   9
    #define CSN_PIN 10
    
    // NOTE: the "LL" at the end of the constant is "LongLong" type
    const uint64_t pipe = 0xE8E8F0F0E1LL; // Define the transmit pipe
    
    
    /*-----( Declare objects )-----*/
    RF24 radio(CE_PIN, CSN_PIN); // Create a Radio
    /*-----( Declare Variables )-----*/
    int data[3];  // 2 element array holding Joystick readings
    
    void setup()   /****** SETUP: RUNS ONCE ******/
    {
      Serial.begin(9600);
      delay(1000);
      Serial.println("Nrf24L01 Receiver Starting");
      radio.begin();
      radio.openReadingPipe(1,pipe);
      radio.startListening();;
      
      lcd.init();                      // initialize the lcd 
      lcd.backlight();
    }//--(end setup )---
    
    
    void loop()   /****** LOOP: RUNS CONSTANTLY ******/
    {
      if ( radio.available() )
      {
        // Read the data payload until we've received everything
        bool done = false;
        while (!done)
        {
          // Fetch the data payload
          done = radio.read( data, sizeof(data) );
          //Serial.print("H = ");
          //Serial.print(data[1]);
          //Serial.print(" T = ");      
          //Serial.println(data[2]);
          lcd.clear();
    
          lcd.setCursor(0,0);
          lcd.print("Channel: ");
          lcd.print(data[0]);
          
          lcd.setCursor(0,1);
          
          lcd.print("H: ");
          lcd.print(data[1]);
          lcd.print(" T: ");
          lcd.print(data[2]);
    
          delay(500);
        }
      }
      else
      {    
          //Serial.println("No radio available");
          lcd.clear();
          lcd.print("No radio available");
          delay(500);
      }
    
    }//--(end main loop )---
    
    /*-----( Declare User-written Functions )-----*/
    
    //NONE
    //*********( THE END )***********

  2. #22
    Member
    تاریخ عضویت
    Jul 2014
    نوشته ها
    30
    سلام
    دوتا سوال دارم
    اول اینکه این هدرها رو میشه برای کامپایلر keil استفاده کرد؟
    دوم اینکه پسوند ها *.Fzz *.pde با که برنامه هایی باز میشه
    من باهچی نتونستم اجرا کنم

  3. #23
    Member
    تاریخ عضویت
    Aug 2014
    نوشته ها
    76
    نقل قول نوشته اصلی توسط sadegh نمایش پست ها
    سلام
    دوتا سوال دارم
    اول اینکه این هدرها رو میشه برای کامپایلر keil استفاده کرد؟
    دوم اینکه پسوند ها *.Fzz *.pde با که برنامه هایی باز میشه
    من باهچی نتونستم اجرا کنم
    سلام صادق جان
    نه داداش برای کیل نمیشه استفاده کرد(البته استثنا هم داره)
    اون دوتا پسوندی هم که نوشتی با برنامه fritzing باز میشه
    اینم لینک دانلودش Fritzing Download

    موفق باشید
    یاعلی

  4. #24
    Junior Member
    تاریخ عضویت
    Jul 2014
    نوشته ها
    3
    سلام
    اگه امکان داره میشه هدر فایل هات که تو این برنامه استفاده کرده ای رو بگذاری ممنون!!

  5. #25
    Junior Member
    تاریخ عضویت
    Jul 2014
    نوشته ها
    3
    منظورم کاربر d3lphi بود چون برای من خطا از هدر فایل میگیره

  6. #26
    Junior Member
    تاریخ عضویت
    Jul 2014
    نوشته ها
    3
    نقل قول نوشته اصلی توسط e.rasekh نمایش پست ها
    ماژول فرستنده و گيرنده راديويي +nRF24L01 از جديدترين فرستنده و گيرنده 2.4 گيگاهرتزي شركت Nordic Semiconductor يعني چيپ +nRF24L01 استفاده مي كند. فركانس اين آي سي براي دريافت و ارسال راديويي اطلاعات باند 2.4 گيگاهرتز بوده و مشخصات بسيار جديدي دارد. اين آي سي تمامي مشخصات و مزاياي آي سي سري قبل خود يعني nRF24L01A را داراست. بعلاوه pipeline و بافرهاي اضافي، و همچنين ارسال مجدد اتوماتيك، از قابليتهاي اضافه شده در اين سري از آي سي هاي RF است.

    توجه: در سري پلاس «+» از اين آي سي ها يعني +nRF24L01 شركت Nordic مشخصاتي مانند برد، حساسيت و نرخ تبادل اطلاعات را نسبت به محصول سري قبل يعني nRF24L01 ارتقاء داده است. با اين حال دستورات كنترلي يا Command های اين سري با سري قبل يكي بوده و تغييري نداشته است.

    مشخصات:

    • آنتن 2.4 گيگاهرتز روي بورد
    • برد 100 متر
    • نرخ تبادل اطلاعات قابل تنظيم از 250 كيلوبيت تا 2 مگابيت بر ثانيه
    • Auto Acknowledge
    • Re-Transmit Auto
    • Multiceiver با 6 ديتاپايپ
    • داراي 32 بايت FIFO بصورت مجزا براي TX و RX
    • پايه هاي ورودي با تحمل ولتاژ 5 ولت
    • قابليت تنظيم كانال ارتباطي از 2400 مگاهرتز تا 2525 مگاهرتز (125كانال قابل انتخاب)
    • حداقل نياز به قطعات جانبي جهت راه اندازي
    • ترتيب پايه ها :VCC ، CE ، CSN ، SCK ، MOSI ، MISO ، IRQ


    شماتیک مدار:
    فایل پیوست 442

    مثال آردوینو:
    کد:
    /*
     # Be name Khoda!
     # A Mirf example to test the latency between two Ardunio.
    
     # Company    : AftabRayaneh
     # Website    : http://shop.aftabrayaneh.com
     # Developers : Reza Najafi, Elham Rasekh
     # Date       : 09.09.2013
     # Version    : 3.0
     
     * Pins:
     * Hardware SPI:
     * MISO -> 12
     * MOSI -> 11
     * SCK -> 13
     *
     * Configurable:
     * CE -> 8
     * CSN -> 7
     */
    
    #include <SPI.h>
    #include <Mirf.h>
    #include <nRF24L01.h>
    #include <MirfHardwareSpiDriver.h>
    
    const int MAX_BUFFER_LEN = 16;
    String Receive_Address = "clie1"; //A name that is dedicated to this station; MAX is 5 Char.
    String Send_Address = "clie2";    //A name that is dedicated to another station; MAX is 5 Char. 
    
    String strMirfBuffer="";
    byte Transfer_Lock=0;
    
    void setup()
    {  
      Serial.begin(9600); 
      Setup_Mirf(); // initializing overall needed...  
      sendData("TALK"); 
    }
    
    void loop()
    {
      if (!Mirf.isSending())
         check_MirfBuffer();  
      read_SerialBuffer();
    } 
    
    //This function checks mirf data availability. if data is available, put it in the buffer and generates an event.
    void check_MirfBuffer()
    {
      if (Mirf.dataReady())
      { 
        while(Mirf.dataReady())
        {
          int  tmp_index=0;
          byte tmp_buffer[4]={0};
          Mirf.getData(tmp_buffer);  
          while(tmp_buffer[tmp_index] && tmp_index<4 )
          {
            strMirfBuffer = strMirfBuffer + char(tmp_buffer[tmp_index]);
            tmp_index++;
          }
          if (strMirfBuffer.length() >= MAX_BUFFER_LEN ) 
            buffer_ready();     
         
          if (!Mirf.dataReady())
            delay(2);     
        }
      }
      else if (strMirfBuffer.length()>0 )   
        buffer_ready();   
    }
    
    //This function sends a 4 byte packet
    void sendPacket(char packet[5])
    {   
      Mirf.send((byte *)packet);
      while(Mirf.isSending());
    }
    
    //This function sends data 
    void sendData(String strData)
    {
      int StrLen=0;
      String tmp_Str="";
      Serial.print("sending data: ");
      Serial.print(strData);
      Transfer_Lock=1;
      StrLen=strData.length();
      Serial.print(" : ");
      Serial.println(StrLen);
      
      //parsing the data to 4 character packets (byte *)packet
      while (StrLen>0)
      {
        char tmp_Char[5]={0};
        if(StrLen>4)
        {
          tmp_Str=strData.substring(0,4);
          strData=strData.substring(4);
        }
        else
        {
          tmp_Str=strData;
          strData="";
        }
        tmp_Str.toCharArray(tmp_Char, 5);;
        sendPacket(tmp_Char); 
        StrLen=strData.length();    
      }  
      Transfer_Lock=0;
    }
    
    //This function parses received commands from another nrfs.
    void buffer_ready()
    {  
      if (strMirfBuffer == "TALK")
      {
        sendData("HURRAY !");
        Serial.println("Talking...");  
      }   
      //and parse other commands so on ...
      else 
      {
        Serial.print("<");
        Serial.print(strMirfBuffer);
        Serial.println(">");
      }
      clear_buffer(); 
    }
    
    //This function forms a buffer of serial data and send it
    void read_SerialBuffer()
    {
      if(Serial.available())
      {
        char CharData;
        String StrSerialBuffer=""; 
        
        while (Serial.available() && StrSerialBuffer.length() < MAX_BUFFER_LEN ) 
        {      
          CharData=Serial.read();
          StrSerialBuffer=StrSerialBuffer + CharData;   
          if (!Serial.available())
             delay(1);       
        }      
         while (Transfer_Lock); //wait for transfer process     
          
         sendData(StrSerialBuffer);    
      }
    }
    
    //This function initializes overall needed for wireless communication
    void Setup_Mirf() 
    {
      char Receive_Adr_Char[6];
      char Send_Adr_Char[6];
      Receive_Address.toCharArray(Receive_Adr_Char, 6); 
      Send_Address.toCharArray(Send_Adr_Char, 6); 
    
      Mirf.spi = &MirfHardwareSpi;
      Mirf.init();
      Mirf.setRADDR((byte *)Receive_Adr_Char);
      Mirf.setTADDR((byte *)Send_Adr_Char);
      Mirf.payload = sizeof(unsigned long);
      Mirf.config();
    
      //reg - Start  
      byte rf_setup = 0;
      Mirf.readRegister( RF_SETUP, &rf_setup, sizeof(rf_setup) );
    
      if (rf_setup != 0)   
        Serial.println("Beginning ... "); 
      else
      {
        Serial.println( "Wireless did not initialize!" );
        while (rf_setup==0);       
      }
      delay(100);
    }
    
    //This function clears the buffer
    void clear_buffer ()
    {
      strMirfBuffer="";
    }
    جهت سفارش این کالا، به این بخش در فروشگاه آفتاب رایانه مراجعه نمایید.

    برای من این خطا را می دهد:
    error: 'SPI_2XCLOCK_MASK' was not declared in this scope

  7. #27
    Junior Member
    تاریخ عضویت
    Apr 2014
    نوشته ها
    17
    بسم الله الرحمن الرحیم

    من این ماژول رو خریداری کردم که برای راه اندازیش حدودا یکی دو روز مشکل داشتم که آخر متوجه شدم اشکال از تغذیه اون هست برای رفع مشکل تغذیه شما می تونید با موازی کردن دو خازن در رنج های ۱۰۰ نانو فاراد و ۱۰ میکرو فاراد با تغذیه ۳/۳ ولتی اون هر نویزی رو از روی تغذیه حذف کنید مطابق شکل زیر:

    ماژول انتقال بیسیم اطلاعات +NRF24L01 ( فرکانس 2.4G ) + آنتن

    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: My_nrf24.jpg
مشاهده: 341
حجم: 24.2 کیلو بایتبرای دیدن سایز بزرگ روی عکس کلیک کنید

نام: nrf24.jpg
مشاهده: 323
حجم: 24.6 کیلو بایت

    با تشکر از کادر زحمت کش آفتاب رایانه که حقیقتا افراد مثبتی هستند.
    ویرایش توسط homayoun : 10-22-2014 در ساعت 06:38 PM

  8. #28
    Junior Member
    تاریخ عضویت
    Feb 2014
    محل سکونت
    Iran
    نوشته ها
    22

    Unhappy NRF24l01+

    سلام دوستان من این مدار رو برای یک UNO بستم و کد زیر رو براش آپلود کردم...
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: NRF24L01_bb.jpg
مشاهده: 210
حجم: 90.9 کیلو بایت

    انتخاب پایه هام بر اساس خود سایت arduino بوده:

    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: SPI.JPG
مشاهده: 212
حجم: 44.1 کیلو بایت




    این هم کدش:
    کد:
    /*        
            ####UPLOAD TO UNO####
            #    MOSI==>11      #
            #    MISO==>12      #
            #    SCK===>13      #
            # # # # # # # # # # #
            #CE_pin 7&CSN_pin 8 #
            #####################
    */
    
    
    //====# header files #====
    #include<SPI.h>
    #include<nRF24l01.h>
    #include<RF24.h>
    
    //====# define #====
    #define CE_pin 7
    #define CSN_pin 8
    
    //====# pre initializing #====
    RF24 radio(CE_pin,CSN_pin);
    const uint64_t mega_to_uno_pipe=0x0f0f0f0f01LL; //40 bit add, differs in lsb
    const uint64_t uno_to_mega_pipe=0x0f0f0f0f02LL; // LL means long-long
    int A=0xaaaa;
    bool done;
    //====# SetUp part #====
    void setup(){
      Serial.begin(9600);
      radio.begin();
      radio.setPayloadSize(sizeof(A));
      radio.openReadingPipe(1,mega_to_uno_pipe);
      radio.openWritingPipe(uno_to_mega_pipe);
      radio.setRetries(0,0);
      radio.setDataRate(RF24_1MBPS);
    	
    
      
    
    }
    
    //====# The main program #====
    void loop(){
     done=radio.write( &A, 1 );
     Serial.print(done);
     delay(100);
    }
    و مدار و کد زیر رو هم برای یک MEGA2560 آپلود کردم...
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: NRF24L01_bb.jpg
مشاهده: 198
حجم: 89.0 کیلو بایت

    این هم کدش:

    کد:
     /*       
            ####UPLOAD TO MEGA####
            #     MOSI==>51      #
            #     MISO==>50      #
            #     SCK===>52      #
            # # # # # # # # # # ##
            # CE_pin 7&CSN_pin 8 #
            ######################
    */
    
    
    //====# header files #====
    #include<SPI.h>
    #include<nRF24l01.h>
    #include<RF24.h>
    
    //====# define #====
    #define CE_pin 7
    #define CSN_pin 8
    
    //====# pre initializing #====
    RF24 radio(CE_pin,CSN_pin);
    const uint64_t mega_to_uno_pipe=0x0f0f0f0f01LL; //40 bit add, differs in lsb
    const uint64_t uno_to_mega_pipe=0x0f0f0f0f02LL; // LL means long-long
    int A;
    bool done=false;
    //====# SetUp part #====
    void setup(){
      Serial.begin(9600);
      radio.begin();
      radio.setPayloadSize(sizeof(A));
      radio.openReadingPipe(1,uno_to_mega_pipe);
      radio.openWritingPipe(mega_to_uno_pipe);
      radio.setRetries(0,0);.
      radio.setDataRate(RF24_1MBPS);
      pinMode(13,OUTPUT);
    
    }
    
    //====# The main program #====
    void loop(){
      radio.startListening();
      if(A==0xaaaa){
        done=true;
      }
      radio.read(&A,sizeof(A));
      radio.stopListening();
      digitalWrite(13,done);
      Serial.print(done);
      Serial.println(A);
      delay(100);
    }

    امّا از دو طرف فقط توی سریال صفر میبینم...
    دوستانی که کار کردن با این ماژول و یا اطلاعاتی دارن لطفاً راهنمایی کنید...
    قسمت SETUP هر دو تا برنامه یکی هست و فقط جای آدرس pipe ها (read و write)عوض شده
    اون قسمت setRetries هم با 15و15 هم همین طور کار می کرد...

    من چیز دیگه ای، به ذهنم نمیرسه دوستان اگر چیزی میدونند لطفاً کمک کنید...

    لطفاً از طریق همین فروم یا میل «arsham.sharifnia@gmail.com» پاسخ بدید
    ممنون...
    ویرایش توسط arsham : 11-07-2014 در ساعت 10:16 PM
    Great Regard
    A.Sharifnia

  9. #29
    Senior Member
    تاریخ عضویت
    Nov 2013
    نوشته ها
    183
    نقل قول نوشته اصلی توسط arsham نمایش پست ها
    دوستانی که کار کردن با این ماژول و یا اطلاعاتی دارن لطفاً راهنمایی کنید...
    قسمت SETUP هر دو تا برنامه یکی هست و فقط جای آدرس pipe ها (read و write)عوض شده
    اون قسمت setRetries هم با 15و15 هم همین طور کار می کرد...

    من چیز دیگه ای، به ذهنم نمیرسه دوستان اگر چیزی میدونند لطفاً کمک کنید...

    لطفاً از طریق همین فروم یا میل «arsham.sharifnia@gmail.com» پاسخ بدید
    ممنون...
    میشه کتابخونه هایی که استفاده کردید رو بزارید تا بهتر بتونم مشکلتونو حل کنم

  10. #30
    Junior Member
    تاریخ عضویت
    Feb 2014
    محل سکونت
    Iran
    نوشته ها
    22
    نقل قول نوشته اصلی توسط navidnkh نمایش پست ها
    میشه کتابخونه هایی که استفاده کردید رو بزارید تا بهتر بتونم مشکلتونو حل کنم
    این هم لینک دانلود دوتا کتابخونه rf24,nRF24l01 ممنون میشم...


    لینک پرشین*گیگ:
    Download LIBRARIES.zip


    لینک از سرور همین سایت:
    LIBRARIES.zip
    ویرایش توسط arsham : 11-09-2014 در ساعت 06:52 PM
    Great Regard
    A.Sharifnia

صفحه 3 از 24 نخستنخست 1234513 ... آخرینآخرین

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

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

SEO by vBSEO