صفحه 4 از 7 نخستنخست ... 23456 ... آخرینآخرین
نمایش نتایج: از 31 به 40 از 68
Like Tree9 لایک

موضوع: NRF24L01P USB Module

Hybrid View

  1. #1
    Member
    تاریخ عضویت
    Aug 2014
    نوشته ها
    76
    نقل قول نوشته اصلی توسط microc نمایش پست ها
    سلام
    من از nRF24L01 استفاده میکنم و ازش جواب گرفتم. وقتی دوتا از nRF24L01 را می بندم جواب میدهد و مشکلی ندارم.
    بعد دوتا مدل USB اون رو از سایت eca خریدم. این دوتا usb نیز باهم به خوبی کار میکنند.
    الان قصد دارم که ارتباط بین یک دونه مدل usb و یک دونه مدل ساده nrf24L01 را برقرار کنم. مدل usb به PC متصل است و مدل nRF24L01 ساده به میکرو کنترلر.
    حالا نمیدونم که ماژولی که به میکرو متصل است باید دارای چه تنظیماتی باشد و در چه مودی ارسال کند(مد معمولی یا Shock Burst)
    با تشکر ممنون
    سلام
    همونطور که میدونید NRF انواع مختلفی داره که من متوجه نشدم شما دقیقا از کدوم ماژول استفادده می کنید
    به هر حال، اگر از NRF های معمولی فروشگاه استفاده میکنید باید به نرخ انتقال توجه کنید که حتما با گیرندتون یکی باشه
    مد shockBurst هم توصیه نمیشه چون تا حدودی دست شما رو توی برنامه نویسی می بنده
    ما دقیقا همین کار شما رو انجام دادیم و جواب گرفتیم، اگر مشکلی هست دقیقا ماژول خودتون رو بگید ، کدی رو هم که نوشتید اینجا بذارید تا پاسخ مناسب بگیرید

    موفق باشید

  2. #2
    Member
    تاریخ عضویت
    Aug 2014
    نوشته ها
    76
    راستی بعضی از ماژول ها امکان تنظیم حالت دارن . که البته بستگی به کتابخانه ای که استفاده میشه هم داره

    مثلا برای تنظیم ماژول در حالت دریافت نوشته میشه nrfName.setReceiveMode

  3. #3
    Junior Member
    تاریخ عضویت
    Aug 2014
    نوشته ها
    3
    مشکل حل شد
    با تشکر

  4. #4
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    دوست عزیز چطوری مشکلتون حل شد/

  5. #5
    Junior Member
    تاریخ عضویت
    Sep 2014
    نوشته ها
    1
    من یک سوالی دارم . اگر برای یک کاربردی نخواهیم از برنامه آردوینو استفاده کنیم چی؟ مثلا صرفا بخواهیم با ارسال دیتا به پورت سریال با یک nrf24L01 که به یک آردوینو یا میکرو متصله تبادل دیتا داشته باشیم, با استفاده از این ماژول همچین چیزی امکان داره؟ چه جوری؟

  6. #6
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    من بعید میدونم گه شما بتونید با NRF ها این کار را انجام بدید چون که پروتکل ارتباطی ایناه SPI هست و اول باید توسط arduino پردازش باشه بعد داده ارسال بشه

    اما ماژول های فرستنده گیرنده دیگه ای هستن که برای ارسال و دریافت فقط به یک نرم افزار پورت سریال مثل SScome احتیاج دارن و بس .یعنی شما نه در سمت فرستنده و نه گیرنده به پردازنده احتیاجی ندارید.(در صورتی که نخاهید روی داده پردازش دشته باشید)
    مثل این ماژول :


    ماژول بیسیم انتقال داده مینیاتوری با رابط سریال TTL و برد 1200 متر

  7. #7
    Junior Member
    تاریخ عضویت
    Jun 2014
    نوشته ها
    4

    Red face

    ممنون همینه، چون جواب داد
    لایک کردن

  8. #8
    Junior Member
    تاریخ عضویت
    Jun 2014
    نوشته ها
    4
    با تشکر از شما که در مورد این ماژول توضیح دادین، می خواستم ببینم ماژولی که گفتین همینه:
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: images (1).jpg
مشاهده: 227
حجم: 2.5 کیلو بایت
    چون هر کار می کنم ج نمیده. با تشکر

  9. #9
    Junior Member
    تاریخ عضویت
    Jul 2014
    نوشته ها
    1
    سلام
    ببخشید من با nrf (دو طرف میکرو)کار کردم و هیچ مشکلی در ارتباط دو nrf نیست.با دو تا از این ماژولا هم که به دو کامپیوتر وصل کردم ارتباط گرفتم و مشکلی نیست.
    در ارتباط با یه ماژول usb و یک nrf (یک طرف pc و یک طرف nrf).لطفا تنظیمات مربوط به سمت میکرو در موارد زیر چیست؟ دوستانی که جواب گرفتند لطفا راهنمایی کنند؟
    1. bit rate
    2.crc چند بایت؟
    3.pay load
    4.تنظیمات auto ack و auto retransmit
    ابن تنظیمات در سمت ماژول usb مشخص نیست .فقط فرکانس و کانال و آدرس دیتا پایپ آورده شده و حتی شماره دیتا پایپ معلوم نیست. احتمالا data pipe0 isj.
    ممنون
    لایک کردن

  10. #10
    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 در ساعت 07:45 AM

صفحه 4 از 7 نخستنخست ... 23456 ... آخرینآخرین

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

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

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

SEO by vBSEO