如何使用 micropython 控制插入 BBC micro:bit 的水泵的速度?
到目前为止,为了控制水泵,我可以打开/关闭它,这是我的代码:
from microbit import *
pin2.write_digital(1)
sleep(1000)
pin2.write_digital(0)
它是如何连接的:
如何使用 micropython 控制插入 BBC micro:bit 的水泵的速度?
到目前为止,为了控制水泵,我可以打开/关闭它,这是我的代码:
from microbit import *
pin2.write_digital(1)
sleep(1000)
pin2.write_digital(0)
它是如何连接的:
快速连续打开和关闭:
for loopcount in range(1, 1000):
pin2.write_digital(1)
sleep(2)
pin2.write_digital(0)
sleep(2)
调整sleep
呼叫以获得您想要的流程。
如果您使用晶体管开关控制直流电机,如图所示,您应该能够使用脉宽调制 (PWM) 来改变速度 - 换句话说,通过反复打开输出一小段时间然后关闭一小段时间,开启时间与关闭时间的比率(占空比)决定了电机的运行速度。
您可以按照Bob 的回答建议在代码中执行此操作,但在 micro:bit 上的 MicroPython 中,您也可以使用Pin 类的write_analog
方法生成 PWM。这样你就可以设置一个电机速度,它会在你的程序继续做其他事情的同时继续运行。您可能需要进行试验以找到period
能够提供最佳控制的设置。
如果您要循环更新速度,请不要落入此处描述的陷阱。
题外话,看起来好像您的晶体管被配置为射极跟随器。由于 micro:bit 使用 3.3 V 逻辑,即使您的电池组有 6 V 可用电压(假设您的图表准确),这也只会以最大约 2.7 V 的电压驱动电机。为了获得更好的结果,您可能需要查找从逻辑输出切换高电流负载的其他方法,例如低侧开关。如果您需要询问有关此的问题,请尝试电子