정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

전류센서 값 평균값 질문입니다,
kcy951 | 2017-07-12

int Relaypin4 = 7;   

const int analogIn = A1;

float mVperAmp = 66;   // use 100 for 20A Module and 66 for 30A Module

int Count = 0;

double ACSoffset = 2500.0;  

double Voltage = 0, Voltage_re = 0;

double mAmps = 0, mAmps_re = 0, mA = 0;

double Factor = 48.8;  // count = 1024/Vcc *(Vcc/2 + 0.1*i)

 


void setup(){

 Serial.begin(9600);
 
 pinMode(Relaypin4,OUTPUT);  
}

 


void loop(){

 

 Count = analogRead(analogIn);

 
 
 
 
 
 Voltage = (Count / 1024.0) * 5000.0; // Gets you mV


 mAmps = (Voltage - ACSoffset) / mVperAmp;

 mA = Factor * (Count - 512);

 
 Serial.print("ADC Value = " ); // shows pre-scaled value

 Serial.print(Count);

 Serial.print("\t / mV = "); // shows the voltage measured

 Serial.print(Voltage,2); // the '2' after voltage allows you to display 2 digits after decimal point


 Serial.print("\t / mAmps = "); // shows the voltage measured

 Serial.print(mAmps,2); // the '2' after voltage allows you to display 2 digits after decimal point


 Serial.print("\t / mA = "); // shows the voltage measured

 Serial.println(mA,2); // the '2' after voltage allows you to display 2 digits after decimal point

 

 

  while(1){
  if(abs(mA)<=100)
  {
  digitalWrite (Relaypin4, LOW); // 릴레이 ON
    break;
  }
  if(abs(mA)>100)
  {
  digitalWrite (Relaypin4, HIGH); // 릴레이 OFF
  break;
  }
  if(abs(mA)==0.00)
  {
  digitalWrite (Relaypin4, HIGH); // 릴레이 OFF
  break;
  }
}
 delay(5000);

}


위와 같이 전류센서로 값을 받아서 출력하려는데 전류의 값을 100번 평균으로 하고 싶은데 방법을 잘 모르겠네요..ㅠㅠ

알려주시면 감사하겠습니다.

이전글   |    아두이노 질문 2017-07-11
다음글   |    오렌지BLE 블루투스 버젼 확인 방법 2017-07-12