Тысяча первый способ управления радиорозетками
Тысяча первый способ управления радиорозетками
MP1516 RFToy — универсальный, Ардуино совместимый радиомодуль. Фактически это специализированная плата Ардуино на ATmega 328P, 8 МГц, заточенная под эксперименты с передачей данных по радиоканалу. Изучение начал с простого — управления радиорозетками.
Статьи

Тысяча первый способ управления радиорозетками

Заинтересовал меня DIY-гаджет под названием RF-TOY, купить можно здесь, у автора этого открытого проекта или на Родине под названием MP1516 RFToy — Универсальный, Ардуино совместимый радиомодуль.

Мастер Кит Тысяча первый способ управления радиорозетками

Фактически это специализированная плата Ардуино на ATmega 328P, 8 МГц, заточенная под эксперименты с передачей данных по радиоканалу, либо бюджетному 433 МГц, либо «продвинутому» 2,4 ГГц. Подкупило наличие небольшого, но графического экрана и возможность визуализировать процессы. Изучение начал с простого — управления радиорозетками.

Сам модуль размером со спичечный коробок, в комплекте дополнительно приемник и передатчик на 433 МГц с амплитудной модуляцией (ASK), литиевая батарейка.

Мастер Кит Тысяча первый способ управления радиорозетками

Чтобы заработал приемник 433 необходимо питание 5В от USB. Так же есть разъем для установки радиомодуля nRF24L01 (приобретается отдельно) и ряд свободных и служебных ног микроконтроллера, выведенных на край платы. Назначение на рисунке.

Мастер Кит Тысяча первый способ управления радиорозетками


Подробнее можно посмотреть на указанных сайтах. Там же есть и хороший ролик. На английском, но в принципе все понятно. Подключение IDE Arduino без особенностей, через USB, микросхема USB-адаптера CH340. Плата прошивается как «Arduino Mini w/ ATmega328», 8 МГц, а библиотеки и примеры скачиваются с GitHub и устанавливаются стандартно.

Я установил пример с названием: RFToy_RFRecorder. Это скетч, который позволяет запомнить до 7 комбинаций команд пульта Включить и Выключить, то есть можно перехватить управление семью радиорозетками или радиопатронами для лампочек.

После включения первый экран выглядит так:

Мастер Кит Тысяча первый способ управления радиорозетками

Подкупают заботливо описанные функции каждой кнопки модуля, не забудешь.
Различается длина нажатия на кнопки. Клик и удержание (длинное нажатие).
Я кликнул «ОК» и попал в рабочее меню, где с помощью длинных нажатий на кнопки S1 или S2 можно записать коды кнопок включения и выключения. А короткими кликами потом можно управлять. На экране так же есть подсказка. Зажимаю S3 и попадаю в режим записи кнопки включения.

Мастер Кит Тысяча первый способ управления радиорозетками

Запишем код кнопки, подношу брелок (пульт тоже есть в моем комплекте), нажимаю…

Мастер Кит Тысяча первый способ управления радиорозетками

Код считался и на экране выглядит вот так:

Мастер Кит Тысяча первый способ управления радиорозетками

Теперь запишем код кнопки выключения, зажимаем левую кнопку платы.

Мастер Кит Тысяча первый способ управления радиорозетками

Код выключения пишется «поверх» кода включения и суммарная командная строка становится такой:

Мастер Кит Тысяча первый способ управления радиорозетками

Остается теперь короткими нажатиями на кнопки включать и выключать радиорозетку с модуля RFToy.

Мастер Кит Тысяча первый способ управления радиорозетками

Да, проверяю — работает!

Далее можно заполнить все ячейки памяти модуля. Нажимаем «ОК» выбираем свободную ячейку и повторяем запись.

Мастер Кит Тысяча первый способ управления радиорозетками

Ниже видно, как заполняются ячейки. Вторая строка относится к соседней кнопке пульта.

Мастер Кит Тысяча первый способ управления радиорозетками

Теперь переключаясь между строками, можно выбирать необходимый канал управления.

Интересно, на строках 3 и 4 команды включения и выключения записаны по-отдельности. Явно в конце строки у нас пишется адрес устройства, а код кнопки пишется, то в первые 6 знакомест, то во вторые.

Посмотрим, что интересного есть в скетче.

#include <SPI.h>
#include <RCSwitch.h>
#include «U8glib.h»
#include <avr/eeprom.h>

Видим, что используется популярные библиотеки для вывода на экран, управления передачей данных RCSwitch и записи в eeprom. Действительно, после выключения питания считанные данные не теряются.

// определяем используемый дисплей. Разрешение 128х64 точки
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);

Далее весьма аккуратно написанный код. Сначала описываются все необходимые функции, типа определения времени нажатия на кнопку, записи и чтения eeprom, записи и воспроизведения кода кнопки, вывода информации на экран и другие.
В постоянном цикле крутится только отслеживание нажатия кнопок управления.

Вероятно кому-то захочется вынести управление модулем на внешние органы управления, например использовать дублирующий настенный выключатель, Сделать это можно примерно так:
1. Выбираем свободный Pin микроконтроллера программно подтягиваем его к 1, а выключателем коммутируем вход на общий провод (подаем логический 0) для состояния Включено и размыкаем (возвращаем логическую единицу) для состояния Выключено.
2. Далее необходимо определить номер строки (1-7) с необходимым кодом и записать его в переменную… хотя не думаю, что это всем интересно, если возникнут конкретные вопросы — обратитесь пожалуйста в службу техподдержки Мастер Кит со ссылкой на эту статью. Вместе разберемся.

Успехов!

 

Рейтинг@Mail.ru

Почему выбирают Мастер Китнас


Мы в Сети


© 1999-2022 Мастер Кит