정보나눔

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

센서값을 받아 평균값 계산
일병몽구스 | 2017-04-27

제가 구현하려는것은 QA3040P이라는 압력센서를 이용해서

 

처음 아두이노에 전원이 들어왔을때 약 2분간 압력센서 값들의 평균을 보여주고

 

그 다음부터 0.1초 간격으로 압력센서값을 보여주려고 합니다.

 

void setup() {
  Serial.begin(9600);
}

void loop() {
  
  int a = analogRead(A0); // 아날로그 0번핀에 연결된 압력센서의 값을 측정합니다.
  boolean b = 0;
  int sum = 0; // 합
  int ave = 0; // 평균
  if(!b) {
    for(int i =0; i<1200; i++) // 1200번 반복 1200*0.1 = 120(2분)
    {
      sum = sum + a; // SUM에 압력센서값 더하기
      delay(100); // 0.1초 지연
    }
  ave = sum/1200;  // 평균값 구하기
  Serial.print("Average : "); // 평균값 모니터에 표시
  Serial.println(ave); 
  }
  Serial.println(a);
  delay(100);        // 0.1초마다 압력센서 값 출력
}

 

이렇게 했습니다. 제가원하는건 시리얼모니터에 처음 2분간 평균값을 한번 보여주고

그다음부터는 0.1초 간격으로 측정한 압력센서값을 표시해주고 싶은데 

위와 같이 하면

평균값 : ----

-----

이렇게 반복되더라고요

loop안에서 평균값 계산하는 부분을 한번만 실행하게 할 순 없나요?

이전글   |    오렌지보드끼리 랜 연결으로 통신이 가능한가요??? ... 2017-04-27
다음글   |    오렌지보드BLE는 Advertising 할수는 없는건가요?... 2017-04-28