Программа

Для организации передачи данных будем использовать библиотеку RF24.

Напишем две программы: одна будет передавать строку «hello», а вторая её ловить и выводить в COM-порт. Программа для передатчика:

#include "SPI.h"
#include "RF24.h"

char msg[6] = "hello";
RF24 radio(9, 10);
const uint64_t ppipe = 0xE8E8F0F0E1LL;
 
void setup(void) {
    Serial.begin(115200);

    radio.begin();
    radio.setChannel(2);
    radio.setPayloadSize(7);
    radio.setDataRate(RF24_250KBPS);
    radio.openWritingPipe(ppipe);
}
void loop(void) {
    Serial.println("send ...");
    radio.write(msg, 6);
    delay(3000);
}

И программа для приёмника:

#include "SPI.h"
#include "RF24.h"

char msg[6];
RF24 radio(9, 10);
const uint64_t ppipe = 0xE8E8F0F0E1LL;

void setup(void){
    Serial.begin(115200);

    radio.begin();
    radio.setChannel(2);
    radio.setPayloadSize(7);
    radio.setDataRate(RF24_250KBPS);
    radio.openReadingPipe(1, ppipe);
    radio.startListening();
}
 
void loop(void){
    if (radio.available()){  
        radio.read(msg, 6);      
        Serial.println(msg);
        delay(10);
    }
    else{
        //Serial.println("No radio available");
    }
}

Загружаем программы на контроллеры и открываем монитор последовательного порта на приёмнике. Каждые три секунды должно появляться слово «hello».


Изменено: