在 Arduino 代码中出现递增问题

Having incrementing problems in Arduino code

基本上我是从加速度计读取原始值(即这些值响应重力和加速度而变化)。 我为原始值设置了一系列值(即从 -100100):

x = map(ax, -2048, 2048, -100, 100 );

现在我正在尝试增加 "count" x 大于 50:

if (x>50) {
    count++;
  }

主要示例代码在这里:

void loop(){
x = map(ax, -2048, 2048, -100, 100 );
if (x>50) {
        count++;
      }
}

但是当我编译代码时,x 变得大于 50 并且计数不断递增,我想要它做的是仅当值变得大于 50 时才计数 'one by one'随着加速度计移动?

我想你想计算你测量了多少次超过 50 的值。如果你在每个 loop() 迭代中检查条件,那么你将得到多少次(在 中测量loops) 值超过 50.

你需要这样的东西

boolean checked = false;

void loop(){
x = map(ax, -2048, 2048, -100, 100 );
if (x > 50 && !checked) {
    count++;
    checked = true;
    }
if (x < 50 && checked) {
    checked = false;
    }
}