Librería CS1238 para ArduinoDesarrollada para aplicaciones de pesaje industrial y análisis dinámico de vibraciones.Esta librería permite una comunicación completa con el ADC de 24 bits CS1238, optimizando la captura de datos de alta precisión y la configuración avanzada de registros (Ganancia, Sample Rate y Canales).🚀 CaracterísticasAlta Velocidad: Soporte nativo para tasas de muestreo de hasta 1.28 kHz.
Control Total: Configuración de ganancia (hasta x128) y selección de canales (A, B, Temperatura y Cortocircuito Interno).
Filtros Digitales Integrados: Incluye
Media Móvil,
Filtro de Mediana (para ruido impulsivo)
EMA (Media Móvil Exponencial).
Gestión de Energía: Funciones de powerDown() y powerUp() para ahorro de batería.
🛠️ Conexión FísicaPin CS1238 Pin Arduino (Ejemplo) Descripción VCC5V / 3.3V Alimentación GND GND Tierra SCLK A1 Reloj (Clock)DRDY/ADCO A0 Datos / Listo
💻 Ejemplo de Uso RápidoC++#include <CS1238.h>
// Inicializar con pines (Data, Clock) CS1238 adc(A0, A1);
void setup() { Serial.begin(115200); adc.begin();
// Configuración optimizada para celdas de carga
adc.setGain128(); // Ganancia máxima
adc.setRate40Hz(); // Velocidad estable para pesaje
adc.selectChannelA(); // Usar canal principal
adc.tare(); // Calibración de cero inicial
}
void loop() { float peso = adc.getUnits(10); // Obtener promedio de 10 lecturas Serial.print("Peso: "); Serial.println(peso); }
📊 Configuración de Velocidades (SPS) Basado en el datasheet del CS1238: setRate10Hz(): Máxima precisión, ideal para básculas estáticas. setRate40Hz(): Equilibrio entre velocidad y ruido. setRate640Hz(): Análisis dinámico .setRate1280Hz(): Captura de transitorios rápidos (Vibraciones).
🔍 Funciones Especiales Autodiagnóstico (Short Circuit) La librería permite poner las entradas en corto internamente para medir el ruido base del sistema sin necesidad de desconectar la celda de carga: adc.selectInternalShort(); long ruidoBase = adc.readAverage(20);
📝 LicenciaEste proyecto es de código abierto. Si lo usas en un proyecto académico o comercial, ¡se agradece el crédito!