Страница 18 из 29 ПерваяПервая ... 8161718192028 ... ПоследняяПоследняя
Показано с 171 по 180 из 282

Тема: Диагональный макет в ТТ

  1. #171
    Да, увидел, подправил (погода сегодня тяжелая, соображается туго ). В этой оптопаре два светодиода, включенных параллельно друг другу и разнонаправлено. При одой полярности горит один, при другой - второй.
    Т.е при движении в любую сторону на выходе всегда будет 0.
    Последний раз редактировалось bahnhof; 16.06.2019 в 19:10.

  2. #172
    Нажмите на изображение для увеличения. 

Название:	11117.png 
Просмотров:	20 
Размер:	7.4 Кб 
ID:	31088

    Нормальная схема и показания без инверсии.

    - - - - - - - - - - Добавлено - - - - - - - - - -

    Код можно сделать и проще, если хотя бы одна 1 попадается за 32, 16 или 8 измерений. А это условие выполняется, если судить по постам выше.
    Тип "unsigned long int" занимает 32 бита, значит может хранить 32 измерения.

    Код:
    unsigned long int CycleBuffer = 0;
    ...
    
    void loop() {
      int test = digitalRead(3);
      CycleBuffer = CycleBuffer << 1;
      bitWrite(CycleBuffer,0, test);
    ...
    
    }
    Узнать текущую занятость очень просто:

    Код:
    ...
      if (CycleBuffer) 
    ...
    если занято, то выполнится ветка для "условие истинно".

  3. #173
    А я думал через цикл с счетчиком запускать, типа ie=0; for i=1 to 200 {ie=ie+digitalRead(pin);}
    если по выходу из цикла ie>0, то путь занят. Или это по дилетантски?
    Последний раз редактировалось bahnhof; 16.06.2019 в 19:15.

  4. #174
    Цитата Сообщение от bahnhof Посмотреть сообщение
    А я думал через цикл с счетчиком запускать, типа ie=0; for i=1 to 200 {ie=ie+digitalRead(pin);}
    если по выходу ie>0, то путь занят. Или это по дилетантски?
    Норм, рабочий вариант, только снизить с 200 до более вменяемого кол-ва.
    Ну и запомнить, что во время этого цикла ардуина ничего более делать не может. Поэтому если у нее появятся другие задачи, то лучше без такого цикла.

    - - - - - - - - - - Добавлено - - - - - - - - - -

    Код:
    bool NewState = 0;
    bool State = 0;
    unsigned long int CycleBuffer = 0;
    
    
    void loop() {
      bool test = digitalRead(3);
      CycleBuffer = CycleBuffer << 1;
      bitWrite(CycleBuffer,0, test);
      NewState = CycleBuffer ? 1 : 0;
      if (NewState != State) {
        if (NewState) DoBusy(); else DoFree();    
        State = NewState;
      }
    ...
    }
    Функции DoBusy() и DoFree(); для вызовов обработчиков смены состояния. Желательно, чтобы это были быстрые по скорости функции.
    Последний раз редактировалось shalex; 16.06.2019 в 19:46.

  5. #175
    Промерял вчера напряжение на шестнадцативольтовом выходе кирпича - показывает 18 В. Придется ставить входные конденсаторы на 36 мкФ на входы питания приводов стрелок

  6. #176
    Местный Аватар для A.G.
    Регистрация
    08.05.2011
    Адрес
    Крайний восток Нерезиновки - 2й км МКАДа
    Сообщений
    1,314
    какие конденсаторы на переменке?

  7. #177
    Цитата Сообщение от A.G. Посмотреть сообщение
    какие конденсаторы на переменке?
    В смысле?
    Просчитал по формуле - получил, что надо 36 мкФ, а конкретно сунулся подбирать - такого номинала не нашел.
    Придется в параллель набор делать из китайских неполярных электролитов типа такого
    Название: Кондер.PNG
Просмотров: 237

Размер: 16.8 Кб

  8. #178
    Местный Аватар для A.G.
    Регистрация
    08.05.2011
    Адрес
    Крайний восток Нерезиновки - 2й км МКАДа
    Сообщений
    1,314
    с этого места поподробнее - что ты на АС собрался получить с помощью кондюка???

  9. #179
    Цитата Сообщение от A.G. Посмотреть сообщение
    с этого места поподробнее - что ты на АС собрался получить с помощью кондюка???
    На выходе кирпича (старый добрый PIKO) 18 В переменки (на выходе который 16 В). Привод стрелки (mtb-шнй MP) по паспорту требует от 8 до 16В. Хочу понизить входное напряжение с 18 вольт где-то до 12.
    что бы не перегружать привод. По паспорту привод потребляет 150 мА.

    Нажмите на изображение для увеличения. 

Название:	1.png 
Просмотров:	11 
Размер:	2.1 Кб 
ID:	31168

    А что смущает? Готов воспринять конструктивную критику
    Последний раз редактировалось bahnhof; 20.06.2019 в 11:50.

  10. #180
    оффтопик

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •