#define TFT_CS 15
#define TFT_DC 2
#define TFT_MOSI 23
#define TFT_SCLK 18
#include <SPI.h>
#include <TFT_eSPI.h> // Hardware-specific library
TFT_eSPI tft = TFT_eSPI(128,160);
int xpos = 0;
int ypos = 0;
float v = 0;
float c1 = 0;
float c2 = 0;
float c3 = 0;
char buffer[9];
char old_buffer[9];
void setup(void) {
Serial.begin(250000);
tft.begin();
tft.setRotation(1);
tft.fillScreen(TFT_BLACK);
//tft.drawRect(0,0,160,128,TFT_YELLOW);
//tft.drawLine(0,31,160,31,TFT_YELLOW);
tft.fillRoundRect(0,0,160,31,8,TFT_NAVY);
tft.setTextColor(TFT_YELLOW,TFT_NAVY);
tft.setTextDatum(TR_DATUM);
tft.drawString("V",93,11,2); // val curenta
tft.drawString("Ah",150,12,1);
tft.drawString("W",150,22,1);
tft.drawString("12.793",81,5,4); // valoare curenta
tft.drawString("01:20:45",150,2,1);
tft.drawString("10.852",137,12,1);
tft.drawString("0.629",137,22,1);
tft.fillRoundRect(0,32,160,31,8,TFT_RED);
tft.setTextColor(TFT_GREEN,TFT_RED);
tft.setTextDatum(TR_DATUM);
tft.drawString("A",93,43,2);
tft.drawString("Ah",150,44,1);
tft.drawString("W",150,54,1);
tft.drawString("0.793",80,37,4); // val curenta
tft.drawString("01:20:45",150,34,1);
tft.drawString("10.852",137,44,1);
tft.drawString("0.629",137,54,1);
tft.fillRoundRect(0,64,160,31,8,TFT_GREEN);
tft.setTextColor(TFT_BLUE);
tft.setTextDatum(TR_DATUM);
tft.drawString("A",93,75,2);
tft.drawString("Ah",150,76,1);
tft.drawString("W",150,86,1);
tft.drawString("2.793",80,69,4); //val curenta Ch 2
tft.drawString("01:20:45",150,66,1);
tft.drawString("10.852",137,76,1);
tft.drawString("0.629",137,86,1);
tft.fillRoundRect(0,96,160,31,8,TFT_YELLOW);
tft.setTextColor(TFT_RED);
tft.setTextDatum(TR_DATUM);
tft.drawString("A",93,107,2);
tft.drawString("Ah",150,108,1);
tft.drawString("W",150,118,1);
tft.drawString("15.880",80,101,4);
tft.drawString("01:20:45",150,98,1);
tft.drawString("10.852",137,108,1);
tft.drawString("0.629",137,118,1);
}
void loop() {
char buff[7];
//print_INA3221();
tft.setTextColor(TFT_YELLOW,TFT_NAVY);
tft.setTextDatum(TR_DATUM);
tft.drawString("02.384",80,5,4);
tft.setTextColor(TFT_GREEN,TFT_RED);
tft.setTextDatum(TR_DATUM);
tft.drawString("01:22:48",150,34,1);
//tft.drawString("10.246",137,44,1);
dtostrf(10.246, 6, 3, buff);
tft.drawString(buff,137,44,1);
delay(2000);
tft.setTextColor(TFT_YELLOW,TFT_NAVY);
tft.setTextDatum(TR_DATUM);
tft.drawString("05.934",80,5,4);
tft.setTextColor(TFT_GREEN,TFT_RED);
tft.setTextDatum(TR_DATUM);
tft.drawString("01:23:18",150,34,1);
dtostrf(12.553, 6, 3, buff);
tft.drawString(buff,137,44,1);
delay(2000);
tft.setTextColor(TFT_YELLOW,TFT_NAVY);
tft.setTextDatum(TR_DATUM);
tft.drawString("02.172",80,5,4);
tft.setTextColor(TFT_GREEN,TFT_RED);
tft.setTextDatum(TR_DATUM);
tft.drawString("01:24:25",150,34,1);
dtostrf(7.246, 6, 3, buff);
tft.drawString(buff,137,44,1);
delay(2000);
tft.setTextColor(TFT_YELLOW,TFT_NAVY);
tft.setTextDatum(TR_DATUM);
tft.drawString("10.730",80,5,4);
tft.setTextColor(TFT_GREEN,TFT_RED);
tft.setTextDatum(TR_DATUM);
tft.drawString("01:25:12",150,34,1);
delay(2000);
tft.setTextColor(TFT_YELLOW,TFT_NAVY);
tft.setTextDatum(TR_DATUM);
tft.drawString("05.384",80,5,4);
tft.setTextColor(TFT_GREEN,TFT_RED);
tft.setTextDatum(TR_DATUM);
tft.drawString("01:26:10",150,34,1);
delay(2000);
}
void print_INA3221(){
int random_int = random(1000,12630);
float random_float = random_int / 1289;
String v1s = String (random_float,3);
//v1s = v1s + " V";
buffer[7];
//v1s.toCharArray(buffer,10);
// tft.fillRect(20,1,85,22,TFT_NAVY);
dtostrf(random_float, 6, 3, buffer);
xpos = 0;
ypos = 0;
// tft.setTextColor(TFT_YELLOW);
// tft.setTextDatum(TR_DATUM);
// tft.drawString(buffer,xpos+90,ypos+1,4);
}