gpt4 book ai didi

arduino - 如何从传感器采样并同时进行 PWM?

转载 作者:行者123 更新时间:2023-12-04 05:48:32 29 4
gpt4 key购买 nike

我有一个关于 Arduino 的一般性问题,如何每秒使用 AnalogRead() 读取一定次数的传感器值。每秒说 10 次,并且还不断地向电机输出 PWM。

如果我尝试延迟循环(),它会影响我与 AnalogWrite() 一起用于电机的 PWM。有没有办法做到这两点?

另外,对于 AnalogRead() 我想控制采样频率,比如每秒 10 次或每秒 20 次,我该怎么做?

谢谢一堆!

最佳答案

您想查看 Arduino IDE 中的“立即闪烁”示例。

阅读示例草图后您会更好地理解的简短回答是,您根据millis() 的最新和先前返回值之间的差异执行analogRead() 调用,并按原样执行任何PWM 更改需要。由于analogRead() 返回得非常快,只要您不在任何地方使用delay(),它们就不会干扰PWM 操作。

请记住,来自millis() 的返回值是无符号的,因此如果您使用无符号变量来存储来自millis() 的返回值,则两个连续返回值之间的差值始终为正。由于一秒有 1,000 毫秒,因此每当对 millis() 的两次连续调用之间的差异大于 100 时,您就需要再读一次。为确保每秒保持接近 10 个值,请将“前一个”毫秒值增加 100,而不是用实际读数替换“前一个”值。

关于arduino - 如何从传感器采样并同时进行 PWM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10377156/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com