Беспроводные поворотники

Тема в разделе "Проводная и беспроводная связь", создана пользователем Nathan, 6 мар 2019.

  1. Nathan

    Nathan Нуб

    Здравствуйте. Хочу повторить вот этот проект по беспроводным поворотникам:
    https://sites.google.com/site/rodrigodflores/electronics
    В принципе меня всё устраивает, но хотелось бы, чтобы когда был высокий уровень на пине "тормоз" МК LilyPad, светодиоды горели постоянно, при низком уровне - было моргание и с меньшей яркостью (3 пин LilyPad как раз с ШИМ). В коде этого сейчас нет, но будет ли так работать МК, пока он не получает сигнал от радиомодуля?
    И ещё есть вопросы по радиомодулю. Купил такой.
    На ресивер идёт более длинная антенна (так по описанию по крайней мере написано)? И нормально ли запитывать его от 5В?
    Какое напряжение подавать на трансмиттер?
    Код и схематику прилагаю.
    Код (C++):
    #include <RCSwitch.h>
    #include <Sleep_n0m1.h>
    #define PIN_BRAKE 3
    #define PIN_TURN_RIGHT 4
    #define PIN_TURN_LEFT 5
    #define PIN_RF_MODULE 6
    RCSwitch mySwitch = RCSwitch();
    Sleep sleep;

    void setup() {
      pinMode(PIN_RF_MODULE, OUTPUT);
      pinMode(PIN_BRAKE, OUTPUT);
      pinMode(PIN_TURN_RIGHT, OUTPUT);
      pinMode(PIN_TURN_LEFT, OUTPUT);
      digitalWrite(PIN_RF_MODULE, LOW);
      digitalWrite(PIN_BRAKE, HIGH);
      digitalWrite(PIN_TURN_RIGHT, HIGH);
      digitalWrite(PIN_TURN_LEFT, HIGH);
      //Serial.begin(9600);
      // Receive on interrupt 0 => that is pin #2
      mySwitch.enableReceive(0);
    }

    // Sleep function: time in ms.
    void dorme(int tempo) {
      sleep.pwrDownMode();
      sleep.sleepDelay(tempo);
    }

    // DADO[3:0] = {1, TURN_LEFT, TURN_RIGHT, BRAKE}
    // HIGH = OFF
    // LOW = ON
    void loop() {
      digitalWrite(PIN_RF_MODULE, LOW);
      if(mySwitch.available()) {
        int value = mySwitch.getReceivedValue();
        //dorme(25); // dorme por 25ms
        switch(value) {
          case 9: { // 1001
            digitalWrite(PIN_BRAKE, LOW);
            digitalWrite(PIN_TURN_RIGHT, HIGH);
            digitalWrite(PIN_TURN_LEFT, HIGH);
            break;
          }
          case 11: { // 1011
            digitalWrite(PIN_BRAKE, LOW);
            digitalWrite(PIN_TURN_RIGHT, LOW);
            digitalWrite(PIN_TURN_LEFT, HIGH);
            break;
          }
          case 13: { // 1101
            digitalWrite(PIN_BRAKE, LOW);
            digitalWrite(PIN_TURN_RIGHT, HIGH);
            digitalWrite(PIN_TURN_LEFT, LOW);
            break;
          }
          case 10: { // 1010
            digitalWrite(PIN_BRAKE, HIGH);
            digitalWrite(PIN_TURN_RIGHT, LOW);
            digitalWrite(PIN_TURN_LEFT, HIGH);
            break;
          }
          case 12: { // 1100
            digitalWrite(PIN_BRAKE, HIGH);
            digitalWrite(PIN_TURN_RIGHT, HIGH);
            digitalWrite(PIN_TURN_LEFT, LOW);
            break;
          }
          default: {
            digitalWrite(PIN_BRAKE, HIGH);
            digitalWrite(PIN_TURN_RIGHT, HIGH);
            digitalWrite(PIN_TURN_LEFT, HIGH);
            break;
          }
        }
        mySwitch.resetAvailable();
      } else {
      }
    }
     

    Вложения:

    Последнее редактирование: 28 мар 2019
  2. parovoZZ

    parovoZZ Гуру

    Это что за определение? STU - это что? Где перечень элементов? Откуда берутся напряжения? Схема ни в какие ворота.
     
  3. Nathan

    Nathan Нуб

    http://docs.cntd.ru/document/gost-2-743-91-eskd
    2.2.2. Обозначения функций элементов приведены в табл.2.
    *STU - стабилизатор напряжения
    Видно ведь, что напряжение берётся с батареи и идёт на два стабилизатора напряжения - один на 5В другой на 3.3В. 5В на питание микроконтроллера, 3.3В на светодиоды.
    DA1 - STBB1-APUR
    DA2 - NCP1402SN50T1G
     
    Последнее редактирование: 6 мар 2019
  4. ImrDuke

    ImrDuke Гик

    Как мотоциклист, не понимаю зачем такая цветомузыка нужна...
     
  5. Nathan

    Nathan Нуб

    Чтобы не было ни одного вопроса и сомнения, куда я поворачиваю. Вообще это для велосипеда.
     

    Вложения:

    • 2888.jpg
      2888.jpg
      Размер файла:
      349,4 КБ
      Просмотров:
      92
  6. ImrDuke

    ImrDuke Гик

    Если уж очень хочется, то есть готовое решение http://ali.onl/1eJb

    [​IMG]
     
  7. Nathan

    Nathan Нуб

    Не думаю, что за 80-100 метров будет так понятна такая полоска против стрелки размером в плане 15X9 см.
     

    Вложения:

    • 2888.jpg
      2888.jpg
      Размер файла:
      349,4 КБ
      Просмотров:
      45
    Последнее редактирование: 6 мар 2019
  8. parovoZZ

    parovoZZ Гуру

    Ну, хорошо.
    А радиочасть где? Зачем на МК выделять 5 вольт, если абсолютно любой МК умеет питаться и от 3.3в?
     
  9. vvr

    vvr Инженерище

    стрелка , в данном случае, на много информативнее.
     
    Nathan нравится это.
  10. Nathan

    Nathan Нуб

    Сделал так. Я так и не понял, зачем я схему приложил. Написано ведь под гнездом XS2 - "ресивер". Вставляю его туда (черное гнездо под pls вилку на 4 пина).
     

    Вложения:

    • 2997.jpg
      2997.jpg
      Размер файла:
      425 КБ
      Просмотров:
      184
  11. Nathan

    Nathan Нуб

  12. ImrDuke

    ImrDuke Гик

    Да, у меня так и работают.
     
  13. Nathan

    Nathan Нуб

    Спасибо за информацию.