صفحه 22 از 24 نخستنخست ... 122021222324 آخرینآخرین
نمایش نتایج: از 211 به 220 از 238
Like Tree63 لایک

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

  1. #211
    Junior Member
    تاریخ عضویت
    Sep 2016
    نوشته ها
    18
    نقل قول نوشته اصلی توسط meysamam نمایش پست ها
    کد PHP:
    #include <SPI.h>
    #include <SoftwareSerial.h>
    #include "SerialLib.h"

    SoftwareSerial nrf(45);
    // the setup function runs once when you press reset or power the board
    void setup() {
        
    Serial.begin(9600);
        
    nrf.begin(9600);
    }

    // the loop function runs over and over again until power down or reset
    void loop() {


        if (
    nrf.available())
        {
            
    char str nrf.read();
            
    // str ready for send to nrf24l01
        
    }

    ممنون آقا میثم
    میشه در مورد این کد ها توضیح بدین ؟

  2. #212
    Member
    تاریخ عضویت
    Aug 2015
    نوشته ها
    57
    نقل قول نوشته اصلی توسط 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="";
    }
    جهت سفارش این کالا، به این بخش در فروشگاه آفتاب رایانه مراجعه نمایید.





    ممنون میشم راهنمایی کنید که من میخام با خرید دو برد اردینو و دو ماژول nrf24l01+pa+lna و دو ماژول فرستنده و گیرنده معادون قرمز در واقع ,سیگنال معادون قرمز مثلا کنترل رسیور از یه نقطه به نقطه دیگر (در حد برد ماژول) انتقال بدم فقط تو کد موندم اقا میثم تا حدودی برام کمک کرد ولی انچییزی که میخام هنوز نشده ممنون میشم بهم راهنمایی کنید کد برنامه رو مچکرم
    ویرایش توسط farzintey : 01-01-2017 در ساعت 09:01 PM

  3. #213
    مدیر ویژه
    تاریخ عضویت
    May 2014
    نوشته ها
    259
    نقل قول نوشته اصلی توسط farzintey نمایش پست ها
    ممنون میشم راهنمایی کنید که من میخام با خرید دو برد اردینو و دو ماژول nrf24l01+pa+lna و دو ماژول فرستنده و گیرنده معادون قرمز در واقع ,سیگنال معادون قرمز مثلا کنترل رسیور از یه نقطه به نقطه دیگر (در حد برد ماژول) انتقال بدم فقط تو کد موندم اقا میثم تا حدودی برام کمک کرد ولی انچییزی که میخام هنوز نشده ممنون میشم بهم راهنمایی کنید کد برنامه رو مچکرم
    سلام .
    براتون مهمه که با چه کامپایلری بنویسید؟

  4. #214
    Member
    تاریخ عضویت
    Aug 2015
    نوشته ها
    57
    نقل قول نوشته اصلی توسط meysamam نمایش پست ها
    سلام .
    براتون مهمه که با چه کامپایلری بنویسید؟
    سلام میثم جان اره اگه بشه میخام با اردینو uno بارگذاری کنم بنظر شما بهتر نیست و راحتر نیست؟ اگه شما پیشنهادی داری بگو خوشحال میشم میثم جان من تازه دارم بشکل خود اموز یاد میگیرم و خیلی وارد نیستم اگه بتونی کمکم کنی خیلی از زحماتتون متشکر میشم ممنون از راهنماییتان

  5. #215
    مدیر ویژه
    تاریخ عضویت
    May 2014
    نوشته ها
    259
    نقل قول نوشته اصلی توسط farzintey نمایش پست ها
    سلام میثم جان اره اگه بشه میخام با اردینو uno بارگذاری کنم بنظر شما بهتر نیست و راحتر نیست؟ اگه شما پیشنهادی داری بگو خوشحال میشم میثم جان من تازه دارم بشکل خود اموز یاد میگیرم و خیلی وارد نیستم اگه بتونی کمکم کنی خیلی از زحماتتون متشکر میشم ممنون از راهنماییتان
    توی همه کمپایبری میشه نجام بدی .. بردشم فرقی نمیکنه با چی باشه
    ولی اگر بخوای با آردینو و کامپایلر کدویژن میشه راحت درستش کرد با خود کامپایلر آردینو میشه فرقی نمیکنه

  6. #216
    Member
    تاریخ عضویت
    Aug 2015
    نوشته ها
    57
    نقل قول نوشته اصلی توسط meysamam نمایش پست ها
    توی همه کمپایبری میشه نجام بدی .. بردشم فرقی نمیکنه با چی باشه
    ولی اگر بخوای با آردینو و کامپایلر کدویژن میشه راحت درستش کرد با خود کامپایلر آردینو میشه فرقی نمیکنه
    میثم جان کد راه اندازیش و ورودی دادن و خروجی گرفتن میشه کدشو برام بذاری که کد برای سریال گذاشتی میشه انو با همون کد راه اندازی که تو صفحه اول هست مخلوط کرد؟

  7. #217
    مدیر ویژه
    تاریخ عضویت
    May 2014
    نوشته ها
    259
    نقل قول نوشته اصلی توسط farzintey نمایش پست ها
    میثم جان کد راه اندازیش و ورودی دادن و خروجی گرفتن میشه کدشو برام بذاری که کد برای سریال گذاشتی میشه انو با همون کد راه اندازی که تو صفحه اول هست مخلوط کرد؟
    باشه میزارم فقط دارم برات درستش میکنم ... فردا میزارمش روی انجمن
    لایک کردن

  8. #218
    Member
    تاریخ عضویت
    Aug 2015
    نوشته ها
    57


    ممنون میثم جان دمت گرم
    ویرایش توسط farzintey : 01-02-2017 در ساعت 01:00 PM

  9. #219
    مدیر ویژه
    تاریخ عضویت
    May 2014
    نوشته ها
    259
    نقل قول نوشته اصلی توسط farzintey نمایش پست ها


    ممنون میثم جان دمت گرم
    سلام
    به این لینک سری بزن تا...
    http://forum.arduino.ir/4/14/3183.html#post15950

  10. #220
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط farzintey نمایش پست ها
    ببخشید من کامل متوجه نشدم کد های String Receive_Address = "clie1";
    String Send_Address = "clie2"; تو یه برد همینو کمپایل میکنیم و تو برد دیگه جاشون عوض میکنیم کامپایل میکنیم؟
    فقط ترتیب شماره 1 و 2 رو

صفحه 22 از 24 نخستنخست ... 122021222324 آخرینآخرین

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

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

SEO by vBSEO