Если вы управляете двигателем D C с помощью транзисторного переключателя, как это выглядит на вашей диаграмме, вы сможете изменять скорость с помощью широтно-импульсной модуляции (ШИМ) - другими словами, многократное включение выхода на короткое время, а затем на короткое время с соотношением времени включения и времени выключения (коэффициент заполнения ), определяющий скорость работы двигателя.
You это можно сделать в коде, как подсказывает ответ Боба , но в Micro Python на micro: bit вы также можете генерировать ШИМ, используя write_analog
метод класса Pin. Таким образом, вы можете установить скорость двигателя, и она будет продолжать работать, пока ваша программа продолжает делать что-то еще. Возможно, вам придется поэкспериментировать, чтобы найти параметр period
, который дает вам лучший контроль.
Если вы обновляете скорость в al oop, не попадайтесь в ловушку, описанную здесь .
Off topi c, похоже, что ваш транзистор настроен как повторитель эмиттера. Поскольку micro: bit использует 3,3 В logi c, это будет приводить в движение двигатель максимум максимум 2,7 В, даже если у вас есть 6 В от аккумулятора (если ваша диаграмма точна). Для получения лучших результатов вы можете поискать другие способы переключения высокоточной нагрузки с выхода logi c, например, выключатель низкого уровня. Если вам нужно задать вопрос об этом, попробуйте Electronics