Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- float get_current(int mode)
- {
- int input;
- switch (mode){
- case 1:input=A1; break;
- case 2:input=A2; break;
- case 3:input=A3;break;
- }
- float voltageSensor;
- float current=0;
- float sum=0;
- long waktu = millis();
- int N=0;
- while(millis()-waktu<500)//Durasi 0,5 detik (Sekitar 30 siklus 60Hz)
- {
- voltageSensor = analogRead(input) * (1.1 / 1023.0);//voltage sensor
- current=voltageSensor*30.0;
- sum=sum+sq(current);//jumlah kuadrat
- N=N+1;
- delay(1);
- }
- sum=sum*2;//Untuk mengimbangi kuadrat setengah siklus negatif.
- current=sqrt((sum)/N); //persamaan RMS
- return(current);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement