1 (изменено: Эдуард, 16-12-2018 16:30:22)

Тема: Ардуино и NRF24L01+

На усадьбе 2 дома и соответственно 2 электросчетчика. Обычно пользуюсь счетчиком №1, но иногда нужно переключиться на №2. Раньше переключал обычными автоматами в гараже, а после инсульта ходить тяжело, хочу сделать переключение по радиоканалу через NRF24L01+. В доме приёмник, принимает текущее значение (0-5 Вольт) с трасформатора тока. Выводит на LCD1602 показания. Он же (приёмник) изредка, примерно раз в неделю, на секунду переходит в режим передатчика, чтобы переключить контакторы ON/OFF, оставить их в желаемом состоянии и опять перейти на приём. Попробовал универсальный скетч от  jazon  http://arduino.on.kg/moy-variant-podkly … -NRF24L01, вместо светодиода поставил реле- трещит. Подскажите, что поправить в скетче. С ардуинкой познакомился недавно - инсульт заставил.

2

Re: Ардуино и NRF24L01+

Дело в том, что это всего лишь базовый пример и чтобы его не усложнять в нем отсутствую некоторые нюансы. Например в данном примере отсутствует антидребезг контактов кнопки, по этому реле трещит при включении / выключении.

Совета два:
1) Воспользоваться библиотекой TimingRelay: http://arduino.on.kg/biblioteka-TimingR … le-vremeni
2) Или добавить антидребезг:

boolean DebounceButton(int ScanPort, boolean last)
{
  boolean current = digitalRead(ScanPort);
  if(current != last)
  {
    delay(5);
    current = digitalRead(ScanPort); 
  }
  return current;
}

  // Пример Вызова.
  RESCurr = DebounceButton(BUTTON_ACTIVATE, RESPrev);
  DATA_BUFFER[0] = byte(RESCurr); 
  RESPrev = RESCurr;