Code Before
Code Before
h>
#include <SD.h>
#include <LiquidCrystal.h>
#include <LiquidCrystal_I2C.h>
#include "ACS712.h"
double sensorValue1 = 0;
int crosscount = 0;
int climb_flag = 0;
int val[100];
int max_v = 0;
double VmaxD = 0;
double VeffD = 0;
double Veff = 0;
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
// lcd.setCursor(0, 0);
lcd.setCursor(0, 1);
lcd.print("Voltage Current");
delay(500);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Voltage Current");
lcd.setCursor(3, 1);
lcd.print("Sensor");
delay(3000);
lcd.clear();
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
Serial.print("Initializing SD card...");
// see if the card is present and can be initialized:
if (!SD.begin(chipSelect)) {
return;
Serial.println("card initialized.");
void loop() {
float I = abs(sensor.getCurrentAC());
voltage_setup();
Serial.print("Voltage: ");
lcd.setCursor(10,1);
lcd.print("I:");
lcd.setCursor(12,1);
lcd.print(I);
// lcd.setCursor(14,0);
// lcd.print("A");
if(Veff>35)
{
Serial.println(Veff+35.75);
Serial.println(",");
lcd.setCursor(0,1);
lcd.print("V: ");
lcd.setCursor(3,1);
lcd.print(VeffLCD);
else{
Serial.println("0.00");
Serial.println(",");
lcd.setCursor(0,1);
lcd.print("V: 0.00");
if (I<0.55)
lcd.setCursor(10,1);
lcd.print("I:");
lcd.setCursor(12,1);
lcd.print(I);
else
lcd.print("I:");
lcd.setCursor(12,1);
lcd.print(I);
delay(100);
float AV = (Veff*I);
lcd.setCursor(0,0);
lcd.print("Power = ");
lcd.setCursor(7,0);
lcd.print(AV);
delay(100);
dataString += String(sensor);
if (analogPin < 2) {
dataString += ",";
}
// open the file. note that only one file can be open at a time,
if (dataFile) {
dataFile.println(AV);
dataFile.close();
Serial.println(AV);
else {
VmaxD = 0;
delay(100);
void voltage_setup()
val[i] = sensorValue1;
else {
val[i] = 0;
delay(1);
max_v = 0;
max_v = val[i];
val[i] = 0;
if (max_v != 0) {
VmaxD = max_v;
else {
Veff = 0;
}
}