Arduino 433Mhz отсылаем коды кнопок радио-пультов - от радио розеток через bat файл Radio sockets

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 ม.ค. 2025
  • /* Radio_sockets_433Mhz_bat_timer_Arduino_2021_01_08
    отсылаем "пакеты" с кодами кнопок (радио-пультов - от радио розеток) с ПК - через bat файл или (монитор порта)-(COM порт)
    для каждого радио-кода есть свой "независимый" таймер.
    в каждом "пакете" с кодами, есть данные для таймера, для авто выключения радио розетки.
    Arduino radio sockets on off Leonardo ATmega32u4 Arduino radio sockets on off RF Radio 433Mhz коды
    arduino-IDE v 1.6.12
    Вспомогательные видео материалы.
    как ? узнать код - кнопки радио пульта 433Mhz
    how? learn the code button RF Remote control.
    • Video
    Библиотека для отправки Radio кодов. yadi.sk/d/6kwep...
    Radio_sockets_433Mhz_bat_timer_Arduino_2021_01_08.ino
    drive.google.c...
    drive.google.c...
    '#' символ конца строки,
    '~' символ разделения частей строки
    Идентификатор части строки 'N' для записи в переменную numberCode // номер "пакета" с кодами
    Идентификатор части строки 'C' для записи в переменную radioCode_ON // код включения радио розетки
    Идентификатор части строки 'c' для записи в переменную radioCode_OFF // код выключения радио розетки
    Идентификатор части строки 'T' для записи в переменную timer_auto_off // время таймера для авто выключения радио розетки
    Идентификатор части строки 'R' для записи в переменную repeats // количество повторов отправляемых радио кодов
    пример строки
    0N~18062C~18060c~60T~7R# для отправки кода для RF_1_ON_OFF
    1N~19034C~19032c~0T~7R# для отправки кода для RF_2_ON_OFF
    2N~15146C~15144c~0T~7R# для отправки кода для RF_3_ON_OFF
    3N~45717C~45717c~1T~0R# для отправки кода для R_1
    4N~45699C~45699c~1T~0R# для отправки кода для R_2
    5N~45691C~45691c~1T~0R# для отправки кода для R_3
    3N~45717C~45717c~0T~0R# для отправки кода для R_1
    4N~45699C~45699c~0T~0R# для отправки кода для R_2
    5N~45691C~45691c~0T~0R# для отправки кода для R_3
    */
    /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
    // Препроцессорная компиляция кода.
    // Препроцессор выполняет предварительную настройку кода, перед передачей компилятору (загрузкой в Arduino)
    #define DEBUG_PRINT_SERIAL HIGH // (ВЫБЕРИТЕ!) режим тестирования устройства
    //#define DEBUG_PRINT_SERIAL LOW // (ВЫБЕРИТЕ!) режим эксплуатации устройства
    // для экономии памяти микроконтроллера, в режиме эксплуатации устройства, эти строки не будут загружаться в микроконтроллер
    #if DEBUG_PRINT_SERIAL == HIGH
    #define DEBUG_SERIAL_PRINT(x) Serial.print(x);
    #define DEBUG_SERIAL_PRINTLN(x) Serial.println(x);
    #define DEBUG_SERIAL_WRITE(x) Serial.write(x);
    #else
    #define DEBUG_SERIAL_PRINT(x)
    #define DEBUG_SERIAL_PRINTLN(x)
    #define DEBUG_SERIAL_WRITE(x)
    #endif
    /* ###################################### */
    // для отладки кода, выводим название функции, номер строки начало функции, и другую информацию.
    #define DEBUG_FUNCTION_LINE \
    DEBUG_SERIAL_PRINT(__PRETTY_FUNCTION__); \
    DEBUG_SERIAL_PRINT(F("\t""LINE""\t")); \
    DEBUG_SERIAL_PRINT(__LINE__); \
    DEBUG_SERIAL_PRINT(F("\t")); \
    DEBUG_SERIAL_PRINTLN(__COUNTER__);
    #include "RemoteSwitch.h" // устанавливаем библиотеку для отправки радио кодов на радио розетки
    #define RADIO_PIN 10 // PIN для радио передатчика 433 МГц.
    #define MAXIMUM_PACKETS_RADIO_CODES 6 // максимальное количество пакетов с радио кодами
    #define SIZE_STRUCT_CODE (sizeof(arrStructCode)/sizeof(arrStructCode[0])) // вычисляем количество элементов массива структур
    byte numberCode; // номер структуры "пакета" с радио кодами
    char arrSerialRead[99] = {0}; // массив char для хранения входящей сырой строки
    struct // массив структур для хранения "пакетов" с кодами, таймерами,...
    {
    bool flag_oldCode : 1; // флаг - повторно отправленный, один и Тодже код, занимает 1 бит
    unsigned long radioCode_ON; // поступивший код включения радио розетки
    unsigned long radioCode_OFF; // поступивший код выключения радио розетки
    unsigned long timer_auto_off; // время таймера - для автоматического отключения розетки
    byte repeats; // количество повторов отправляемых радио кодов
    } arrStructCode[MAXIMUM_PACKETS_RADIO_CODES]; // максимум радио розеток
    Ссылка на
    • Arduino 433Mhz отсылае...

ความคิดเห็น •