정보나눔

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

아두이노 아날로그 센서 시리얼 플로터로 나타내는 방법 질문드립니다..
조인오 | 2016-09-19

아래는 제 스케치인데요, 친구가 이렇게 나타내면 플로터가 표시가 될 거라고 하는데 막상 적용해보니 플로터가 나타나질 않네요.. 중간에  rms 계산식은 무시하고, 플로터를 나타내려면 어떻게 해야 하나요? 다들 println 쓰시던데..

#define pin0 A0
#define pin1 A1
#define pin2 A2
#define pin3 A3
#define pin4 A4
double value0 = 0;
double value1 = 0;
double value2 = 0;
double value3 = 0;
double value4 = 0;
int rmsArray0[51];
int rmsArray1[51];
int rmsArray2[51];
int rmsArray3[51];
int rmsArray4[51];
double result0;
double result1;
double result2;
double result3;
double result4;
int N = 50;
int counter = 0;
void setup() {
  Serial.begin(9600);
}
void loop() {
  value0 = analogRead(pin0);
  value1 = analogRead(pin1);
  value2 = analogRead(pin2);
  value3 = analogRead(pin3);
  value4 = analogRead(pin4);
 
  if (counter++ < N) {
    rmsArray0[counter] = value0 - 503.70;
    rmsArray1[counter] = value1 - 487.70;
    rmsArray2[counter] = value2 - 487.70;
    rmsArray3[counter] = value3 - 487.70;
    rmsArray4[counter] = value4 - 487.70;
 
  }
  else {
    counter = 0;
    result0 = 0;
    result1 = 0;
    result2 = 0;
    result3 = 0;
    result4 = 0;
 
    for (int i = 0; i < N; i++) {
      result0 += pow(rmsArray0[i], 2);
      result1 += pow(rmsArray1[i], 2);
      result2 += pow(rmsArray2[i], 2);
      result3 += pow(rmsArray3[i], 2);
      result4 += pow(rmsArray4[i], 2);
 
    }
    result0 /= N;
    result1 /= N;
    result2 /= N;
    result3 /= N;
    result4 /= N;
 
    result0 = sqrt(result0);
    result1 = sqrt(result1);
    result2 = sqrt(result2);
    result3 = sqrt(result3);
    result4 = sqrt(result4);
 
    Serial.print(" A0= ");
    Serial.print(",");
    Serial.print(" A1= ");
    Serial.print(",");
    Serial.print(" A2= ");
    Serial.print(",");
    Serial.print(" A3= ");
    Serial.print(",");
    Serial.println(" A4= ");
  }
}
이전글   |    uart 통신 질문드려요 2016-09-19
다음글   |    cc3000 으로 AES 암호화 걸린 와이파이 연결 질문... 2016-09-20