نمایش نتایج: از 1 به 10 از 68
Like Tree9 لایک

موضوع: NRF24L01P USB Module

Threaded View

spark NRF24L01P USB Module 04-21-2014, 07:37 PM
mahdi_esm سلام من آرايه ... 04-22-2014, 01:29 PM
ehsan_1990 آقا با عرض معذرت میشه یه... 04-22-2014, 05:00 PM
rajaiee.master الان اين كد بايد جايي نوشته... 04-25-2014, 06:26 AM
mahdi_esm بالاخره راه افتاد 04-24-2014, 02:29 PM
mahdi_esm براي مثال من داده ff c4 c3... 04-25-2014, 05:42 PM
mahdi_esm سلام برادر سرعت كه چيزي... 04-27-2014, 12:12 PM
hassan_ghaderi 933 "28074334101111" یک... 06-02-2014, 07:51 AM
Aradღ @spark اگه میشه راهنمايي... 07-12-2014, 04:42 PM
J.Esmaili سلام مهندسین ببخشید من... 07-16-2014, 12:08 PM
microc مشکل حل شد با تشکر 08-20-2014, 06:47 AM
hamsafar_a85 ممنون همینه، چون جواب داد 09-12-2014, 04:29 PM
shakeri سلام ببخشید من با nrf (دو... 09-16-2014, 05:23 PM
safdari ممنون این موضوع در مورد... 10-18-2014, 09:13 AM
mahmoods328 دريغ از يك جواب دوستان... 11-28-2014, 08:44 AM
arsham کمک برای ساخت at+set 01-31-2015, 05:27 PM
aminta nrf_usb 02-23-2015, 04:58 PM
پرویز عدم کارکرد درایور ماژول 04-13-2015, 05:20 AM
alibayat سلام، اگر چه تونستم با PC... 01-24-2016, 06:38 AM
magmagmary اینو... 05-02-2016, 06:09 AM
aslan modir مهندس جان این مال شرکت eca... 05-02-2016, 08:17 PM
magmagmary دوست گرامی حل شد مشکلاتتون 01-14-2017, 11:08 AM
meysamam با سلام سرعت nrf در حد max... 03-26-2017, 05:05 AM
hojatm61 NRF24L01+PA+LNA ماژول بالا... 11-15-2019, 08:56 AM
  1. #15
    Junior Member
    تاریخ عضویت
    Oct 2014
    نوشته ها
    8
    سلام
    من با این کد که ضمیمه کردم می تونم از PC به Arduino اطلاعات بفرستم البته چند بار که ارسال می کنم یک بار ارسال میشه و یکسری کاراکتر اضافه هم همراهش هست که در مجموع بلا استفاده است.
    از Arduino هم که اصلا هیچ چیز ارسال نمیشه.
    این کد پیشنهادی همین تاپیک هست؛ با برداشتی که از توضیحات داشتم، تابع setup رو تغییر دادم.
    لطفآ راهنمایی کنید چه اشکالی در کد هست که جواب نمیده؟
    آیا آدرس ارسال و دریافت ماژول در Arduino باید همین آدرسی باشه که برای دانگل تنظیم میشه و هر دو یک آدرس باشند؟(مشابه همین کد)
    کد:
    /* # 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; //byte Address[5]={0x43,0x34,0x10,0x11,0x11}; //String Receive_Address = (String *) Address; //A name that is dedicated to this station; MAX is 5 Char. //String Send_Address = Address; //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]={0x43,0x34,0x10,0x11,0x11,0x00}; char Send_Adr_Char[6]={0x43,0x34,0x10,0x11,0x11,0x00}; //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.channel = 0x28; Mirf.configRegister(RF_SETUP, 0x07); 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=""; }
    خروجیArduino برای ارسال کارکترهای b,c,d,e,f از کامپیوتر (البته بعد از چندین بار ارسال!)
    کد:
    <b�؟> <c*�}> <d�Vً> <eحww> <f��>
    ویرایش توسط safdari : 10-11-2014 در ساعت 06:45 AM

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

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

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

SEO by vBSEO