• Новый номер телефона WhatsApp и Telegram: +7 993 910‑76‑27
  • 0
    КОРЗИНА
    0 ТОВАРА

    Библиотека iarduino_RF433 для работы с радио модулями на 433 МГц

    tremaru / iarduino_RF433

    ★ Обновлено: 21:08 04.06.2024 ☆ Создан: 19:10 21.05.2019

    Релизы

    Версия 1.0.2
    04.06.2024
    Cкачать
    Версия 1.0.1
    16.05.2024
    Cкачать

    Описание библиотеки:

    Библиотека использует внешнее прерывание для получения данных с приёмника. В связи с чем приёмник может быть подключен только к выводу использующему внешнее прерывание. Назначение и синтаксис функций используемых в данной библиотеке аналогичен назначению функций библиотеки RF24, что облегчает написание и восприятие скетчей для разных типов модулей. Достоверность полученных данных проверяется в библиотеке передачей и проверкой циклически избыточного кода.

    При подключении библиотеки создается отдельный объект для приёмника (если он используется) и отдельный объект для передатчика (если он используется), что экономит память, если используется только передатчик или только приёмник.

    Подключение библиотеки:

    Для передатчика:

    #include <iarduino_RF433_Transmitter.h> // Подключаем библиотеку для работы с передатчиком FS1000A
    iarduino_RF433_Transmitter radioTX( №_ВЫВОДА ); // Создаём объект radioTX с указанием вывода подключённого к передатчику

    Для приёмника:

    #include <iarduino_RF433_Receiver.h> // Подключаем библиотеку для работы с приёмником MX-RM-5V
    iarduino_RF433_Receiver radioRX( №_ВЫВОДА ); // Создаём объект radioRX с указанием вывода подключённого к приёмнику

    Выводы к которым можно подключить приёмник:
    Плата Arduino Выводы использующие внешнее прерывание
    Uno, ProMini, Nano, Ethernet 2, 3
    Leonadro, Micro 2, 3, 0, 1, 7
    Mega 2560 2, 3, 18, 19, 20, 21
    Due Любые выводы

    Функции для работы с передатчиком:

    Подробное описание работы с библиотекой, находится в разделе Урок 26.6 Соединяем две arduino по радиоканалу 433 МГц.

    Функция begin();
    • Назначение: Инициализация передатчика
    • Синтаксис: begin( [СКОРОСТЬ] );
    • Параметры:
      • СКОРОСТЬ - не обязательный параметр, целое число, указывающее скорость передачи данных (бит/сек).
        Если скорость указана и её не требуется менять, то можно не вызывать функцию setDataRate().
    • Возвращаемые значения: Нет.
    • Примечание:
      • Функция вызывается 1 раз в коде setup.
      • Скорость передачи данных должна совпадать, как для передатчика так и для приёмника.
    Функция setDataRate();
    • Назначение: Указание или изменение скорости передачи данных.
    • Синтаксис: setDataRate( СКОРОСТЬ );
    • Параметры:
      • СКОРОСТЬ - целое число, указывающее скорость передачи данных (бит/сек).
    • Возвращаемые значения: Нет.
    • Примечание:
      • Если скорость указана при вызове функции begin() и её не требуется менять, то данную функцию можно не вызывать.
      • Скорость передачи данных должна совпадать, как для передатчика так и для приёмника.
      • Скорость можно указать как целым числом, так и константами:
        • i433_5KBPS
        • i433_4KBPS
        • i433_3KBPS
        • i433_2KBPS
        • i433_1KBPS
        • i433_500BPS
        • i433_100BPS
      • Скорость можно менять во время работы передатчика.
    Функция openWritingPipe();
    • Назначение: Открытие трубы для передачи данных
    • Синтаксис: openWritingPipe( НОМЕР_ТРУБЫ );
    • Параметры:
      • НОМЕР_ТРУБЫ - целое число, от 0 до 7.
    • Возвращаемые значения: Нет.
    • Примечание:
      • Номер трубы это адрес передатчика, по которому приёмник «решит» получать или нет отправленные данные.
      • Передатчик может передавать данные только по одной из труб (от 0 до 7)
      • Номер трубы можно менять во время работы передатчика.
    Функция write();
    • Назначение: Передача данных.
    • Синтаксис: write( ССЫЛКА_НА_МАССИВ , КОЛИЧЕСТВО_БАЙТ );
    • Параметры:
      • ССЫЛКА_НА_МАССИВ - ссылка на массив любого типа (в том числе и на строку), данные которого требуется передать.
      • КОЛИЧЕСТВО_БАЙТ - число определяющее, какое количество байт требуется передать.
    • Возвращаемые значения: Нет.
    • Примечание: Если Вы используете несколько передатчиков, то используйте интервалы между передачей данных.

    Функции для работы с приёмником:

    Функция begin();
    • Назначение: Инициализация приёмника
    • Синтаксис: begin( [СКОРОСТЬ] );
    • Параметры:
      • СКОРОСТЬ - не обязательный параметр, целое число, указывающее скорость приёма данных (бит/сек).
        Если скорость указана и её не требуется менять, то можно не вызывать функцию setDataRate().
    • Возвращаемые значения: Нет.
    • Примечание:
      • Функция вызывается 1 раз в коде setup.
      • Скорость приёма данных должна совпадать, как для передатчика так и для приёмника.
    Функция setDataRate();
    • Назначение: Указание или изменение скорости приёма данных.
    • Синтаксис: setDataRate( СКОРОСТЬ );
    • Параметры:
      • СКОРОСТЬ - целое число, указывающее скорость приёма данных (бит/сек).
    • Возвращаемые значения: Нет.
    • Примечание:
      • Если скорость указана при вызове функции begin() и её не требуется менять, то данную функцию можно не вызывать.
      • Скорость приёма данных должна совпадать, как для передатчика так и для приёмника.
      • Скорость можно указать как целым числом, так и константами:
        • i433_5KBPS
        • i433_4KBPS
        • i433_3KBPS
        • i433_2KBPS
        • i433_1KBPS
        • i433_500BPS
        • i433_100BPS
      • Скорость можно менять во время работы приёмника, но если во время изменения скорости принимался пакет данных, он будет пропущен.
    Функция openReadingPipe();
    • Назначение: Открытие трубы для приёма данных
    • Синтаксис: openReadingPipe( [НОМЕР_ТРУБЫ] );
    • Параметры:
      • НОМЕР_ТРУБЫ - необязательный параметр, целое число, от 0 до 7.
    • Возвращаемые значения: Нет.
    • Примечание:
      • Номер трубы это адрес передатчика (от 0 до 7), открывая трубу мы соглашаемся принимать данные от указанного передатчика.
      • Функцию можно вызвать несколько раз, открывая несколько труб для приёма данных.
      • Если вызвать функцию без параметра, то будут открыты все трубы от 0 до 7.
    Функция closeReadingPipe();
    • Назначение: Закрытие трубы от приёма данных
    • Синтаксис: closeReadingPipe( [НОМЕР_ТРУБЫ] );
    • Параметры:
      • НОМЕР_ТРУБЫ - необязательный параметр, целое число, от 0 до 7.
    • Возвращаемые значения: Нет.
    • Примечание:
      • Действие противоположное функции openReadingPipe().
      • Функцию можно вызвать несколько раз, закрывая несколько труб от приёма данных.
      • Если вызвать функцию без параметра, то будут закрыты все трубы от 0 до 7.
    Функция startListening();
    • Назначение: Включение прослушивания открытых труб
    • Синтаксис: startListening();
    • Параметры: Нет.
    • Возвращаемые значения: Нет.
    • Примечание: Открывать и закрывать трубы, можно и после начала их прослушивания.
    Функция stopListening();
    • Назначение: Выключение прослушивания открытых труб
    • Синтаксис: stopListening();
    • Параметры: Нет.
    • Возвращаемые значения: Нет.
    • Примечание: Данная функция отключает обработку внешнего прерывания, что может ускорить выполнение скетча.
    Функция available();
    • Назначение: Проверка наличия принятых данных, доступных для чтения функцией read()
    • Синтаксис: available( [ССЫЛКА_НА_ПЕРЕМЕННУЮ] );
    • Параметры:
      • ССЫЛКА_НА_ПЕРЕМЕННУЮ - необязательный параметр, ссылка на переменную типа uint8_t, в которую будет записан номер трубы, если данные приняты и доступны для чтения.
    • Возвращаемые значения: true / false - имеются данные доступные для чтения или нет.
    • Примечание: По номеру трубы можно определить, данные какого передатчика были приняты.
    Функция read();
    • Назначение: Передача данных.
    • Синтаксис: read( ССЫЛКА_НА_МАССИВ , КОЛИЧЕСТВО_БАЙТ );
    • Параметры:
      • ССЫЛКА_НА_МАССИВ - ссылка на массив любого типа (в том числе и на строку), в который требуется прочитать данные.
      • КОЛИЧЕСТВО_БАЙТ - число определяющее, какое количество байт требуется прочитать.
    • Возвращаемые значения: Нет.
    • Примечание:
      • Если указанное количество байт больше размера массива на который ссылается ссылка, то данные запишутся за пределы массива, что может вызвать некорректную работу скетча.
      • Если указанное количество байт больше чем реально принято, то в массив запишутся только реально принятые байты, а оставшиеся байты массива останутся без изменений.
    Гарантии и возврат Используя сайт Вы соглашаетесь с условями
    Есть вопрос?