Top.Mail.Ru
Ответы

Работа с arduino nano и модулем nrf24l01

Предположим, есть одна arduino nano в роли master и несколько arduino nano slave. Все с модулями nrf24l01. Необходимо реализовать передачу данных с мастера на слейва, привязав каждого slave к кнопке, подключенной к мастеру. Как такое можно реализовать?

По дате
По рейтингу
Аватар пользователя
Ученик
5мес

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

RF24 radio(9, 10); // CE, CSN пины

const byte addresses[][6] = {"SLV1", "SLV2", "SLV3"}; // Адреса слейвов

const int buttonPins[] = {2, 3, 4}; // Пины кнопок
bool buttonStates[] = {false, false, false};

void setup() {
radio.begin();
radio.setPALevel(RF24_PA_LOW);
radio.setDataRate(RF24_250KBPS);
radio.setRetries(15, 15);
for (int i = 0; i < 3; i++) {
pinMode(buttonPins[i], INPUT_PULLUP);
}
}

void loop() {
for (int i = 0; i < 3; i++) {
bool currentState = !digitalRead(buttonPins[i]); // Нажата ли кнопка
if (currentState && !buttonStates[i]) { // Обнаружено нажатие
buttonStates[i] = true;
radio.openWritingPipe(addresses[i]);
const char text[] = "Command";
radio.write(&text, sizeof(text));
} else if (!currentState && buttonStates[i]) { // Кнопка отпущена
buttonStates[i] = false;
}
}
}