【Arduino和高中通用技术】——十一、BF1K-3AA系列电阻式压力应变片、HX711压力传感器和另一种按键去抖动方法
一、壓力應變片
電阻式壓力應變片比一些體重秤上使用的電壓式壓力應變片精度要高,但是成品的壓力模塊往往動輒幾百元而且形態不能滿足我們的各種“奇葩”應用。而這種裸片價格便宜,所以在最近一個小制作中使用了這種應變片,它的缺點也非常明顯:非常脆弱,連接方式度娘也不很清楚。如果你不介意它如此脆弱需要用彈性膠小心固定,那么讓我們一起來看一下正確的使用方式:
1、連接方法:全橋接——四個應變片朝向同一方向,手拉手連接起來,并且每個接頭處引出一根導線,請看下面靈魂圖示:
任意兩個對角引出線接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 <Bounce2.h>這個庫有豐富的接口供我們調用:當前狀態、由高到低、有低到高……是一個功能完備使用簡單的庫。但需要注意的是,使用這個庫時我們不負責附加外部中斷而是在loop函數中處理這些問題:
Bounce debouncer = Bounce(); 在setup過程中//軟消抖debouncer.attach(PinSignal);debouncer.interval(5); // interval in mspinMode(PinSignal, INPUT_PULLUP); 在void loop()中:debouncer.update();if (debouncer.rose()) {}if (debouncer.fell()) {}從實際效果來看,這個庫使用起來還是非常令人滿意的。
總結
以上是生活随笔為你收集整理的【Arduino和高中通用技术】——十一、BF1K-3AA系列电阻式压力应变片、HX711压力传感器和另一种按键去抖动方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java--网络编程(利用UDP实现简单
- 下一篇: lcd屏和amoled屏的优缺点 lcd