صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 10 از 14
Like Tree4 لایک

موضوع: کمک در ساخت فرستنده با nrf24

  1. #1
    Junior Member
    تاریخ عضویت
    Apr 2016
    نوشته ها
    11

    کمک در ساخت فرستنده با nrf24

    سلام دوستان
    برای ساخت یه فرستنده 25 کانال با nrf24 از کدوم اردینو استفاده کنم .وکسی نم.نه کدی برای این همه کلید داره///

  2. #2
    Member
    تاریخ عضویت
    Jul 2016
    نوشته ها
    40
    سلام
    لطفا اول یه سرچی در گوگل بکنین
    اگه به این موضوع مسلط هستی من یک روش پیشنهادی دارم که کارت رو خیلی خیلی راحت میکنه
    اول اینکه با هر آردوینویی میشه
    دوم اینکه با یه ترفندی میتونی فقط با یک پایه 25 کلید رو بخونی
    تقریبا همچین مداری رو همینطوری ادامه میدی
    آموزش اتصال چند کلید به یک پین آردوینو - دیجی اسپارکدیجی اسپارک
    حالا فقط کافیه مقدار عددی آنالوگ رو بخونی و به گیرنده بفرستی و در کارت خیلی صرفه جویی میشه

  3. #3
    Junior Member
    تاریخ عضویت
    Apr 2016
    نوشته ها
    11
    ببخشین منظورم این بود 25 پایه جدا داشته باشیم و همشون تو حالت توگل 25تا خروجی رو کنترل بکنن.توی نت بیشتر راه اندازی با ال سی دی هست

  4. #4
    Member
    تاریخ عضویت
    Jul 2016
    نوشته ها
    40
    منظور شما رو نفهمیدم یعنی میخوای 25 تا خروجی رو با nrf کنترل کنی؟
    برای اینکار به آردوینو مگا نیاز داری
    لایک کردن

  5. #5
    Junior Member
    تاریخ عضویت
    Apr 2016
    نوشته ها
    11
    نقل قول نوشته اصلی توسط derana نمایش پست ها
    منظور شما رو نفهمیدم یعنی میخوای 25 تا خروجی رو با nrf کنترل کنی؟
    برای اینکار به آردوینو مگا نیاز داری
    سلام
    درساخت سخت افزار مشکلی ندارم .بیشتر در بحث برنامه نویسی مشکل دارم.چند تا کد توی نت پیدا کردم.میزارم اگه براتون مقدوره در توسعه برنامه بهم کمک کنید
    فرستنده
    #include <SPI.h>
    #include "nRF24L01.h"
    #include "RF24.h"
    int msg[1];
    RF24 radio(9,10);
    const uint64_t pipe = 0xE8E8F0F0E1LL;
    int SW1 = 7;

    void setup(void){
    Serial.begin(9600);
    radio.begin();
    radio.openWritingPipe(pipe);}

    void loop(void){
    if (digitalRead(SW1) == HIGH){
    msg[0] = 111;
    radio.write(msg, 1);}}
    گیرنده
    #include <SPI.h>
    #include "nRF24L01.h"
    #include "RF24.h"
    int msg[1];
    RF24 radio(9,10);
    const uint64_t pipe = 0xE8E8F0F0E1LL;
    int LED1 = 3;

    void setup(void){
    Serial.begin(9600);
    radio.begin();
    radio.openReadingPipe(1,pipe);
    radio.startListening();
    pinMode(LED1, OUTPUT);}

    void loop(void){
    if (radio.available()){
    bool done = false;
    while (!done){
    done = radio.read(msg, 1);
    Serial.println(msg[0]);
    if (msg[0] == 111){delay(10);digitalWrite(LED1, HIGH);}
    else {digitalWrite(LED1, LOW);}
    delay(10);}}
    else{Serial.println("No radio available");}}

    برای 25 کلید از این میشه استفاده کرد
    ویرایش توسط sniper-70 : 09-04-2016 در ساعت 03:14 PM

  6. #6
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط sniper-70 نمایش پست ها
    سلام
    درساخت سخت افزار مشکلی ندارم .بیشتر در بحث برنامه نویسی مشکل دارم.چند تا کد توی نت پیدا کردم.میزارم اگه براتون مقدوره در توسعه برنامه بهم کمک کنید


    برای 25 کلید از این میشه استفاده کرد
    اره میتونی با همین کد انجام بدی
    سمت فرستنده کافیه به جای هر سوئیچت یه if اضافه کنی:
    مثلا برای حالت دو کلیدی فرستنده این کد رو ببین و تا آخر پیش برو :
    کد:
    #include <SPI.h>
    #include "nRF24L01.h"
    #include "RF24.h"
    int msg[2];
    RF24 radio(8,10);
    const uint64_t pipe = 0xE8E8F0F0E1LL;
    int SW1 = 2;
    int SW2=3;
    
    void setup(void){
    Serial.begin(9600);
    radio.begin();
    radio.openWritingPipe(pipe);}
    
    void loop(void){
    if (digitalRead(SW1) == HIGH){
    msg[0] = 111;
    radio.write(msg, 2);}
    if (digitalRead(SW2)==HIGH) {
    msg[1]=222;
    radio.write(msg, 2);
    
    } }
    
    
    گیرنده :
    کد:
    #include <SPI.h>
    #include "nRF24L01.h"
    #include "RF24.h"
    #define CE_PIN 9
    #define CSN_PIN 10
    int msg[2];
    const uint64_t pipe = 0xE8E8F0F0E1LL; 
    RF24 radio(CE_PIN, CSN_PIN); 
    int LED1 = 3;
    int led=2;
    
    
    void setup(){
    Serial.begin(9600);
    radio.begin();
    radio.openReadingPipe(1,pipe);
    radio.startListening();
    pinMode(LED1, OUTPUT);
    pinMode(2,OUTPUT);
    }
    
    void loop(void){
    if ( radio.available() )
    {
    // Read the data payload until we've received everything
    bool done = false;
    while (!done)
    {
    done = radio.read( msg, sizeof(msg) );
    if(msg[0]==111) {
    digitalWrite(3,HIGH);
    Serial.print("Message recived ");
    } else
    {
    digitalWrite(3,LOW);
    }
    
    if(msg[1]==222){
    digitalWrite(2,HIGH) ;
    }
    else {
    digitalWrite(2,LOW); 
    }
    }
    
    }
    }

  7. #7
    Junior Member
    تاریخ عضویت
    Apr 2016
    نوشته ها
    11
    سلام
    ممنون از شما دوست عزیز.امتحان میکنم خبرشو بهتون میدم
    لایک کردن

  8. #8
    Junior Member
    تاریخ عضویت
    Apr 2016
    نوشته ها
    11
    سلام
    نمیدونم چرا چراغ متصل به پورت اردوینو الکی چشمک میزنه . دوستان شما تست کردین

  9. #9
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط sniper-70 نمایش پست ها
    سلام
    نمیدونم چرا چراغ متصل به پورت اردوینو الکی چشمک میزنه . دوستان شما تست کردین

    منظورتون led شماره 13 هست ؟
    اگر آره کافیه تو ستاپ پین 13 رو خروجی کنی و مقدارش رو low کنی تا واسه همیشه ساکت بشه

    البته دقت کن تو کتابخونه ات از این پین استفاده ای نکرده باشه

  10. #10
    Junior Member
    تاریخ عضویت
    Apr 2016
    نوشته ها
    11
    سلام
    برنامه بالا رو اجرا کردم . ولی با زدن هر کدوم ار کلیدها فقط یه ال ای دی عمل میکنه
    برنامه هم به نظر درسته
    مشکل از کجاست به نطرتون دوستان///
    لایک کردن

صفحه 1 از 2 12 آخرینآخرین

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

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

SEO by vBSEO