Sistema de comunicación bidireccional entre dos Arduinos usando módulos RF

Quiero crear un sistema de comunicación bidireccional entre dos Arduinos usando módulos RF para enviar y recibir mensajes personalizados ingresados con un teclado matricial 4x3, que se mostrarán en una pantalla LCD y este es el codigo
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
#include <RH_ASK.h>
#include <SPI.h>

// Configuración de la pantalla LCD
LiquidCrystal_I2C lcd(0x27, 16, 2); // Ajusta la dirección si es necesario

// Configuración del teclado matricial
const byte ROWS = 4;
const byte COLS = 3;

char keys[ROWS][COLS] = {
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
{'*', '0', '#'}};

byte rowPins[ROWS] = {9, 8, 7, 6}; // Pines de las filas
byte colPins[COLS] = {5, 4, 3}; // Pines de las columnas

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

RH_ASK rf_driver(2000, 2, 10); // (Baud, Pin receptor, Pin transmisor)

char message[16] = ""; // Mensaje que se mostrará en el LCD
int index = 0; // Índice del mensaje

void setup() {
Serial.begin(9600);
if (!rf_driver.init()) {
Serial.println("Error iniciando RF");
} else {
Serial.println("RF listo");
}

lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Escribe mensaje:");

}

void loop() {
char key = keypad.getKey();
if (key) {
Serial.print("Tecla presionada: ");
Serial.println(key);

    if (key == '#') {  // Borrar un carácter
        if (index > 0) {
            index--;
            message[index] = '\0';  // Elimina el último carácter
        }
    } else if (key == '*') {  // Enviar mensaje
        Serial.print("Mensaje enviado: ");
        Serial.println(message);
        lcd.setCursor(0, 1);
        lcd.print("Enviado!        ");
        delay(1000);
        memset(message, 0, sizeof(message));  // Borra el mensaje
        index = 0;
    } else if (index < 15) {  // Agregar caracteres (hasta 15)
        message[index] = key;
        index++;
        message[index] = '\0';  // Mantener cadena válida
    }

    // Mostrar el mensaje en el LCD
    lcd.setCursor(0, 1);
    lcd.print("                "); // Borra línea
    lcd.setCursor(0, 1);
    lcd.print(message);
}

}
La cuestión es que no me funciona y no se el por qué

¿No te está faltando enviar el mensaje?

Por favor edita tu post y adjunta el código de acuerdo a las Normas del foro

Tienes múltiples ejemplos en este foro nRF24.

Moderador:
Por favor, lee las Normas del foro y publica/edita tu código/error usando etiquetas de código.
Ve a edición, luego selecciona todo el código que has publicado/editado, lo cortas y click en (<CODE/>)