Include the Library Code

Total Page:16

File Type:pdf, Size:1020Kb

Include the Library Code

LISTING PROGRAM

// include the library code: #include

#define charging A0 #define discharge A1 const int numReadings = 20; int readings[numReadings]; // the readings from the analog input int readIndex = 0; // the index of the current reading int total = 0; // the running total int average = 0; // the average

// initialize the library with the numbers of the interface pins LiquidCrystal lcd(7, 6, 5, 4, 3, 2); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); Serial.begin(9600);

for (int thisReading = 0; thisReading < numReadings; thisReading++) readings[thisReading] = 0; } void loop() { int a = analogRead(charging);

// subtract the last reading: total = total - readings[readIndex]; // read from the sensor: readings[readIndex] = analogRead(discharge); // add the reading to the total: total = total + readings[readIndex]; // advance to the next position in the array: readIndex = readIndex + 1;

// if we're at the end of the array... if (readIndex >= numReadings) { // ...wrap around to the beginning: readIndex = 0; }

// calculate the average: average = total / numReadings; // send it to the computer as ASCII digits Serial.println(average);

delay(1); // delay in between reads for stability

1 2

int tegangan = average * 4.88;

Serial.print("Tegangan Baterai terbaca = "); Serial.print(tegangan); Serial.println("mV "); Serial.println(); Serial.println(); Serial.println();

// 1 cacahan = 0.0048 // 3 volt = 625 cacahan // 4.2 volt = 875 cacahan // rumus (875 - 625) * 0.4 = 100%

// Overcharging & surge protection 4.1 volt = 854 cacahan // rumus (854-625) * 0.43 = 100%

int keluar = (average - 625)*0.43;

if (a >= 204) { lcd.setCursor(3, 0); lcd.print("POWERBANK"); lcd.setCursor(0, 1); lcd.print("Charging= "); lcd.print(keluar); lcd.print("% "); delay(2000);

lcd.setCursor(0, 1); lcd.print("Teg Batt= "); lcd.print(tegangan); lcd.print("mV"); delay(2000); }

else { lcd.setCursor(3, 0); lcd.print("POWERBANK"); lcd.setCursor(0, 1); lcd.print("Discharge= "); lcd.print(keluar); lcd.print("% "); delay(2000);

lcd.setCursor(0, 1); lcd.print("Teg Batt= "); lcd.print(tegangan); lcd.print("mV"); delay(2000); }

delay(500); lcd.clear();

}

2

Recommended publications