quería utilizar HX711 adc independiente de 24 bits para medir el rango de voltaje de 2mv - 20mv. El problema es:
-
No puedo interpretar las lecturas de adc ya que están en el complemento de 2.
-
¿Qué debo hacer en mi código (código a continuación) para que imprima voltajes no valores decimales?
Probé con diferentes valores de voltajes (compartidos a continuación), y estoy totalmente confundido con las lecturas que recibo. No sé cómo convertir estos valores en voltaje. ¿Cuál es la lógica detrás? ¡Por favor ayuda!
Lecturas:
0mv --- 5219,
1.1mv --- 5095,
2.3mv --- 4981,
2.5mv --- 4960,
2.9mv --- 4918,
5mv --- 4693,
10.6mv --- 4075,
15.1mv --- 3597,
22.7mv --- 2700,
40.7mv --- 562,
5volts --- -8388608,
-5volts --- -8388607.
La placa es arduino leonardo, y se utiliza un divisor de voltaje simple para la generación de voltaje (solo para pruebas).
Se utiliza una biblioteca bogde / HX711: enlace Código:
/#include "HX711.h"
/#define DOUT 3
/#define CLK 2
HX711 scale(DOUT, CLK);
void setup() {
Serial.begin(115200);
}
void loop() {
long avg = scale.get_value(60);
Serial.print("Digital Code = ");
Serial.println(avg);
}