#1 Re: Апаратні питання » Беспроводной модуль NRF24L01+ » 2019-03-01 15:15:39

mitonn пише:

Вашему  NRF24L01+PA+LNA с внешними SMA антеннами не хватает питания. Подайте на вход AMS1117-3.3 напряжение 5-12 (можно до 18) вольт и все должно быть нормально. При понижении напряжения меньше 5 вольт на входе будут сбои.У меня аналогичные  NRF работают на 300 м (дальше не проверял).

Дело было в бракованных модулях. Купил новые, попросил проверить их еще до отправки. Как получил - сам проверил, на открытой местности 450м бьет без проблем.

#2 Апаратні питання » Беспроводной модуль NRF24L01+ » 2019-02-21 13:21:19

michaelukolov
відповідей: 3

Доброго времени суток!
Приобретал у Вас два беспроводных модуля NRF24L01+PA+LNA с внешними SMA антеннами, прошу помощи в решении проблемы.
Задача: передача двух байтов с одной Arduino на другую.  Один модуль подключен к Mega 2560, питание подключено через AMS1117-3.3, которая подключена к 5В линии Arduino. На обоих модулях стоят конденсаторы рядом с пинами, 100мкФ электролит и 100нФ керамика. Второй модуль подключён к Nano V3, питание такое же - AMS1117-3.3.
Суть в том, что работает на очень малом расстоянии. Скорость стоит минимальная, чувствительность MAX. В доме достаточно выйти в другую комнату и уже доходят не все пакеты. На улице 12м стабильно, больше 15 - пропадают многие пакеты. Каналы перебирал, использую наименее засорённый. Сами платы модулей, по советам бывалых, обвёрнуты фольгой (кстати на стабильность значительно повлияло - лучше стало).
Вообще, эксплуатироваться должно на открытой территории (площадка 500х60м), поэтому больше важна дистанция на открытой местности. Когда покупал, рассчитывал, что хотя бы на 200-300м будет хватать, а на деле..
В чём ещё может быть причина?

#3 Re: Програмування Arduino » Подскажите как записать код » 2016-01-14 13:58:08

vvr пише:
michaelukolov пише:

Подключил матричную клавиатуру 4x3. Вводить код могу без проблем, и после этого делать сброс.
Как сделать чтобы при нажатии на звездочку (*) записывалось значения кода, запрашивая старый? То есть нажал - ввел старый - ввел новый - он зашился.

пишешь программу
что то не получается - показываешь и задаёшь вопросы по проблемам
или за тебя программу написать ?

Код я уже привел. А попросил подсказать как сделать назначение кода.

#4 Re: Програмування Arduino » Подскажите как записать код » 2016-01-14 13:41:04

Secret_Guy пише:

Могу сказать про мегу она не должна нагреватца у тебя реле стоит? Ты как подключил мегу к питанию и какие если есть шилды поставил?

Какое реле? Без шилдов, подключена к USB.
Не сказать что греется, руку легко удержать, но теплая.

#5 Програмування Arduino » Подскажите как записать код » 2016-01-14 01:19:24

michaelukolov
відповідей: 6

Подключил матричную клавиатуру 4x3. Вводить код могу без проблем, и после этого делать сброс.
Как сделать чтобы при нажатии на звездочку (*) записывалось значения кода, запрашивая старый? То есть нажал - ввел старый - ввел новый - он зашился.
И хотел спросить еще про мегу 2560 - это нормально, что она греется градусов до 45?4

#include <Keypad.h>

char* secretCode = "";
int position = 0;
 
const byte rows = 4;
const byte cols = 3;
char keys[rows][cols] = {
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};
 
byte rowPins[rows] = {8, 7, 6, 5};
byte colPins[cols] = {4, 3, 2};
 
Keypad keypad = Keypad(makeKeymap(keys),
                       rowPins, colPins,
                       rows, cols);
 
int redPin = 12;
int greenPin = 53;
 
void setup()
{
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  setLocked(true);
}
 
void loop()
{
  char key = keypad.getKey();
  if (key == '#') {
    position = 0;
    setLocked(true);
  }
  if (key == secretCode[position]) {
    position++;
  }
 
  if (position == 6) {
    setLocked(false);
  }
  delay(50);
}
 
void setLocked(int locked)
{
  if (locked) {
    digitalWrite(redPin, HIGH);
    digitalWrite(greenPin, LOW);
  }
  else {
    digitalWrite(redPin, LOW);
    digitalWrite(greenPin, HIGH);
  }
}

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