Если вы управляете двигателем постоянного тока с помощью транзисторного переключателя, как это выглядит на вашей схеме, вы должны иметь возможность изменять скорость с помощью широтно-импульсной модуляции (ШИМ), другими словами, многократно включая выход в течение короткое время, затем короткое время выключается, причем отношение времени включения к времени выключения (коэффициент заполнения) определяет, насколько быстро работает двигатель.
Вы можете сделать это в коде, как предлагает ответ Боба, но в MicroPython на micro:bit вы также можете генерировать PWM, используя write_analog
метод класса Pin. Таким образом, вы можете установить скорость двигателя, и он будет продолжать работать, пока ваша программа продолжает делать что-то еще. Возможно, вам придется поэкспериментировать, чтобы найти параметр period
, обеспечивающий наилучший контроль.
Если вы обновляете скорость в цикле, не попадитесь в ловушку, описанную здесь.
Не по теме, похоже, ваш транзистор настроен как эмиттерный повторитель. Поскольку micro:bit использует логику 3,3 В, это будет управлять двигателем только с максимальным напряжением около 2,7 В, даже если у вас есть 6 В от аккумуляторной батареи (при условии, что ваша диаграмма верна). Для лучших результатов вы можете поискать другие методы переключения сильноточной нагрузки с логического выхода, например. низкий боковой переключатель. Если вам нужно задать вопросы об этом, попробуйте Электроника.
person
nekomatic
schedule
20.02.2020