察觉到阿杜伊诺的点头
Detecting a nod with Arduino
我正在开发一个应用程序,我需要检测某人头部的运动,尤其是当有人点头时。为此,我们将Arduino放在带有加速度计(MPU-6050)的盖子上。加速度计返回介于 0 和 10 之间的值,从水平到向上看,从 0 到 -10 到向下看。
我需要识别代表简单点头的价值观中的模式,就像这样。有人告诉我我必须使用这样的东西:
for(int x = 0; x < 100; x++){
result += abs(oldvalue) + abs(newvalue) / 2;
}
这将获得超过 100 次循环(如 0.5 秒)的平均值,但无法根据result
确定一个人是否在点头。
我自己也想过检查一下某种波形,点头实际上是。旧值将在一段时间内低于或高于其他值,但不确定如何做到这一点,因为我无法暂停我的代码,因为它也在检查其他传感器(麦克风和指南针)的输出。
当传感器处于静止状态时,您的配偶要有一个阈值或点亮自然头部移动嗯,你可以试试这段代码,我认为它会为你工作:
void loop()
{
int CurrentState = analogRead(AccPin);
if(CurrentState > ThresHold || CurrentState < ThresHold)
{boolean IsNoding = CheckForNoding();}
if(IsNoding)
{
//Do Whatever You Want
}
else
delay(TimeInterVal);
}
boolean CheckForNoding()
{
Count = 0;
boolean State = false;
while(Count<MinToConsiderNode) // Your Case 100?!
{
int CurrentState = analogRead(AccPin);
if(CurrentState > ThresHold || CurrentState < ThresHold)
{
int Count ++;
delay(TimeInterval) // What you Think Should Be The Time Period Between each => Head Going Up or Down
State = true;
}
else
{
State = false;
break;
}
}
return State;
}
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 如何将stdout重定向到stderr
- HEX值到wchar_t字符(UTF-8)的转换
- Qt VTK交互风格的信号到小部件
- Pybind11:将元组列表从Python传递到C++
- 使用strcpy将char数组的元素复制到另一个数组
- 在c++中使用nlohmann从类到json的转换
- 如果我只是不访问queue_front节点的子节点,而是将它们推到队列中呢?还是BFS吗
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 是否可以使用一个类来控制 C++ 中另一个类的对象?(阿杜伊诺)
- 如何修复" 'Function' does not name a type "?[阿杜伊诺]
- 能够将C++类转换为 json.阿杜伊诺
- 如何为多个模拟引脚编写功能?(阿杜伊诺)
- 数字常量之前的预期非限定 id.- 阿杜伊诺
- 察觉到阿杜伊诺的点头
- 阿帕奇节俭做不到
- 菲利普·休·阿杜伊诺控制
- 没有输出,我已经编了一个程序去找所有阿姆斯壮没有.在100到1000之间
- 我不能有一个将多个整数作为参数的构造函数方法/原型吗?阿杜伊诺
- 阿杜伊诺崇高文本 2.我可以编译但不能上传。错误"The system cannot find the file specified"