From db18e2075573d7e53697688f065ad6b068c22c24 Mon Sep 17 00:00:00 2001 From: Eric Date: Sun, 7 Feb 2021 23:06:16 -0800 Subject: [PATCH] =?UTF-8?q?ESP32TTGO=20-=20Battery=20Indicator=20?= =?UTF-8?q?=F0=9F=94=8B=E2=9A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TTGO_Battery_Indicator.ino | 111 ++++++++++++++++++ .../data/battery_01.jpg | Bin 0 -> 15707 bytes .../data/battery_02.jpg | Bin 0 -> 16168 bytes .../data/battery_03.jpg | Bin 0 -> 17089 bytes .../data/battery_04.jpg | Bin 0 -> 17471 bytes .../data/battery_05.jpg | Bin 0 -> 18035 bytes 6 files changed, 111 insertions(+) create mode 100644 ESP32_TTGO/TTGO_Battery_Indicator/TTGO_Battery_Indicator.ino create mode 100644 ESP32_TTGO/TTGO_Battery_Indicator/data/battery_01.jpg create mode 100644 ESP32_TTGO/TTGO_Battery_Indicator/data/battery_02.jpg create mode 100644 ESP32_TTGO/TTGO_Battery_Indicator/data/battery_03.jpg create mode 100644 ESP32_TTGO/TTGO_Battery_Indicator/data/battery_04.jpg create mode 100644 ESP32_TTGO/TTGO_Battery_Indicator/data/battery_05.jpg diff --git a/ESP32_TTGO/TTGO_Battery_Indicator/TTGO_Battery_Indicator.ino b/ESP32_TTGO/TTGO_Battery_Indicator/TTGO_Battery_Indicator.ino new file mode 100644 index 0000000..9337a61 --- /dev/null +++ b/ESP32_TTGO/TTGO_Battery_Indicator/TTGO_Battery_Indicator.ino @@ -0,0 +1,111 @@ +#include +#include "SPIFFS.h" +#include +#include +TFT_eSPI tft = TFT_eSPI(); + +#define ICON_WIDTH 70 +#define ICON_HEIGHT 36 +#define STATUS_HEIGHT_BAR ICON_HEIGHT +#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) +#define ICON_POS_X (tft.width() - ICON_WIDTH) + +#define MIN_USB_VOL 4.9 +#define ADC_PIN 34 +#define CONV_FACTOR 1.8 +#define READS 20 + +Pangodream_18650_CL BL(ADC_PIN, CONV_FACTOR, READS); +char *batteryImages[] = {"/battery_01.jpg", "/battery_02.jpg", "/battery_03.jpg", "/battery_04.jpg", "/battery_05.jpg"}; + +void setup() { + Serial.begin(115200); + pinoutInit(); + SPIFFSInit(); + displayInit(); + xTaskCreate(battery_info, "battery_info", 2048, NULL, 1, NULL); +} + +void loop() { +} + +void pinoutInit(){ + pinMode(14, OUTPUT); + digitalWrite(14, HIGH); +} + +void SPIFFSInit(){ + if (!SPIFFS.begin()) { + Serial.println("SPIFFS initialisation failed!"); + while (1) yield(); // Stay here twiddling thumbs waiting + } + Serial.println("\r\nInitialisation done."); +} + +void displayInit(){ + tft.begin(); + tft.setRotation(1); + tft.setTextColor(TFT_WHITE,TFT_BLACK); + tft.fillScreen(TFT_BLACK); + tft.setSwapBytes(true); + tft.setTextFont(2); + TJpgDec.setJpgScale(1); + TJpgDec.setCallback(tft_output); +} + +void battery_info(void *arg) +{ + while (1) { + tft.setCursor (0, STATUS_HEIGHT_BAR); + tft.println(""); + tft.print("Average value from pin: "); + tft.println(BL.pinRead()); + tft.print("Volts: "); + tft.println(BL.getBatteryVolts()); + tft.print("Charge level: "); + tft.println(BL.getBatteryChargeLevel()); + + if(BL.getBatteryVolts() >= MIN_USB_VOL){ + for(int i=0; i< ARRAY_SIZE(batteryImages); i++){ + drawingBatteryIcon(batteryImages[i]); + drawingText("Chrg"); + vTaskDelay(500); + } + }else{ + int imgNum = 0; + int batteryLevel = BL.getBatteryChargeLevel(); + if(batteryLevel >=80){ + imgNum = 3; + }else if(batteryLevel < 80 && batteryLevel >= 50 ){ + imgNum = 2; + }else if(batteryLevel < 50 && batteryLevel >= 20 ){ + imgNum = 1; + }else if(batteryLevel < 20 ){ + imgNum = 0; + } + + drawingBatteryIcon(batteryImages[imgNum]); + drawingText(String(batteryLevel) + "%"); + vTaskDelay(1000); + } + tft.print("Never Used Stack Size: "); + tft.println(uxTaskGetStackHighWaterMark(NULL)); + } +} + +void drawingBatteryIcon(String filePath){ + TJpgDec.drawFsJpg(ICON_POS_X, 0, filePath); +} + +void drawingText(String text){ + tft.fillRect(0, 0, ICON_POS_X, ICON_HEIGHT,TFT_BLACK); + tft.setTextDatum(5); + tft.drawString(text, ICON_POS_X-2, STATUS_HEIGHT_BAR/2, 4); +} + +bool tft_output(int16_t x, int16_t y, uint16_t w, uint16_t h, uint16_t* bitmap) +{ + if ( y >= tft.height() ) return 0; + tft.pushImage(x, y, w, h, bitmap); + return 1; +} diff --git a/ESP32_TTGO/TTGO_Battery_Indicator/data/battery_01.jpg b/ESP32_TTGO/TTGO_Battery_Indicator/data/battery_01.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fa6678f4056aa05e52656d50622ae4f09417f0f8 GIT binary patch literal 15707 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 B9*O_} literal 0 HcmV?d00001 diff --git a/ESP32_TTGO/TTGO_Battery_Indicator/data/battery_02.jpg b/ESP32_TTGO/TTGO_Battery_Indicator/data/battery_02.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b7fa803c35d4510f172107450b6db20b18081937 GIT binary patch literal 16168 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 literal 0 HcmV?d00001 diff --git a/ESP32_TTGO/TTGO_Battery_Indicator/data/battery_03.jpg b/ESP32_TTGO/TTGO_Battery_Indicator/data/battery_03.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1d1fdb1d25862cf237eca31d9c7ca9e4a247ef54 GIT binary patch literal 17089 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 MNLM&pFbk~uUsra~Pyhe` literal 0 HcmV?d00001 diff --git a/ESP32_TTGO/TTGO_Battery_Indicator/data/battery_04.jpg b/ESP32_TTGO/TTGO_Battery_Indicator/data/battery_04.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2bf8185351c8eae8763692f2aaac0c08874f66f7 GIT binary patch literal 17471 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 a%5E9#5*$4E?IWB#-ogr0&F8IsYyTHWmap{y literal 0 HcmV?d00001 diff --git a/ESP32_TTGO/TTGO_Battery_Indicator/data/battery_05.jpg b/ESP32_TTGO/TTGO_Battery_Indicator/data/battery_05.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0689e8316789d99991d194a06f20fdc2130c3bed GIT binary patch literal 18035 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 i1x+T;Ol7sDFxn>vI3`bj@0w&npFja>R