Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

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!

About

librería de control del integrado cs1238 / CS1238 integrated circuit control library

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages