我正在研究从不同传感器读取数据的arduino项目。我将这些值存储在一个数组中。问题是我想以不同的速率更新传感器值。例如,我不想每隔250ms更新一次,而是每隔50ms更新一次。但我希望它能够在传感器更新之间运行。我能想到让它工作的唯一方法是拖延,但这会停止循环。如何以不同的速率更新传感器值
2
A
回答
2
您可以使用millis()函数,并为要读取的每个传感器设置间隔。看一看在闪烁无延迟例如Arduino的网站
0
如果你有一堆传感器来检查,你可以通过使用Metro library节省一点编码。与BRM的回答一样的一般概念。您也可以使用定时器中断。有关定时器中断文章链接的信息,请参阅我的Move now, don’t delay()博客文章。
0
如果你不不希望使用一个库,你可以实现它这样的:
typedef void (*command)();
template <unsigned long wait_ms, command c>
void repeat() {
static unsigned long start = millis();
if (millis()-start >= wait_ms) {
start += wait_ms;
c();
}
}
void task1() {
// every 50ms
}
void task2() {
// every 250ms
}
void setup() {
}
void loop() {
repeat< 50, task1>();
repeat<250, task2>();
}
这将只要有什么东西是“块”内循环工作。
相关问题
- 1. 加速计传感器速率可以信任吗?
- 2. 以不同的速率
- 3. “自定义”传感器事件发生率似乎不SensorManager.registerListener(SensorEventListener监听器,传感器传感器,诠释率)
- 4. 传感器更新率的动态变化
- 5. Android加速计传感器值
- 6. 传感器功率/通知率问题
- 7. 访问Apple Watch中的心率传感器 - HealthKit不返回值
- 8. 传感器值超过某个值时,如何更新计数器?
- 9. 加速计传感器
- 10. 的Android - 计数传感器更新
- 11. FireMonkey Android加速度传感器高CPU使用率
- 12. Android Wear加速度传感器/陀螺仪传感器
- 13. 如何计算加速度计传感器转速KM/H
- 14. 如何以与google skymap相同的方式使用传感器值?
- 15. 更新不同行快速
- 16. 为什么传感器值在不同设备上如此不同?
- 17. 如何找到数字传感器的分辨率
- 18. 如何更新不同值的排序?
- 19. Android传感器CPU使用率
- 20. 传感器之间的不同值TYPE_ACCELEROMETER/TYPE_MAGNETIC_FIELD和TYPE_ORIENTATION
- 21. Moto 360中的磁场传感器不发送更新
- 22. Android传感器 - 接近传感器的问题使用不同的手机时的值和问题
- 23. 如何通过加速度传感器移动我的布局?
- 24. 如何以编程方式控制加速度传感器的灵敏度?
- 25. 不同比特率(时钟速率)
- 26. Arduino轮速传感器检测方向
- 27. 问题使用传感器 - 加速计
- 28. 关于BMA-150加速度传感器
- 29. Mixing Box2D加速度传感器+重力?
- 30. 从心率传感器创建数组值