我正在使用Arduino Nano与HX711刻度模块和cc2541蓝牙模块(蓝牙4.0)来发送数据到安卓设备。
#define RX 11
#define TX 10
#include "HX711.h"
HX711 scale(A1, A0);
float scale_calibration = -13.5;
float mass,massround;
float units;
int out;
#include <SoftwareSerial.h>
SoftwareSerial bluetooth(TX, RX);
void setup()
{
bluetooth.begin(9600);
scale.set_scale();
scale.tare();
scale.set_scale(scale_calibration);
}
void loop()
{
for(int i = 0;i < 10; i ++) units =+ scale.get_units(), 1;
units / 10;
mass = units * 0.035274;
massround=mass;
out = round(massround);
out = abs(out);
if(out<0)
{
out=0;
scale.tare();
}
bluetooth.println(out);
}如果我使用连接到PC的USB运行Arduino,刻度就可以完美地工作,并通过蓝牙给出正确的结果。然而,当我使用电池运行Arduino (没有连接到PC)时,我得到0-3克值,而天平上没有任何东西。因此,所有的测量都是不正确的。我如何解决这个问题?
发布于 2019-02-02 07:45:41
当你的Arduino是从USB供电时,它和HX711可能都有VCC和VDD为+5伏,使‘参考’电压(VDD)为5伏。当电池耗尽时,硬件接收~3V电压,如果VCC和VDD在HX711上一起短路,它可能会“工作”,但会给出虚假的结果。
可能会有跳线或桥接器来设置arduino和测压元件上的VCC和VDD。注意!我只是在这里猜测,并确保在更改电压设置之前阅读技术文档,很容易通过电压的微小变化来烹调这些小电路。
这可能更好地在硬件或电气工程渠道中询问。
https://stackoverflow.com/questions/54426661
复制相似问题