CIRCUIT
ACS712 CURRENT SENSOR OUTPUT
CURRENT AND VOLTAGE WAVES AT THE OUTPUT OF COMPARATOR
CURRENT AND VOLTAGE WAVES AT THE OUTPUT OF COMPARATOR
OUTPUT OF HIGH PASS FILTER
OUTPUT OF INSTRUMENATION AMPLIFIER INA122
VOLTAGE AND CURRENT INPUT
VOLTAGE AND XOR GATE OUT
VOLTAGE OR CURRENT INPUT AND OUTPUT
PROGRAM
int x,y,r=0;
float z;//time,angle,pf,radians,pf2 relay
#define echoPin 11 // Echo Pin
#define pf1 9
#define pf2 9
//#define overvoltrelay A3
#include <LiquidCrystal.h>
LiquidCrystal lcd(3, 4, 5, 6, 7, 8);//LCD RS-12,En-11,D4-5,D5- 4,D6-3,D7-2,
void setup()
{
relayinit();
// Serial.begin (9600);
usinit();
lcdstart();
digitalWrite(pf1,LOW);
}
void loop()
{
uscheck();
//voltagecheck();
}
/*void voltagecheck(void)
{
int f=analogRead(A0);
if(f>480)digitalWrite(overvoltrelay,HIGH);
else digitalWrite(overvoltrelay,LOW);
lcd.setCursor(0, 0);
lcd.print(“volt=”);
int v=f/2;
lcd.print(v);}
*/
void usinit(void)
{
pinMode(echoPin, INPUT);
}
void uscheck(void)
{
x = pulseIn(echoPin,LOW);//reads duartion pulse in Microseconds
y = (x*9)/1000;
z=cos(y*0.01745);
//if (y>10 && r==1)digitalWrite(pf2,HIGH);else digitalWrite(pf2,LOW);
if(y>10 && r==0){digitalWrite(pf1,HIGH);r=1;}
else if (r==1 && y>10){digitalWrite(pf1,LOW); r=0;}
if(x>500)
{
delay(500);
lcd.setCursor(0, 1);
lcd.print(“PF=”);
lcd.print(z);
}
}
void relayinit(void)
{
pinMode(pf1,OUTPUT);
pinMode(pf2,OUTPUT);
// pinMode(overvoltrelay,OUTPUT);
}
void lcdstart(void)
{
lcd.begin(16, 2);// set up the LCD’s number of columns and rows:
//lcd.print(“welcome”);// Print a message to the LCD.
//delay(500);
lcd.clear();
}