From af8391a28613a98d8bf0af94f9aff7b0197b00bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomislav=20Kopi=C4=87?= Date: Tue, 16 Sep 2025 17:26:07 +0200 Subject: [PATCH] Add new STL file, update 3 button case, add battery meter functions --- hardware/case/SmartCube_Body_3_button.stl | Bin 73484 -> 76284 bytes hardware/case/SmartCube_Front_No_Holes.stl | Bin 0 -> 59184 bytes src/SmartCube/cubeBattery.h | 22 +++++++++++++++++++++ 3 files changed, 22 insertions(+) create mode 100644 hardware/case/SmartCube_Front_No_Holes.stl create mode 100644 src/SmartCube/cubeBattery.h diff --git a/hardware/case/SmartCube_Body_3_button.stl b/hardware/case/SmartCube_Body_3_button.stl index 55f4e5f9a45ac0b9b8fc5e13b4d705c375167531..7a5b693635c1b4cd4a7e5a6de3252543423091e1 100644 GIT binary patch literal 76284 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

LInAXYow1Bg_cBJEEw%j% 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 literal 73484 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 O4?$+SvxZI5_WuDS1hd%y literal 0 HcmV?d00001 diff --git a/src/SmartCube/cubeBattery.h b/src/SmartCube/cubeBattery.h new file mode 100644 index 0000000..e89e3c8 --- /dev/null +++ b/src/SmartCube/cubeBattery.h @@ -0,0 +1,22 @@ +#define ADC_PIN A0 // ESP8266 ADC pin + +// Tuneable min and max battery voltages +float VOLTAGE_MAX = 4.2; // Full battery voltage +float VOLTAGE_MIN = 3.0; // Empty battery voltage + +const float R1 = 220000.0; // 220k ohms +const float R2 = 56000.0; // 56k ohms +const float ADC_MAX = 1023.0; // 10-bit ADC resolution +const float V_REF = 1.0; // ESP8266 ADC reference voltage + +float readBatteryVoltage() { + int rawADC = analogRead(ADC_PIN); + float voltage = (rawADC / ADC_MAX) * V_REF; + return voltage * (R1 + R2) / R2; // Scale to actual battery voltage +} + +int batteryPercentage(float voltage) { + if (voltage >= VOLTAGE_MAX) return 100; + if (voltage <= VOLTAGE_MIN) return 0; + return (voltage - VOLTAGE_MIN) * 100 / (VOLTAGE_MAX - VOLTAGE_MIN); // Linear mapping +}