界面实现,然后称重还有问题,灯改为手动控制
This commit is contained in:
61
components/sgm8031_use/include/sgm8031_use.h
Normal file
61
components/sgm8031_use/include/sgm8031_use.h
Normal file
@@ -0,0 +1,61 @@
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <esp_err.h>
|
||||
|
||||
/**
|
||||
* @brief 数据结构体:存放重量和电压值
|
||||
*/
|
||||
typedef struct {
|
||||
float weight; // 校准后的重量值
|
||||
} scale_data_t;
|
||||
|
||||
/**
|
||||
* @brief 初始化 SGM58031 ADC 以及 I2C 设备
|
||||
*
|
||||
* @param i2c_port I2C外设端口号(通常为 0)
|
||||
* @param sda_pin SDA 引脚号
|
||||
* @param scl_pin SCL 引脚号
|
||||
* @return esp_err_t 初始化结果
|
||||
*/
|
||||
esp_err_t sgm8031_use_init(int i2c_port, int sda_pin, int scl_pin);
|
||||
|
||||
/**
|
||||
* @brief 触发单次转换并读取此时的重量和电压值
|
||||
*
|
||||
* @param out_data 读取到的数据将会存放到这边
|
||||
* @return esp_err_t
|
||||
*/
|
||||
esp_err_t sgm8031_use_read_data(scale_data_t *out_data);
|
||||
|
||||
/**
|
||||
* @brief 去皮(空载归零)
|
||||
* 调用时保证秤面没有物品,系统会读取多次后均值认定为现在的零点基准值。
|
||||
*
|
||||
* @return esp_err_t
|
||||
*/
|
||||
esp_err_t sgm8031_use_tare(void);
|
||||
|
||||
/**
|
||||
* @brief 设置称重传感器的校准系数(即:实际重量 / ADC变化量)
|
||||
*
|
||||
* @param factor 浮点校准系数
|
||||
*/
|
||||
void sgm8031_use_set_calibration_factor(float factor);
|
||||
|
||||
|
||||
/**
|
||||
* @brief (调试用)直接读取最原始的差分 ADC 值
|
||||
*
|
||||
* @param raw_out 输出的原始ADC整数值
|
||||
* @return esp_err_t
|
||||
*/
|
||||
esp_err_t sgm8031_use_read_raw_weight(int16_t *raw_out);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user