NRF24 проблема...
- Войдите на сайт для отправки комментариев
Пнд, 03/06/2019 - 14:45
Добрый день. Возникла неоходимость передавать число с одной ардуинки на вторую (примитивное радиоуправление). Взял готовый код. Собрал платы. При включении сразу поморгает а потом загорается светодиод что на 13 ноге. Связи нет. Причем это на обеих платах. Монтаж перепроверял много раз, конденсаторы подпаяны. В какую сторону копать...
В какую сторону копать...
В сторону предоставления полной информации, по которой можно попытаться определить причину (скетч, схема).
Попробуйте для начала прям на выводы питания модуля повесить керамический конденсатор в несколько мкф либо параллельно 0.1 мкф керамику и 10-47мкф электролит. У меня тоже не работали пока не поставил прям рядом емкость.
Вот приемник
#include <Servo.h> #include <SPI.h> #include "RF24.h" Servo povorot; Servo bunker; Servo motor; RF24 radio(9,10); const uint64_t pipe = 0xE8E8F0F0E1LL; int msg[1]; int data; int pos; void setup() { povorot.attach(3); bunker.attach(4); motor.attach(5); delay(50); radio.begin(); radio.openReadingPipe(1,pipe); radio.startListening(); } void loop() { if (radio.available())radio.read(msg, 1); if (msg[0] <63 && msg[0] >-1)data = msg[0], pos = map(data, 0, 62, 45, 135),povorot.write(pos); if (msg[0] <=127 && msg[0] >=64)data = msg[0], pos = map(data, 64, 127, 0, 80),bunker.write(pos); if (msg[0] <=255 && msg[0] >=128)data = msg[0], pos = map(data, 129, 254, 147, 7),motor.write(pos); }Вот передатчик
#include <SPI.h> #include "RF24.h" RF24 radio(9,10); const uint64_t pipe = 0xE8E8F0F0E1LL; int msg[1]; int potpin_1 = A0; // сервопривод поворотов int val_1; int potpin_2 = A1; // двигатель int val_2; int val_3; int potpin_3 = A3; // сервопривод подьемника void setup(void){ radio.begin(); radio.openWritingPipe(pipe); } void loop() { val_1 = analogRead(potpin_1),val_1 = map(val_1, 0, 1023, 0, 63),msg[0] = val_1,radio.write(msg, 1); val_3 = analogRead(potpin_3),val_3 = map(val_3, 0, 1023, 64, 127),msg[0] = val_3,radio.write(msg, 1); val_2 = analogRead(potpin_2),val_2 = map(val_2, 0, 1023, 128, 255),msg[0] = val_2,radio.write(msg, 1); }Схема простая дальше некуда, на приемнике висит джойстик и переменный резистор, NRF по стандартной схеме, на приемнике 3 сервы и та же NRF. Конденсаторы по 100 мкф прямо на NRF. Притание пробовал и ЮСБ и акумулятор. На последовательный порт все выводится и на команды с порта реакция есть. Перепроверил схему раз 5, скоро лопнет мозг...