정보나눔

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

센서값을 20개씩 받아서 그 중 최대값 출력을 반복시키기
콩zz | 2020-10-08

    

1. 프로젝트 사용한 보드 종류

  아두이노 UNO

 

 

2. 사용한 개발 프로그램명

  아두이노 IDE

 

 

3. 사용한 센서 모델명

  (센서 모델명을 자세하게 적어 주실 경우 더 정확하게 확인할 수 있습니다.)

 33A-L15G-2210 압력센서를 사용하였습니다.

 

4. 연결한 회로 설명 (또는 이미지)

 간단히 Vcc.GNA,Vout만을 연결하였습니다.

 

5. 소스코드 (주석 필수)

double sensorValue;
double y[20];
double PEAK=0;
 

 

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

 

void loop() {
  // put your main code here, to run repeatedly:
MAX_MEASURE();
}

 

void MAX_MEASURE(){
  for (int i=0; i<19; i++){
  sensorValue = analogRead(A5);
  y[i] = sensorValue;  
  if (PEAK < y[i]){
    PEAK = y[i];}
    Serial.println(PEAK);
 }
}

 

 

6. 문제점 및 에러 내용

for 문 사용하여 압력센서값을 20개씩 받아서 20개 중 최대값을 출력해내는 과제를 수행하고 있습니다.

20개를 계속해서 받아서 새로운 최대값을 출력해야하는데 잘되지 않습니다.

어떻게 해결해야될지 알려주시면 감사하겠습니다.

프로필사진

판다마니아 2020-10-14 09:28:24

20번을 받아서 넣은 다음 최댓값을 출력하고 나서는 PEAK값을 초기화 하는 부분이 빠져서 처음 20회는 잘되다가 그 다음부터 결과값이 잘못나오는 것 같습니다.

 

for문으로 20회 반복이 끝난 다음에 PEAK를 0으로 초기화 하는 작업을 해보시면 될 것 같습니다.

이전글   |    아두이노 부저 연결 2020-10-07
다음글   |    초보자용 아두이노 키트 2020-10-21