Радио реле на 433Mhz (с заморочками) ))
- Войдите на сайт для отправки комментариев
Чт, 11/04/2019 - 23:57
Доброго времени суток.
Имеется:
1х Arduino esplora
1x Arduino nano
smart rf315 tx & rx
Esplora как передатчик.
Нано как приёмник + подключены реле.
Необходимо:
Пока на esplora нажата кнопка 1, реле 1 включено. Кнопку отпустили, реле выключено. Так все 4 кнопки на 4 реле.
Теперь проблемная часть.
Если джойстик двинуть на половину в перед, реле 5 включено (весь ход до половины). Если двигать дальше за половину, реле 5 выключается и включается реле 6.
Так симетрично во все стораны + нажатие по середине тоже на реле.
Помогите пожалуйста с кодом. Я перепробовал всё, и никак немогу написать.. (
На эсплоре трансмитер на 7 пин можно подключить. Проверенно. Модули работают.
И пардон с нумерации реле. Правельная нумерация с 2 итд.
Передатчик:
Приемник:
По отпусканию кнопки, реле остается в включеном положении. Почему? Что делать?
А Вы уверены что у Вас buf на приемнике чистится и каждый раз получает новую команду? Смотрели что содержит buf[0]? Когда кнопку отпустили какая часть кода на приемнике выполнится? Какой смысл 14 строки кода передатчика?
В том и дело, что буфер не очищается. Ресивер берет последнее значение из буфера и щетает что кнопка еще нажата.
Как очистить буффер не знаю. тоже пробую разные варианты но пока не получается.
Передатчик пересылает кманды A, B, C, D только по нажатию. проверенно. Прошывал приемник на тест и смотрел что передатчик вещает.
0. Какие команды приходят на приемник (значения buf[0])
1. Опишите для себя алгоритм работы.
2. В какой момент должно выключаться реле?
3. Как приемник об этом узнает?
4. Какая часть кода на приемнике выполнится?
Распиновка со стороны реле (Arduino nano) : D2 - D5 на кнопки, джойстик вверх до середины D6, за середину D7, на лево до середины D8, за середину, D9, в низ до середины D10, за середину D12 ( по скольку на D11 rx pin), на право до середины A1, за середину A2. Нажатие на середину джойстика A3 включен пока нажато. D дигиталки A аналоговые. Каждый подключен к своему реле (нормально открытое).
Распиновка со стороны реле (Arduino nano) : D2 - D5 на кнопки, джойстик вверх до середины D6, за середину D7, на лево до середины D8, за середину, D9, в низ до середины D10, за середину D12 ( по скольку на D11 rx pin), на право до середины A1, за середину A2. Нажатие на середину джойстика A3 включен пока нажато. D дигиталки A аналоговые. Каждый подключен к своему реле (нормально открытое).
Это ответ на какой вопрос?
Выше все обяснил. Я профан в написании скетча. Про синтаксис вообще помолчу. прошу помощи.
Выше все обяснил. Я профан в написании скетча. Про синтаксис вообще помолчу. прошу помощи.
Вопросы не касались написания скетча. Если Вы просите написать за Вас - то сорри, я неправильно Вас понял, Вам в другой раздел.
Вам надо отправлять команду "выключить реле" при отпускании кнопки.
я писал чтото типо
Где (X) сигнал на ресивере был записан как отключить реле. Но передатчик работал с сбоями по скольку на каждую кнопку в коде прописал что если не нажата то отправляет(X) сигнал. Не знаю как написать иначе, ато получается передатчик все время вещает. Как можно решить?
я писал чтото типо
......
получается передатчик все время вещает. Как можно решить?
Ну как... отправлять команду один раз. Примерно как то так(код написан от руки для примера):
Но кажется мне, что одной командой выключения для всех кнопок Вы не обойдетесь, придется для каждого релле давать отдельную команду на выключение.....
Спасибо. Всё решено.