【Arduino和高中通用技术】——十一、BF1K-3AA系列电阻式压力应变片、HX711压力传感器和另一种按键去抖动方法

一、压力应变片

【Arduino和高中通用技术】——十一、BF1K-3AA系列电阻式压力应变片、HX711压力传感器和另一种按键去抖动方法_第1张图片

电阻式压力应变片比一些体重秤上使用的电压式压力应变片精度要高,但是成品的压力模块往往动辄几百元而且形态不能满足我们的各种“奇葩”应用。而这种裸片价格便宜,所以在最近一个小制作中使用了这种应变片,它的缺点也非常明显:非常脆弱,连接方式度娘也不很清楚。如果你不介意它如此脆弱需要用弹性胶小心固定,那么让我们一起来看一下正确的使用方式:

1、连接方法:全桥接——四个应变片朝向同一方向,手拉手连接起来,并且每个接头处引出一根导线,请看下面灵魂图示:

【Arduino和高中通用技术】——十一、BF1K-3AA系列电阻式压力应变片、HX711压力传感器和另一种按键去抖动方法_第2张图片

任意两个对角引出线接HX711的E+,E-,例如图中的红、蓝;另外两个对角引出线接HX711的A+、A-,例如图中的两条草绿色线。HX711还有一路B通道,可以接另一组。如果你发现应变片弯曲时产生的信号是负值或许可以调换以下A+、A-或者E+、E-。

PS:型号中的1K代表电阻为1000Ω

2、测试注意事项

      这个应变片实在是太脆弱了,测试时最好用透明胶布来进行粘贴。实际使用时应该用专用胶固定或者使用硅胶也可以,但无论如何要小心连接线和片子本身。

二、HX711

      前面已经说了E+\E-\A+\A-\B+\B-的连接方法,其他连线请自行参照HX711使用说明。

      连接好硬件之后,就可以进行相应的测试。使用HX711时我用到HX711_ADC库,阅读库范例代码时,请注意以下代码行:

HX711_ADC LoadCell(20, 21);
	//启动压力传感器
	LoadCell.begin();
	long stabilisingtime = 2000;			// 延时一定的时间可以使得精确度提高
	LoadCell.start(stabilisingtime);
	LoadCell.update();									//更新传感器值

其中,更新传感器值的代码,请在LOOP过程中不断调用。

三、另一种去抖动的方法

因为在这个小项目中使用了红外光电对射传感器来感应一个快速物体的低频率高速撞击情况,所以涉及到抖动问题,这次使用了一个库来解决:

#include 

这个库有丰富的接口供我们调用:当前状态、由高到低、有低到高……是一个功能完备使用简单的库。但需要注意的是,使用这个库时我们不负责附加外部中断而是在loop函数中处理这些问题:

Bounce debouncer = Bounce();
在setup过程中
	//软消抖
	debouncer.attach(PinSignal);
	debouncer.interval(5); // interval in ms
	pinMode(PinSignal, INPUT_PULLUP);
在void loop()中:
	debouncer.update();
	if (debouncer.rose()) {

	}
	if (debouncer.fell()) {

	}

从实际效果来看,这个库使用起来还是非常令人满意的。

你可能感兴趣的:(Arduino)