HI
I know its very basic but I am having trouble to print output,I wonder if anybody help me out
What I am trying to do is
getting input from AC main(230V 50hz) to ACS712--->Arduino
getting ac voltage signal from voltage divider and giving to arduino
after that trying print to Irms and Vrms but lcd does not print anything
Do I have problem with code or circuit ???(i have attached both code and circuit)
code:#include <math.h>
#include <stdlib.h>
#include <EEPROM.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(9, 8, 3, 2, 1, 0);
//ADC values and functions initialization
int adc_read(int ch);
int adc;
int adc2;
unsigned char buf[10];
float vrms=0;
int adc_int[41];
int adc_int2[41];
int i=0,max1=0;
int max2=0;
int sum;
int last_val;
int last_val2;
int sum2;
int irms;
void setup(){
// Declare your local variables here
Serial.begin(9600);
}
void loop(){
for(i=0; i<=39; i++){
adc_int = analogRead(A0); *
adc_int2 = analogRead(A1);
_ }_
max1=adc_int[0];
max2=adc_int2[0];
_ for(i=0; i<=39; i++){_
last_val=max1;
last_val2=max2;
if(max1<adc_int && max2<adc_int2)
{ max1=adc_int;
max2=adc_int2;
sum=last_val+adc_int;
sum2=last_val2+adc_int2;
_ }
sum=sum/40;
sum2=sum2/40;
adc=sum;
adc2=sum2;
//itoa(max1,buf[10]);
//itoa(max2,buf[10]);*_
_ vrms = (float)(adc* 0.2744140625); // 280/1024_
_ irms=(float)(adc2* 0.2744140625);
* adc = (int)vrms;
adc2=(int)irms;
EEPROM.write(0, vrms);
EEPROM.write(1, irms);
Serial.println(adc);
Serial.println(adc2);
//itoa(adc,buf[10]);
//itoa(adc2,buf[10]);_
//lcd_gotoxy(1,2);
_ lcd.begin(16,2);
lcd.setCursor(1,0);
//lcd.print("adc2");
lcd.print(adc2);
delay(1000);
lcd.clear();
delay(100);
lcd.setCursor(0,1);
//lcd.print("adc");
lcd.print(adc);
delay(1000);_
sharukh__Vrms_Irms_storgae.ino (1.65 KB)
_*_