[Arduino][nRF24L01+] Wojny klonów!

Szybki tutorial o podłączeniu, konfiguracji nRF24L01+ i tworzeniu tunelu komunikacyjnego dla 2 mikrokontrolerów: Pro Mini oraz Mega2560.

Na początek między piny GND i 3.3V przylutuj po jednym kondensatorze 10μF. ‘Minus’ do oznaczonej minusem nóżki kondensatora i ‘plus’ do pinu 3.3V na naszym module.

Moduł i numery poszczególnych pinów:

NRF24L012_BottomView

Podłączenie modułów:

  • Pro Mini(nadajnik)

Pro Mini

GND(1) – GND

VVC(2) – 3.3V

CE(3) – Digital 9

CSN(4) – Digital 10

SCK(5) – Digital 13

MOSI(6) – Digital 11

MISO(7) – Digital 7

IRQ(8) – Digital 8

Użyty kod:

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

RF24 radio(9,10);

const byte rxAddr[6] = "00001";

void setup()
{
  radio.begin();
  radio.setRetries(15, 15);
  radio.openWritingPipe(rxAddr);
  
  radio.stopListening();
}

void loop()
{
  char text[] = "1111";
  radio.write(&text, sizeof(text));
  
  delay(1000);
}
  • Mega2560(odbiornik)

Mega2560

GND(1) – GND

VVC(2) – 3.3V

CE(3) – Digital 8

CSN(4) – Digital 9

SCK(5) – Digital 52

MOSI(6) – Digital 51

MISO(7) – Digital 50

IRQ(8) – Pusty

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

RF24 radio(8,9);

const byte rxAddr[6] = "00001";

void setup()
{
  while (!Serial);
  Serial.begin(9600);
  
  radio.begin();
  radio.openReadingPipe(0, rxAddr);
  
  radio.startListening();
}

void loop()
{
  if (radio.available())
  {
    char text[32] = {0};
    radio.read(&text, sizeof(text));
    
    Serial.println("Message:");
    Serial.println(text);
    delay(1000);
  }
}

 

Po poprawnym podłączeniu przewodów naszym oczom powinien ukazać się podobny obraz 🙂

Działający kod.

 

W razie pytań piszcie w komentarzu pod spodem 🙂

 

CC:

CC#2:

http://starter-kit.nettigo.eu/2014/connecting-and-programming-nrf24l01-with-arduino-and-other-boards/

 

Published by

@pawisoon

Programmer, designer and dubstep listener.