嗨,大家好 :-)
让我们使用 HDX 振动传感器和 Esp32 和 NanoFramework 进行振动检测!
HDX 振动传感器是用于振动检测的小型传感器
你应该把它放在正确的方向。否则将无法正常工作!(它的方向是垂直的)
你可以用万用表找到它的方向。将电压表设置为二极管模式,然后将万用表线放在 HDX 引脚上,之后您必须摇动 HDX。现在您必须听到断开连接并重新连接序列的声音。
好的,现在我们必须将 HDX 连接到板(esp32)。
在这里,我将 HDX 连接到 GPIO 21。
您必须在您的设备上安装 nanoframework
NanoFramework Esp32 - Hackster.io
好的,一切准备就绪;-)
我为振动传感器开发了一个包。目前我的包只支持 HDX 传感器。
(也许我会在这个包中添加另一个传感器)
你可以从 github (github/alirezap) 得到它
不幸的是,我无法将此包发布为 nugget 包(尝试将其发布为 nugget 包时会出现异常),因此您应该从 github 下载源代码并将其添加到您的项目中。
好的,现在让开发
打开 Gpio(这里是 21)
将其设置为输入
设置 gpio 事件处理程序
_shockDetection = s_GpioController.OpenPin(_pinNumberShockDetection);
_shockDetection.SetDriveMode(GpioPinDriveMode.Input);
_shockDetection.ValueChanged += _shockDetection_ValueChanged;
private static void VibrationObject_InvokeEvent(object sender, EventArgs e)
{
Debug.WriteLine("Vibrate!!!!!!");
}
将包添加到您的项目
从包创建实例
vibrationObject = newAP.NanoFrameWork.Vibration.HDX();
设置阈值。(默认为 15)
vibrationObject.Threshold = 20;
阈值是秒针状态变化的计数。
设置事件处理程序
vibrationObject.InvokeEvent += VibrationObject_InvokeEvent;
现在在 gpio valuechange 事件处理程序中将 gpio 状态传递给包
private static void _shockDetection_ValueChanged(object sender, GpioPinValueChangedEventArgs e)
{
vibrationObject.AnalyseSignal(e.Edge);
}
完整代码:
运行项目并享受
谢谢微软
感谢 Nanoframework 团队。这是芯片发展的未来
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !