Короче: Есть две ардуинки, обьединенные в сеть через модули NRF24L01+(с усилком и без). Прием-Передача работает отлично, но когда я заставляю ардуино давать высокий уровень на цифровой пин при данном значении сигнала, идет знатная просадка логики( светодиод еле-еле горит, и логики не хватает для управление драйвером моторов L298N) Вот скетч( не мой, я лишь его модифицировал): Приемник #include <SPI.h> #include <nRF24L01.h> #include <RF24.h> RF24 radio(9, 10); nRF24L01+ (CE, CSN) byte pipe; int TEST[2]; void setup() { Serial.begin(9600); pinMode(8, OUTPUT); delay(1000); radio.begin(); radio.setChannel(5); radio.setDataRate (RF24_250KBPS); radio.setPALevel (RF24_PA_HIGH); radio.openReadingPipe (1, 0xAABBCCDD11LL); radio.startListening (); // radio.stopListening (); } void loop() { if (radio.available(&pipe)) { radio.read(&TEST, sizeof(TEST)); if (pipe == 1)digitalWrite(8, HIGH); //Serial.println(TEST); if (TEST[0] > 1000) { digitalWrite(7, HIGH); } else { digitalWrite(7, LOW); } } else digitalWrite(8, LOW); } Передатчик #include <SPI.h> #include <nRF24L01.h> #include <RF24.h> RF24 radio(9, 10); nRF24L01+ (CE, CSN). int TEST [2]; void setup() { pinMode(14, OUTPUT); radio.begin(); radio.setChannel(5); radio.setDataRate (RF24_250KBPS); radio.setPALevel (RF24_PA_HIGH); radio.openWritingPipe (0xAABBCCDD11LL); } void loop () { if (millis() / 50 % 2) { TEST[0] = analogRead(A0); radio.write(&TEST, sizeof(TEST)); } }
выход 7 обьявите как OUTPUT и все заработает На будущее - пишите скетчи сами, а не копируйте из инета
Важно!!!: 1) В момент просадки прием-передача стабильно 2) Питание от внешнего источника-не прокатывает, просадка именно логики, с питанием все ок( 8.4в 2 банки 18650( 4.2в 2300мАч) с защитой)