Advertisement
Guest User

Untitled

a guest
Mar 17th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.62 KB | None | 0 0
  1. float get_current(int mode)
  2. {
  3.   int input;
  4.   switch (mode){
  5.     case 1:input=A1; break;
  6.     case 2:input=A2; break;
  7.     case 3:input=A3;break;
  8. }
  9.   float voltageSensor;
  10.   float current=0;
  11.   float sum=0;
  12.   long waktu = millis();
  13.   int N=0;
  14.   while(millis()-waktu<500)//Durasi 0,5 detik (Sekitar 30 siklus 60Hz)
  15.   {
  16.     voltageSensor = analogRead(input) * (1.1 / 1023.0);//voltage sensor
  17.     current=voltageSensor*30.0;
  18.     sum=sum+sq(current);//jumlah kuadrat
  19.     N=N+1;
  20.     delay(1);
  21.   }
  22.   sum=sum*2;//Untuk mengimbangi kuadrat setengah siklus negatif.
  23.   current=sqrt((sum)/N); //persamaan RMS
  24.  return(current);
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement