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

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

Hybrid View

  1. #1
    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

  2. #2
    مدیر گروه
    تاریخ عضویت
    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); 
    }
    }
    
    }
    }

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

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

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

SEO by vBSEO