Шим сигнал между двумя ардуинами нано

Тема в разделе "Arduino & Shields", создана пользователем mihaj109, 3 авг 2022.

  1. parovoZZ

    parovoZZ Гуру

    Что за крайние значения? Придумываешь скорость обмена информацией. Например, 1200 бод. И приёмник и источник должны быть настроены на эту скорость. Далее либо через софтовый сериал, либо через аппаратный настраиваешься обмен. Tx не нужен в данном случае. Достаточно кидать байты непрерывно. И все.
     
  2. mihaj109

    mihaj109 Нерд

    Крч отчитываюсь! тема рабочая )) Значения немного прыгают на приеме, но в целом всё работает. Менял сопротивление, чтоб уменьшить погрешность ( разбег в 5-15 ед. при 1024 макс), но не помогло, а кондеров до 100 мф больше нет у меня.
    Но. Я ждал результат как я хочу года два ))) это прям совсем близко. от души спасибо. теперь пробую сиреал, связь вроде есть. попробую в реале, будет ли успевать отрабатывать. и тогда вобще каеф ))
     
  3. mihaj109

    mihaj109 Нерд

    я сделал по примеру гивера. всё работает. Но для понимания, можно ли упростить данную кострукцию, убрать лишнее если у меня и так тип данных byte?
    Код (C++):
    #include <SoftwareSerial.h>
    SoftwareSerial mySerial(10, 11);
    struct Str { byte pwm; };
    Str buf;
    void setup() {
      Serial.begin(9600);
      mySerial.begin(4000);
    }
    void loop() {
      if (mySerial.readBytes((byte*)&buf, sizeof(buf))) {
        Serial.println(buf.pwm);  }
    }
    например
    Код (C++):
    #include <SoftwareSerial.h>
    SoftwareSerial mySerial(10, 11);
    byte pwm;
    struct  pwm;
    pwm buf;
    void setup() {
      Serial.begin(9600);
      mySerial.begin(4000);
    }
    void loop() {
      mySerial.readBytes(buf);
      Serial.println(buf.pwm);
    }
    не пойму что за что отвечает
     
  4. parovoZZ

    parovoZZ Гуру

    А зачем 9600? Чтобы ошибки ловить? У тебя ж не RS-485, а обычный кусок провода.
     
  5. mihaj109

    mihaj109 Нерд

    А сколько надо? Сиреал для отладки только. Да и меня не скорость интересовала, а понять, есть ли лишнее.
    В целом итог такой. По порту работает, скорость отличная. Но у меня датчик на колесе при трогании срабатывает реже чем опрашивается и на этом этапе много нулей по времени, а когда с фильтром было, то они сразу исчезали. Дальше голову ломать не хочу как еще и это исправить, останусь с фильтром крч. В целом то что хотел, получил. Больше плавности на конечном приборе. Всем спасибо большое! Зато сиреал освоил, может и пригодится когда)
     
  6. parovoZZ

    parovoZZ Гуру

    Значит нужен цифровой фильтр. Он лучше любого конденсатора, т.к. его можно сделать адаптивным.
     
  7. mihaj109

    mihaj109 Нерд

    у меня есть две платы с алика. аналог в цифру и наоборот. но.. как-нибудь в другой раз ) я думал плата импульсный сигнал разной частоты, но одной длительности сконвертит в шим, но он видать цифровой шим преобразует в аналог. скучно будет, займусь )