#1 2019-02-22 11:48:23

wawa
Учасник
Зареєстрований: 2017-01-26
Повідомлень: 5

Когда приемник включить первым то горит светодиод

Приемник и передатчик на Arduino Nano и NRF24L01. Проблема в следующем,  если включить первым приемник то светодиод D2 будет светится пока не включить передатчик. Включаю передатчик светодиод тухнет. Кнопки работают так- SV2 нажал отпустил горит D1, нажал отпустил D1 потух. SV1 нажал D2 горит отпустил D2 потух. Как подправить скетч(и), чтобы независимо что первое включить(приемник или передатчик) светодиод D2 изначально не светился. Помогите лузеру.
shema_pulta.jpg

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define CE_PIN 9
#define CSN_PIN 10
const uint64_t pipe = 0xE8E8F0F0E1LL;
RF24 radio(CE_PIN, CSN_PIN);
int datos[2];
void setup(void)
{
  radio.begin();
  radio.openWritingPipe( pipe);
  Serial.begin(9600);
  pinMode(4, INPUT);//левая кнопка
  digitalWrite(4, HIGH);//левая кнопка нажал отпустил горит
  pinMode(3, INPUT);//правая кнопка
  digitalWrite(3, HIGH);

  
}
void loop() {
  datos[0] = digitalRead(4);//кнопка D4 левая
  datos[1] = digitalRead(3);//кнопка D3 правая
  bool ok = radio.write(datos, sizeof(datos));
  //Serial.println(datos[0]);

}

priemnik-600x434.jpg

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
const uint64_t pipe = 0xE8E8F0F0E1LL;
#define CE_PIN 9
#define CSN_PIN 10
RF24 radio(CE_PIN, CSN_PIN);
int datos[2];
byte IsConnect;
void setup()
{
  pinMode(14, OUTPUT);
  pinMode(15, OUTPUT);
  radio.begin();
  Serial.begin(9600);
  radio.openReadingPipe(1, pipe);
  radio.startListening();
}


void loop() {
  static int8_t buttonState = LOW;
  uint8_t numero_canal;
  if ( radio.available())
  {
    radio.read(datos, sizeof(datos));
    IsConnect = HIGH;
  }
  else{
    IsConnect = LOW;
  }

  if (buttonState == HIGH && datos[0] == LOW) digitalWrite(14, ! digitalRead(14));
   buttonState = datos[0];
  digitalWrite(15, !datos[1]);  
}

Неактивний

#2 2019-02-23 21:16:30

Жорж
Учасник
Зареєстрований: 2019-02-23
Повідомлень: 14

Re: Когда приемник включить первым то горит светодиод

при вашій схемі підключення його треба підтягнути вниз, за одно можна і D1:

void setup()
{
  digitalWrite(14, LOW);
  digitalWrite(15, LOW);
  pinMode(14, OUTPUT);
  pinMode(15, OUTPUT);
  ...
}

Остання редакція Жорж (2019-02-23 21:22:57)

Неактивний

#3 2019-02-24 20:41:59

wawa
Учасник
Зареєстрований: 2017-01-26
Повідомлень: 5

Re: Когда приемник включить первым то горит светодиод

Дякую! Спробую відпишусь.

Неактивний

#4 2019-02-25 12:17:14

wawa
Учасник
Зареєстрований: 2017-01-26
Повідомлень: 5

Re: Когда приемник включить первым то горит светодиод

Жорж пише:

при вашій схемі підключення його треба підтягнути вниз, за одно можна і D1:

void setup()
{
  digitalWrite(14, LOW);
  digitalWrite(15, LOW);
  pinMode(14, OUTPUT);
  pinMode(15, OUTPUT);
  ...
}

Ні не працює.

Неактивний

#5 2019-02-25 23:16:45

wawa
Учасник
Зареєстрований: 2017-01-26
Повідомлень: 5

Re: Когда приемник включить первым то горит светодиод

На іншому форумі допомогло. В передатчику 8 рядок int datos[2] = {0,1}; І все гаразд.
Дякую! Тему можна закрити.

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму