приемник RF 433

Тема в разделе "Arduino & Shields", создана пользователем RRR111, 16 авг 2017.

  1. RRR111

    RRR111 Нерд

    чтобы не плодить темы, задам здесь вопрос.
    Скетч "палкаподнималка" я так понимаю и для приема, и для передачи, и чтобы глушить. Хочу только принимать при помощи этого скетча, а передатчик собирать на другой плате. Опять же вопрос по скетчу: в интернете нашел много разных скетчей, пытаюсь "залить" полученный при помощи "палкиподнималки" код, но при запуске ардуины-приемника я ничего не принимаю от ардуины-передатчика.
    В чем может быть проблема?
     
  2. Вариантов много), из них:
    1 - код; Отправлять нужно поднималкой, а не другим скетчем. Тот который не ловит и не отправит.
    2 - железо.
     
  3. RRR111

    RRR111 Нерд

    Да по железу там вопросов не должно быть, вроде. плюс,минус, дата и все. Антенну припаял.

    Отправлять нужно поднималкой - не понял?
    Т.е. если я узнал нужный мне код, мне же не нужно постоянно сканировать приемником, я хотел сделать на ардуино-мини+передатчик который бы отдельно от палкиподнималки только передавал, не считывал, не глушил))
     
  4. Поднималка - программа написанная под конкретную задачу. Она Умеет принимать наш код, умеет отправлять. Нужно просто сделать из нее две разных программы для себя, вырезав все лишнее) Она, на удивление, очень простая, лаконичная и хорошо прокомментирована.
     
  5. RRR111

    RRR111 Нерд

    вот код, который "заработал". Только мне не совсем понятно, как полученный мною код в 16ти ричной системе передать так, чтобы мой приемник его в итоге увидел как он и был - 16ти ричным кодом.
    В виде букв, я так понимаю, передавать будет неправильно, пробовал в двоичном коде - получается тоже ерунда (скрин прилагаю). Подскажите, пожалуйста, как правильно передавать буквенно-цифровой код, чтобы приемник его правильно воспринимал?

    Код (C++):
    int send_code_pin = 13;
    long send_code = 111010110110000100110110001010111101111010111010000011000100111010110110000100110110001010111101111010111010000011000100; // (EB61362BDEBA0C4) - этот двоичный код определенный методом перебора для моего шлагбаума
    void setup()
    {
      pinMode(send_code_pin, OUTPUT);
    }

    void loop ()
    {
        for (int j = 0; j <7; j++) // достаточно 4-х, но из-за помех поставил 7
        {
          digitalWrite(send_code_pin, HIGH); // стартовый импульс
          delayMicroseconds(700);
          digitalWrite(send_code_pin, LOW);
          for (int i = 12; i > 0; i--)
          {
            boolean bit_code = bitRead(send_code, i - 1);
            if (bit_code)
            {
              digitalWrite(send_code_pin, LOW); // единица
              delayMicroseconds(1400);
              digitalWrite(send_code_pin, HIGH);
              delayMicroseconds(700);
            }
            else
            {
              digitalWrite(send_code_pin, LOW); // ноль
              delayMicroseconds(700);
              digitalWrite(send_code_pin, HIGH);
              delayMicroseconds(1400);
            }
          }
          digitalWrite(send_code_pin, LOW); // пилотный период
          delayMicroseconds(25200);
        }
      delay(10000); // задержка вместо кнопки
    }
     

    Вложения:

  6. Передача по любому двоичная. Соотв, что в передатчик отправить, то он и передаст, то он и примет. А что принимать (и фиксировать/отображать, а не отбрасывать) и отправлять - вопрос алгоритма. В оригинале плакаподнималка, и другие программы, просто декодирует двоичный и отображает его, помимо того что сначала определяет кодировку. Но передает опять же в двоичном. Приведенный скетч может отправить двоичный код указанный в программе, но не факт, что стартовые биты, задержки между битами (миллисекунды в алгоритме) и тп соответствуют пульту, который планируется симулировать.
     
    Последнее редактирование: 17 авг 2017
  7. Вот так выглядит сигнал
    23770273xa.jpg
     
    Последнее редактирование: 17 авг 2017
  8. Можно засечь двоичный код нескольких разных кнопок что бы определить стартовые биты, и прописать их в приведенный пример, остальные цифры записать в переменную, а задержки определить опытным путем, найти в инете на этот пульт или определить самостоятельно.

    А еще в приведенном коде отправляется только 12 бит и не хватает функции bitRead)
     
    Последнее редактирование: 17 авг 2017
  9. BMW

    BMW Нуб

    Прошу помочь.... Сразу говорю только учусь..... Можно в личку написать...

    Кнопки на отправку и глушилку как понял только ..

    подключаются к 7 и 8 пину соответственно через резистор 10 кОм. (по схеме указанной в приложении) ????
    И второй вопрос после отключения питания пойманый код сохраняется?
     

    Вложения:

  10. Mitrandir

    Mitrandir Гуру

    Питания чего? Ардуины? Если не сохранили его в еепром то нет.
     
  11. Mitrandir

    Mitrandir Гуру

    На время нажатия кнопки на порт приходит логическая 1. Отпускаете то 0 через резистор подтяжки
     
  12. BMW

    BMW Нуб

    да ардуины. Что б исползовать без компа.
     
  13. BMW

    BMW Нуб

    Как схеме во вкладке правильно?
     
  14. BMW

    BMW Нуб

    как сохранить..Пожалуйста объясните.
     
  15. Mitrandir

    Mitrandir Гуру

  16. Mitrandir

    Mitrandir Гуру

    Но учтите , что записать туда можно 100 тысяч раз, потом еепром износится и помрёт. Так же можно и на следующей карту писать
     
  17. BMW

    BMW Нуб

    Спасибо.. За ссылку... На ней мой мозг и взорвался (((( .. Буду изучать.
     
  18. parovoZZ

    parovoZZ Гуру

    Смотря какой объём писать. Если чухонский байт, то в разы больше.