Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Zdalne sterowanie na arduino + nrf24l01

rcnitros 02 Mar 2016 19:36 1461 10
  • #1 02 Mar 2016 19:36
    rcnitros
    Poziom 14  

    Witam
    Naszło mnie niedawno żeby zrobić zdalne sterowanie z użyciem arduino. Założenia jak najwięcej kanałów i zasięg ok 50m. Sterowanie za pomocą 3 joyistyki, kilka przełączników i 2 potencjometr.
    No to tak z założenia 2.4ghz. Moduł nadawczy miałby być z arduino nano/uno klony i nrf24l01, a moduł odbiorczy to arduino nano/pro mini klon i znowu nrf24l01. Problem pojawił się przy programowaniu. Nie wiem jak napisać do tego program do odbierania i przetwarzania sygnału.

  • #2 02 Mar 2016 20:53
    namok
    Poziom 24  

    A konkretnie to z czym masz problem bo po zainstalowaniu biblioteki masz przykłady które powinny być pomocne.

  • #3 03 Mar 2016 08:45
    alagyrd
    Poziom 8  

    Wydaje mi się ze najlepszym rozwiązaniem jest zrobienie własnego formatu "ramki" czyli wysyłanie stringa z jednego nrf do drugiego dekodowanie i działanie według parametrów.
    Np : 512_512_512_999_999

  • #5 03 Mar 2016 20:02
    rcnitros
    Poziom 14  

    ostatnio poprosiłem ,,kolegę'' żeby mi wysłał swój pogram do odbiornika i nadajnika na nrf24l01 chyba na 3 kanały. Zaraz go wstawię jak się dowiem jak.

    Dodano po 8 [minuty]:

    Nadajnik




    Code:


    #include <SPI.h>
    #include <nRF24L01.h>
    #include <RF24.h>

    #define CE_PIN   9
    #define CSN_PIN 10
    #define JOYSTICK_X A0
    #define JOYSTICK_Y A1
    #define JOYSTICK_Z A2
    #define BUTTON_1 6
    #define BUTTON_2 7
    #define BUTTON_3 8



    const uint64_t pipe = 0xE8E8F0F0E1LL;



    RF24 radio(CE_PIN, CSN_PIN);

    int joystick[6]; 
    //int button[3];


    void setup() 
    {
      Serial.begin(9600);
      radio.begin();
      radio.setDataRate(RF24_250KBPS);
      radio.openWritingPipe(pipe);
      radio.startListening();

    }


    void loop() 
    {
      joystick[0] = analogRead(JOYSTICK_X);
      joystick[1] = analogRead(JOYSTICK_Y);
      joystick[2] = analogRead(JOYSTICK_Z);
      joystick[3] = digitalRead(BUTTON_1);
      joystick[4] = digitalRead(BUTTON_2);
      joystick[5] = digitalRead(BUTTON_3);
     
      radio.stopListening();
     bool ok  = radio.write( joystick, sizeof(joystick) );
     delay(1);
    // bool ok1 = radio.write( button, sizeof(button) );
      radio.startListening();
     
     

    }

  • #6 04 Mar 2016 08:14
    alagyrd
    Poziom 8  

    Nie wiem po czym wiem po czym wnioskujesz ze używane są 3 kanały ??

  • #7 17 Cze 2016 13:03
    skyrafal
    Poziom 13  

    Czy macie może gotowy kod do nadajnika i odbiornika 2 kanałowego włącz/wyłącz ?

  • #8 17 Cze 2016 18:10
    rcnitros
    Poziom 14  

    Mam 3 kanałowy pwm tylko ale mogę napisać.

  • #9 17 Cze 2016 22:54
    skyrafal
    Poziom 13  

    A dużo to roboty byłoby ? Jeśli możesz to wrzuć na forum z opisem wyjść i wejść, bo dużo ludzi potrzebuje czegoś takiego.
    Może być nawet więcej kanałów.

  • #10 29 Cze 2016 14:36
    MichGX
    Poziom 11  

    Mam działający kod na NRF24L01+ pod STM32F0/F4 i NXP LPC-1114, jakbyś potrzebował go to daj znać

TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo